inclhack.def (aix_syswait, [...]): Remove.

fixincludes:
	* inclhack.def (aix_syswait, exception_structure,
	pthread_page_size): Remove.
	(math_exception): Remove mention of fixproto in comment.
	* fixincl.x: Regenerate.
	* mkheaders.in: Do not handle STMP_FIXPROTO.

gcc:
	* config/arm/t-arm-coff, config/h8300/coff.h,
	config/i386/i386-aout.h, config/i386/i386-coff.h,
	config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
	config/pdp11/2bsd.h, config/rs6000/aix41.h,
	config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
	fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
	scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
	sys-types.h: Remove.
	* Makefile.in: Remove protoize and fixproto support and references
	in comments.
	(SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
	Remove.
	(ALL_HOST_OBJS): Remove $(PROTO_OBJS).
	(MOSTLYCLEANFILES): Remove protoize$(exeext) and
	unprotoize$(exeext).
	(rest.encap): Don't depend on $(STMP_FIXPROTO)
	(.PHONY): Don't depend on proto.
	(libgcc-support): Don't depend on $(STMP_FIXPROTO).
	(proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
	protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
	deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
	build/gen-protos.o, build/scan.o, xsys-protos.h,
	build/fix-header$(build_exeext), build/fix-header.o,
	build/scan-decls.o, fixhdr.ready, stmp-fixproto,
	stmp-install-fixproto): Remove.
	(mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
	SYSCALLS.c or fixproto files.
	(install-common): Don't install protoize.
	(install-headers-tar, install-headers-cpio, install-headers-cp):
	Don't depend on $(STMP_FIXPROTO).
	(install-mkheaders): Don't depend on $(STMP_FIXPROTO).  Don't
	install fixproto files or write out fixproto settings.
	(uninstall): Don't uninstall protoize.
	* config.gcc (use_fixproto): Remove.
	(arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
	i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
	rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
	* config/m32r/t-linux (STMP_FIXPROTO): Remove.
	* config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
	* config/mips/t-iris (FIXPROTO_DEFINES): Remove.
	* config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
	* config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
	* config/t-svr4 (FIXPROTO_DEFINES): Remove.
	* config/t-vxworks (STMP_FIXPROTO): Remove.
	* configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
	STMP_FIXPROTO): Remove.
	* config.in, configure: Regenerate.
	* crtstuff.c (gid_t, uid_t): Don't undefine.
	* doc/install.texi: Change m68k-coff to m68k-elf in example.
	(arm-*-coff, arm-*-aout: Remove target entries.
	(*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
	Remove mention of AIX 4.1.
	(m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
	* doc/invoke.texi (Running Protoize): Remove.
	* doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
	(Protoize Caveats): Remove.
	* tsystem.h: Update comments on headers assumed to exist.

gcc/po:
	* EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
	scan.h): Remove.

gcc/testsuite:
	* g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C,
	gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special
	options for removed targets.

libgcc:
	* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
	armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
	m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
	powerpc-ibm-aix4.[12]*, sh-*-*): Remove.

From-SVN: r145158
This commit is contained in:
Joseph Myers 2009-03-28 06:51:09 +00:00 committed by Joseph Myers
parent 20a07f4467
commit 52c0e446f3
53 changed files with 150 additions and 10427 deletions

View File

@ -1,3 +1,11 @@
2009-03-28 Joseph Myers <joseph@codesourcery.com>
* inclhack.def (aix_syswait, exception_structure,
pthread_page_size): Remove.
(math_exception): Remove mention of fixproto in comment.
* fixincl.x: Regenerate.
* mkheaders.in: Do not handle STMP_FIXPROTO.
2009-03-27 Sandra Loosemore <sandra@codesourcery.com>
* server.c (run_shell): Quote directory name passed to cd.

View File

@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
* It has been AutoGen-ed Saturday February 28, 2009 at 10:11:41 AM PST
* It has been AutoGen-ed Saturday March 28, 2009 at 12:12:55 AM UTC
* From the definitions inclhack.def
* and the template file fixincl
*/
/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Feb 28 10:11:41 PST 2009
/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Mar 28 00:12:55 UTC 2009
*
* You must regenerate it. Use the ./genfixes script.
*
@ -15,7 +15,7 @@
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
* This file contains 180 fixup descriptions.
* This file contains 177 fixup descriptions.
*
* See README for more information.
*
@ -555,45 +555,6 @@ static const char* apzAix_SysmachinePatch[] = {
"\\\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Syswait fix
*/
tSCC zAix_SyswaitName[] =
"aix_syswait";
/*
* File name selection pattern
*/
tSCC zAix_SyswaitList[] =
"sys/wait.h\0";
/*
* Machine/OS name selection pattern
*/
#define apzAix_SyswaitMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_SyswaitSelect0[] =
"^extern pid_t wait3\\(\\);\n";
tSCC zAix_SyswaitSelect1[] =
"bos325,";
#define AIX_SYSWAIT_TEST_CT 2
static tTestDesc aAix_SyswaitTests[] = {
{ TT_EGREP, zAix_SyswaitSelect0, (regex_t*)NULL },
{ TT_EGREP, zAix_SyswaitSelect1, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Syswait
*/
static const char* apzAix_SyswaitPatch[] = {
"format",
"struct rusage;\n\
%0",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Syswait_2 fix
@ -1931,48 +1892,6 @@ static const char* apzEcd_CursorPatch[] = {
"ecd_cursor",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Exception_Structure fix
*/
tSCC zException_StructureName[] =
"exception_structure";
/*
* File name selection pattern
*/
tSCC zException_StructureList[] =
"math.h\0";
/*
* Machine/OS name selection pattern
*/
#define apzException_StructureMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
tSCC zException_StructureSelect0[] =
"matherr";
/*
* content bypass pattern - skip fix if pattern found
*/
tSCC zException_StructureBypass0[] =
"matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
#define EXCEPTION_STRUCTURE_TEST_CT 2
static tTestDesc aException_StructureTests[] = {
{ TT_NEGREP, zException_StructureBypass0, (regex_t*)NULL },
{ TT_EGREP, zException_StructureSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Exception_Structure
*/
static const char* apzException_StructurePatch[] = {
"wrap",
"struct exception;\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Freebsd_Gcc3_Breakage fix
@ -4957,41 +4876,6 @@ typedef __regoff_t\tregoff_t;\n\
typedef __regmatch_t\tregmatch_t;",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Pthread_Page_Size fix
*/
tSCC zPthread_Page_SizeName[] =
"pthread_page_size";
/*
* File name selection pattern
*/
tSCC zPthread_Page_SizeList[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
#define apzPthread_Page_SizeMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
tSCC zPthread_Page_SizeSelect0[] =
"^int __page_size";
#define PTHREAD_PAGE_SIZE_TEST_CT 1
static tTestDesc aPthread_Page_SizeTests[] = {
{ TT_EGREP, zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Pthread_Page_Size
*/
static const char* apzPthread_Page_SizePatch[] = {
"format",
"extern %0",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Pthread_Incomplete_Struct_Argument fix
@ -7308,9 +7192,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
#define REGEX_COUNT 226
#define REGEX_COUNT 221
#define MACH_LIST_SIZE_LIMIT 181
#define FIX_COUNT 180
#define FIX_COUNT 177
/*
* Enumerate the fixes
@ -7326,7 +7210,6 @@ typedef enum {
AAB_SUN_MEMCPY_FIXIDX,
AIX_PTHREAD_FIXIDX,
AIX_SYSMACHINE_FIXIDX,
AIX_SYSWAIT_FIXIDX,
AIX_SYSWAIT_2_FIXIDX,
AIX_VOLATILE_FIXIDX,
ALPHA___ASSERT_FIXIDX,
@ -7362,7 +7245,6 @@ typedef enum {
DEC_INTERN_ASM_FIXIDX,
DJGPP_WCHAR_H_FIXIDX,
ECD_CURSOR_FIXIDX,
EXCEPTION_STRUCTURE_FIXIDX,
FREEBSD_GCC3_BREAKAGE_FIXIDX,
FREEBSD_GCC4_BREAKAGE_FIXIDX,
GLIBC_C99_INLINE_1_FIXIDX,
@ -7438,7 +7320,6 @@ typedef enum {
OPENBSD_VA_START_FIXIDX,
OSF_NAMESPACE_A_FIXIDX,
OSF_NAMESPACE_C_FIXIDX,
PTHREAD_PAGE_SIZE_FIXIDX,
PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
READ_RET_TYPE_FIXIDX,
RPC_XDR_LVALUE_CAST_A_FIXIDX,
@ -7549,11 +7430,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_SysmachineTests, apzAix_SysmachinePatch, 0 },
{ zAix_SyswaitName, zAix_SyswaitList,
apzAix_SyswaitMachs,
AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_SyswaitTests, apzAix_SyswaitPatch, 0 },
{ zAix_Syswait_2Name, zAix_Syswait_2List,
apzAix_Syswait_2Machs,
AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@ -7729,11 +7605,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aEcd_CursorTests, apzEcd_CursorPatch, 0 },
{ zException_StructureName, zException_StructureList,
apzException_StructureMachs,
EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aException_StructureTests, apzException_StructurePatch, 0 },
{ zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
apzFreebsd_Gcc3_BreakageMachs,
FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@ -8109,11 +7980,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aOsf_Namespace_CTests, apzOsf_Namespace_CPatch, 0 },
{ zPthread_Page_SizeName, zPthread_Page_SizeList,
apzPthread_Page_SizeMachs,
PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aPthread_Page_SizeTests, apzPthread_Page_SizePatch, 0 },
{ zPthread_Incomplete_Struct_ArgumentName, zPthread_Incomplete_Struct_ArgumentList,
apzPthread_Incomplete_Struct_ArgumentMachs,
PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,

View File

@ -385,23 +385,6 @@ fix = {
};
/*
* sys/wait.h on AIX 3.2.5 puts the declaration of wait3 before the
* definition of struct rusage, so the prototype added by fixproto fails.
*/
fix = {
hackname = aix_syswait;
files = sys/wait.h;
select = "^extern pid_t wait3\\(\\);\n";
select = "bos325,";
c_fix = format;
c_fix_arg = "struct rusage;\n%0";
test_text = "/* bos325, */\n"
"extern pid_t wait3();\n"
"\t/* pid_t wait3(int *, int, struct rusage *); */";
};
/*
* sys/wait.h on AIX 5.2 defines macros that have both signed and
* unsigned types in conditional expressions.
@ -1088,26 +1071,6 @@ fix = {
};
/*
* math.h on SunOS 4 puts the declaration of matherr before the definition
* of struct exception, so the prototype (added by fixproto) causes havoc.
* This must appear before the math_exception fix.
*/
fix = {
hackname = exception_structure;
files = math.h;
/* If matherr has a prototype already, the header needs no fix. */
bypass = 'matherr.*(struct exception|__MATH_EXCEPTION|[ \t]*__FP_EXCEPTION[ \t]*\*[ \t]*)';
select = matherr;
c_fix = wrap;
c_fix_arg = "struct exception;\n";
test_text = "extern int matherr();";
};
/*
* Between 8/24/1998 and 2/17/2001, FreeBSD system headers presume
* neither the existence of GCC 3 nor its exact feature set yet break
@ -2306,9 +2269,7 @@ fix = {
* Interface Definition), which conflicts with the class exception defined
* in the C++ file std/stdexcept.h. We redefine it to __math_exception.
* This is not a great fix, but I haven't been able to think of anything
* better. Note that we have to put the #ifdef/#endif blocks at beginning
* and end of file, because fixproto runs after us and may insert
* additional references to struct exception.
* better.
*/
fix = {
hackname = math_exception;
@ -2657,20 +2618,6 @@ fix = {
};
/*
* Fix __page_size* declarations in pthread.h AIX 4.1.[34].
* The original ones fail if uninitialized externs are not common.
* This is the default for all ANSI standard C++ compilers.
*/
fix = {
hackname = pthread_page_size;
files = pthread.h;
select = "^int __page_size";
c_fix = format;
c_fix_arg = "extern %0";
test_text = "int __page_size;";
};
/*
* On broken glibc-2.3.3 systems an array of incomplete structures is
* passed to __sigsetjmp. Fix that to take a pointer instead.

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2002, 2007 Free Software Foundation, Inc.
# Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc.
#This file is part of GCC.
@ -102,9 +102,4 @@ for ml in `cat ${itoolsdatadir}/fixinc_list`; do
fi
cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}
if [ x${STMP_FIXPROTO} != x ] ; then
export FIXPROTO_DEFINES mkinstalldirs
@SHELL@ fixproto ${subincdir} ${subincdir} ${isysroot}${SYSTEM_HEADER_DIR} || exit 1
fi
done

View File

@ -1,3 +1,64 @@
2009-03-28 Joseph Myers <joseph@codesourcery.com>
* config/arm/t-arm-coff, config/h8300/coff.h,
config/i386/i386-aout.h, config/i386/i386-coff.h,
config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
config/pdp11/2bsd.h, config/rs6000/aix41.h,
config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
sys-types.h: Remove.
* Makefile.in: Remove protoize and fixproto support and references
in comments.
(SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
Remove.
(ALL_HOST_OBJS): Remove $(PROTO_OBJS).
(MOSTLYCLEANFILES): Remove protoize$(exeext) and
unprotoize$(exeext).
(rest.encap): Don't depend on $(STMP_FIXPROTO)
(.PHONY): Don't depend on proto.
(libgcc-support): Don't depend on $(STMP_FIXPROTO).
(proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
build/gen-protos.o, build/scan.o, xsys-protos.h,
build/fix-header$(build_exeext), build/fix-header.o,
build/scan-decls.o, fixhdr.ready, stmp-fixproto,
stmp-install-fixproto): Remove.
(mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
SYSCALLS.c or fixproto files.
(install-common): Don't install protoize.
(install-headers-tar, install-headers-cpio, install-headers-cp):
Don't depend on $(STMP_FIXPROTO).
(install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't
install fixproto files or write out fixproto settings.
(uninstall): Don't uninstall protoize.
* config.gcc (use_fixproto): Remove.
(arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
* config/m32r/t-linux (STMP_FIXPROTO): Remove.
* config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
* config/mips/t-iris (FIXPROTO_DEFINES): Remove.
* config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
* config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
* config/t-svr4 (FIXPROTO_DEFINES): Remove.
* config/t-vxworks (STMP_FIXPROTO): Remove.
* configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
STMP_FIXPROTO): Remove.
* config.in, configure: Regenerate.
* crtstuff.c (gid_t, uid_t): Don't undefine.
* doc/install.texi: Change m68k-coff to m68k-elf in example.
(arm-*-coff, arm-*-aout: Remove target entries.
(*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
Remove mention of AIX 4.1.
(m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
* doc/invoke.texi (Running Protoize): Remove.
* doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
(Protoize Caveats): Remove.
* tsystem.h: Update comments on headers assumed to exist.
2009-03-27 Vladimir Makarov <vmakarov@redhat.com>
* genautomata.c: Add a new year to the copyright. Add a new

View File

@ -22,7 +22,7 @@
#<http://www.gnu.org/licenses/>.
# The targets for external use include:
# all, doc, proto, install, install-cross, install-cross-rest,
# all, doc, install, install-cross, install-cross-rest,
# uninstall, TAGS, mostlyclean, clean, distclean, maintainer-clean.
# This is the default target.
@ -175,8 +175,6 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN) $($(@D)-warn) $(NOCOMMON_FLAG) $($@-warn)
# be subject to -Werror:
# flex output may yield harmless "no previous prototype" warnings
build/gengtype-lex.o-warn = -Wno-error
# SYSCALLS.c misses prototypes
SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
# dfp.c contains many alias violations
dfp.o-warn = -fno-strict-aliasing
# mips-tfile.c contains -Wcast-qual warnings.
@ -297,9 +295,6 @@ DECNUMFMT = $(srcdir)/../libdecnumber/$(enable_decimal_float)
DECNUMINC = -I$(DECNUM) -I$(DECNUMFMT) -I../libdecnumber
LIBDECNUMBER = ../libdecnumber/libdecnumber.a
# Substitution type for target's getgroups 2nd arg.
TARGET_GETGROUPS_T = @TARGET_GETGROUPS_T@
# Target to use when installing include directory. Either
# install-headers-tar, install-headers-cpio or install-headers-cp.
INSTALL_HEADERS_DIR = @build_install_headers_dir@
@ -395,8 +390,7 @@ CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
# macro is also used in a double-quoted context.
SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`
# Control whether to run fixproto and fixincludes.
STMP_FIXPROTO = @STMP_FIXPROTO@
# Control whether to run fixincludes.
STMP_FIXINC = @STMP_FIXINC@
# Test to see whether <limits.h> exists in the system header files.
@ -701,8 +695,6 @@ BUILD_CPPFLAGS=$(ALL_CPPFLAGS)
GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
GCC_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gcc|sed '$(program_transform_name)')
CPP_INSTALL_NAME := $(shell echo cpp|sed '$(program_transform_name)')
PROTOIZE_INSTALL_NAME := $(shell echo protoize|sed '$(program_transform_name)')
UNPROTOIZE_INSTALL_NAME := $(shell echo unprotoize|sed '$(program_transform_name)')
GCOV_INSTALL_NAME := $(shell echo gcov|sed '$(program_transform_name)')
GCCBUG_INSTALL_NAME := $(shell echo gccbug|sed '$(program_transform_name)')
@ -716,9 +708,6 @@ RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
else echo runtest; fi`
RUNTESTFLAGS =
# Extra symbols for fixproto to define when parsing headers.
FIXPROTO_DEFINES =
# Extra flags to use when compiling crt{begin,end}.o.
CRTSTUFF_T_CFLAGS =
@ -1324,7 +1313,7 @@ ALL_HOST_OBJS = $(GCC_OBJS) $(C_OBJS) $(OBJS) libbackend.o \
$(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) \
$(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) \
mips-tfile.o mips-tdump.o \
$(PROTO_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS)
$(GCOV_OBJS) $(GCOV_DUMP_OBJS)
BACKEND = main.o @TREEBROWSER@ libbackend.a $(CPPLIB) $(LIBDECNUMBER)
@ -1336,7 +1325,6 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
genrtl.c genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
xgcc$(exeext) cpp$(exeext) cc1$(exeext) cc1*-dummy$(exeext) $(EXTRA_PASSES) \
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
protoize$(exeext) unprotoize$(exeext) \
$(SPECS) collect2$(exeext) \
gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
*.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libgcc.mk
@ -1586,7 +1574,7 @@ all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \
start.encap: native xgcc$(exeext) cpp$(exeext) specs \
libgcc-support lang.start.encap @GENINSRC@ srcextra
# These can't be made until after GCC can run.
rest.encap: $(STMP_FIXPROTO) lang.rest.encap
rest.encap: lang.rest.encap
# This is what is made with the host's compiler
# whether making a cross compiler or not.
native: config.status auto-host.h build-@POSUB@ $(LANGUAGES) \
@ -1596,7 +1584,7 @@ native: config.status auto-host.h build-@POSUB@ $(LANGUAGES) \
c: cc1$(exeext)
# Tell GNU make these are phony targets.
.PHONY: c proto
.PHONY: c
# On the target machine, finish building a cross compiler.
# This does the things that can't be done on the host machine.
@ -1670,7 +1658,7 @@ srcdirify = $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \
# so we combine them. Sort removes duplicates.
GCC_EXTRA_PARTS := $(sort $(EXTRA_MULTILIB_PARTS) $(EXTRA_PARTS))
libgcc-support: libgcc.mvars stmp-int-hdrs $(STMP_FIXPROTO) $(TCONFIG_H) \
libgcc-support: libgcc.mvars stmp-int-hdrs $(TCONFIG_H) \
$(MACHMODE_H) $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
$(LIB2ADD_ST) $(LIB2ADDEH) $(srcdir)/emutls.c gcov-iov.h $(SFP_MACHINE)
@ -3460,7 +3448,7 @@ intl.o: intl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h Makefile
-c $(srcdir)/intl.c $(OUTPUT_OPTION)
#
# Remake cpp and protoize.
# Remake cpp.
PREPROCESSOR_DEFINES = \
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
@ -3484,72 +3472,6 @@ cppdefault.o: cppdefault.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
# Note for the stamp targets, we run the program `true' instead of
# having an empty command (nothing following the semicolon).
proto: config.status protoize$(exeext) unprotoize$(exeext) SYSCALLS.c.X
PROTO_OBJS = intl.o version.o cppdefault.o errors.o
protoize$(exeext): protoize.o $(PROTO_OBJS) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ protoize.o $(PROTO_OBJS) $(LIBS)
unprotoize$(exeext): unprotoize.o $(PROTO_OBJS) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ unprotoize.o $(PROTO_OBJS) $(LIBS)
protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
(SHLIB_LINK='$(SHLIB_LINK)'; \
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
$(srcdir)/protoize.c $(OUTPUT_OPTION))
unprotoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) \
$(SYSTEM_H) coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
(SHLIB_LINK='$(SHLIB_LINK)'; \
$(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
$(srcdir)/protoize.c $(OUTPUT_OPTION))
# This info describes the target machine, so compile with GCC just built.
SYSCALLS.c.X: $(srcdir)/sys-types.h $(srcdir)/sys-protos.h $(GCC_PASSES) \
stmp-int-hdrs
-rm -f SYSCALLS.c tmp-SYSCALLS.s
sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
$(srcdir)/sys-types.h $(srcdir)/sys-protos.h > SYSCALLS.c
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) \
-aux-info $@ -S -o tmp-SYSCALLS.s SYSCALLS.c
-rm -f SYSCALLS.c tmp-SYSCALLS.s
test-protoize-simple: ./protoize ./unprotoize $(GCC_PASSES)
-rm -f tmp-proto.[cso]
cp $(srcdir)/protoize.c tmp-proto.c
chmod u+w tmp-proto.c
./protoize -N -B ./ -x getopt.h -c "-B./ -Wall -Wwrite-strings \
$(GCC_CFLAGS) $(INCLUDES) \
-DGCC_INCLUDE_DIR=0 \
-DFIXED_INCLUDE_DIR=0 \
-DGPLUSPLUS_INCLUDE_DIR=0 \
-DCROSS_INCLUDE_DIR=0 \
-DTOOL_INCLUDE_DIR=0 \
-DSTANDARD_EXEC_PREFIX=0 \
-DDEFAULT_TARGET_MACHINE=0 \
-DDEFAULT_TARGET_VERSION=0" tmp-proto.c
@echo '**********' Expect 400 lines of differences.
-diff $(srcdir)/protoize.c tmp-proto.c > tmp-proto.diff
-wc -l tmp-proto.diff
./unprotoize -N -x getopt.h -c "-B./ -Wall -Wwrite-strings \
$(GCC_CFLAGS) $(INCLUDES) \
-DGCC_INCLUDE_DIR=0 \
-DFIXED_INCLUDE_DIR=0 \
-DGPLUSPLUS_INCLUDE_DIR=0 \
-DCROSS_INCLUDE_DIR=0 \
-DTOOL_INCLUDE_DIR=0 \
-DSTANDARD_EXEC_PREFIX=0 \
-DDEFAULT_TARGET_MACHINE=0 \
-DDEFAULT_TARGET_VERSION=0" tmp-proto.c
@echo Expect zero differences.
diff $(srcdir)/protoize.c tmp-proto.c | cat
-rm -f tmp-proto.[cs] tmp-proto$(objext)
# gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c
build/gcov-iov.o: gcov-iov.c $(BCONFIG_H) coretypes.h $(GTM_H) \
$(SYSTEM_H) coretypes.h $(TM_H)
@ -3712,98 +3634,6 @@ stmp-fixinc: gsyslimits.h macro_list fixinc_list \
done; \
fi
$(STAMP) stmp-fixinc
# Files related to the fixproto script.
# gen-protos and fix-header are compiled with CC_FOR_BUILD, but they are only
# used in native and host-x-target builds, so it's safe to link them with
# libiberty.a.
deduced.h: $(GCC_PASSES) $(srcdir)/scan-types.sh stmp-int-hdrs
if [ -d "$(SYSTEM_HEADER_DIR)" ]; \
then \
CC="$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -I. -I$(srcdir) -isystem include -isystem ${SYSTEM_HEADER_DIR}"; \
export CC; \
$(SHELL) $(srcdir)/scan-types.sh "$(srcdir)" >tmp-deduced.h; \
mv tmp-deduced.h deduced.h; \
else \
$(STAMP) deduced.h; \
fi
GEN_PROTOS_OBJS = build/gen-protos.o build/scan.o $(BUILD_ERRORS)
build/gen-protos$(build_exeext): $(GEN_PROTOS_OBJS)
${CC_FOR_BUILD} $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
$(GEN_PROTOS_OBJS) $(BUILD_LIBS)
build/gen-protos.o: gen-protos.c scan.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
$(GTM_H) errors.h
build/scan.o: scan.c scan.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
xsys-protos.h: $(GCC_PASSES) $(srcdir)/sys-protos.h deduced.h \
build/gen-protos$(build_exeext) Makefile
sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
deduced.h $(srcdir)/sys-protos.h > tmp-fixtmp.c
mv tmp-fixtmp.c fixtmp.c
$(GCC_FOR_TARGET) fixtmp.c -w -U__SIZE_TYPE__ -U__PTRDIFF_TYPE__ -U__WCHAR_TYPE__ -E \
| sed -e 's/ / /g' -e 's/ *(/ (/g' -e 's/ [ ]*/ /g' -e 's/( )/()/' \
| $(RUN_GEN) build/gen-protos >xsys-protos.hT
mv xsys-protos.hT xsys-protos.h
rm -rf fixtmp.c
# This is nominally a 'build' program, but it's run only when host==build,
# so we can (indeed, must) use $(LIBDEPS) and $(LIBS).
build/fix-header$(build_exeext): build/fix-header.o build/scan-decls.o \
build/scan.o xsys-protos.h \
$(BUILD_ERRORS) $(LIBDEPS)
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
build/fix-header.o incpath.o cppdefault.o build/scan-decls.o prefix.o \
build/scan.o $(BUILD_ERRORS) $(LIBS)
build/fix-header.o: fix-header.c $(OBSTACK_H) scan.h errors.h \
xsys-protos.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(CPPLIB_H)
build/scan-decls.o: scan-decls.c scan.h $(CPPLIB_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
# stmp-fixproto depends on this, not on fix-header directly.
# The idea is to make sure fix-header gets built,
# but not rerun fixproto after each stage
# just because fix-header's mtime has changed.
fixhdr.ready: build/fix-header$(build_exeext)
-if [ -f fixhdr.ready ] ; then \
true; \
else \
$(STAMP) fixhdr.ready; \
fi
# stmp-int-hdrs is to make sure fixincludes has already finished.
# The if statement is so that we don't run fixproto a second time
# if it has already been run on the files in `include-fixed'.
stmp-fixproto: fixhdr.ready fixproto fixinc_list stmp-int-hdrs
set -e; for ml in `cat fixinc_list`; do \
sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \
multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \
fix_dir=include-fixed$${multi_dir}; \
if [ -f $${fix_dir}/fixed ] ; then true; \
else \
: This line works around a 'make' bug in BSDI 1.1.; \
FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"; export FIXPROTO_DEFINES; \
FIX_HEADER="build/fix-header$(build_exeext)"; export FIX_HEADER; \
mkinstalldirs="$(mkinstalldirs)"; \
export mkinstalldirs; \
if [ -d "$(SYSTEM_HEADER_DIR)" ]; then \
$(SHELL) ${srcdir}/fixproto $${fix_dir} $${fix_dir} $(SYSTEM_HEADER_DIR); \
if [ $$? -eq 0 ] ; then true ; else exit 1 ; fi ; \
else true; fi; \
$(STAMP) $${fix_dir}/fixed; \
fi; \
done
$(STAMP) stmp-fixproto
# We can't run fixproto (it's being built for a different host), but we still
# need to install it so that the user can run it when the compiler is
# installed.
stmp-install-fixproto: fixproto
$(STAMP) $@
#
# Remake the info files.
@ -4009,7 +3839,6 @@ mostlyclean: lang.mostlyclean
-rm -f build/*
-rm -f mddeps.mk
# Delete other built files.
-rm -f xsys-protos.hT
-rm -f specs.h options.c options.h
# Delete the stamp and temporary files.
-rm -f s-* tmp-* stamp-* stmp-*
@ -4017,11 +3846,8 @@ mostlyclean: lang.mostlyclean
# Delete debugging dump files.
-rm -f *.[0-9][0-9].* */*.[0-9][0-9].*
# Delete some files made during installation.
-rm -f specs $(SPECS) SYSCALLS.c.X SYSCALLS.c
-rm -f specs $(SPECS)
-rm -f collect collect2 mips-tfile mips-tdump
# Delete files generated for fixproto
-rm -rf $(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
gen-protos$(build_exeext) fixproto.list fixtmp.* fixhdr.ready
# Delete unwanted output files from TeX.
-rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg
-rm -f */*.toc */*.log */*.vr */*.fn */*.cp */*.tp */*.ky */*.pg
@ -4142,16 +3968,6 @@ install-common: native lang.install-common installdirs
# using -dumpspecs. We remove any old version because it would
# otherwise override the specs built into the driver.
rm -f $(DESTDIR)$(libsubdir)/specs
# Install protoize if it was compiled.
-if [ -f protoize$(exeext) ]; then \
rm -f $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
$(INSTALL_PROGRAM) protoize$(exeext) $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
rm -f $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
$(INSTALL_PROGRAM) unprotoize$(exeext) $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
rm -f $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
$(INSTALL_DATA) SYSCALLS.c.X $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
chmod a-x $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
fi
# Install gcov if it was compiled.
-if [ -f gcov$(exeext) ]; \
then \
@ -4299,7 +4115,7 @@ install-itoolsdirs: installdirs
$(mkinstalldirs) $(DESTDIR)$(itoolsdir)
# Install the include directory using tar.
install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
install-headers-tar: stmp-int-hdrs install-include-dir
# We use `pwd`/include instead of just include to problems with CDPATH
# Unless a full pathname is provided, some shells would print the new CWD,
# found in CDPATH, corrupting the output. We could just redirect the
@ -4313,7 +4129,7 @@ install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
# So use `exit 0' to ignore its exit status.
# Install the include directory using cpio.
install-headers-cpio: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
install-headers-cpio: stmp-int-hdrs install-include-dir
# See discussion about the use of `pwd` above
cd `${PWD_COMMAND}`/include ; \
find . -print | cpio -pdum $(DESTDIR)$(libsubdir)/include
@ -4321,7 +4137,7 @@ install-headers-cpio: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
find . -print | cpio -pdum $(DESTDIR)$(libsubdir)/include-fixed
# Install the include directory using cp.
install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
install-headers-cp: stmp-int-hdrs install-include-dir
cp -p -r include $(DESTDIR)$(libsubdir)
cp -p -r include-fixed $(DESTDIR)$(libsubdir)
@ -4338,7 +4154,7 @@ real-install-headers-cp:
cp -p -r include-fixed $(DESTDIR)$(libsubdir)
# Install supporting files for fixincludes to be run later.
install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-itoolsdirs \
install-mkheaders: stmp-int-hdrs install-itoolsdirs \
macro_list fixinc_list
$(INSTALL_DATA) $(srcdir)/gsyslimits.h \
$(DESTDIR)$(itoolsdatadir)/gsyslimits.h
@ -4351,20 +4167,11 @@ install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-itoolsdirs \
done
$(INSTALL_SCRIPT) $(srcdir)/../mkinstalldirs \
$(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
if [ x$(STMP_FIXPROTO) != x ] ; then \
$(INSTALL_SCRIPT) $(srcdir)/fixproto $(DESTDIR)$(itoolsdir)/fixproto ; \
$(INSTALL_PROGRAM) build/fix-header$(build_exeext) \
$(DESTDIR)$(itoolsdir)/fix-header$(build_exeext) ; \
else :; fi
sysroot_headers_suffix='$${sysroot_headers_suffix}'; \
echo 'SYSTEM_HEADER_DIR="'"$(SYSTEM_HEADER_DIR)"'"' \
> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
echo 'FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"' \
>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' \
>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
echo 'STMP_FIXINC="$(STMP_FIXINC)"' \
>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
@ -4383,13 +4190,9 @@ uninstall: lang.uninstall
-if [ x$(cpp_install_dir) != x ]; then \
rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
else true; fi
-rm -rf $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext)
-rm -rf $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext)
-rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
-rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
-rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
-rm -rf $(DESTDIR)$(man1dir)/protoize$(man1ext)
-rm -rf $(DESTDIR)$(man1dir)/unprotoize$(man1ext)
-rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
-rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
#

View File

@ -155,9 +155,6 @@
# configure_default_options
# Set to an initializer for configure_default_options
# in configargs.h, based on --with-cpu et cetera.
#
# use_fixproto Set to "yes" if fixproto should be run normally,
# "no" if fixproto should never be run.
# The following variables are used in each case-construct to build up the
# outgoing variables:
@ -196,40 +193,21 @@ default_use_cxa_atexit=no
target_gtfiles=
need_64bit_hwint=
# Default to not using fixproto. Targets which need fixproto should
# specifically set this to 'yes'.
use_fixproto=no
# Don't carry these over build->host->target. Please.
xm_file=
md_file=
# Obsolete configurations.
case ${target} in
# Avoid generic cases below matching.
h8300-*-rtems* | h8300-*-elf* \
| sh-*-elf* | sh-*-symbianelf* | sh-*-linux* | sh-*-netbsdelf* \
| sh-*-rtems* | sh-wrs-vxworks) ;;
arm-*-coff* \
| armel-*-coff* \
| h8300-*-* \
| i[34567]86-*-aout* \
| i[34567]86-*-coff* \
| m68k-*-aout* \
| m68k-*-coff* \
| sh-*-* \
| pdp11-*-bsd \
| rs6000-ibm-aix4.[12]* \
| powerpc-ibm-aix4.[12]* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
echo "*** Specify --enable-obsolete to build it anyway." >&2
echo "*** Support will be REMOVED in the next major release of GCC," >&2
echo "*** unless a maintainer comes forward." >&2
exit 1
fi;;
esac
#case ${target} in
# )
# if test "x$enable_obsolete" != xyes; then
# echo "*** Configuration ${target} is obsolete." >&2
# echo "*** Specify --enable-obsolete to build it anyway." >&2
# echo "*** Support will be REMOVED in the next major release of GCC," >&2
# echo "*** unless a maintainer comes forward." >&2
# exit 1
# fi;;
#esac
# Unsupported targets list. Do not put an entry in this list unless
# it would otherwise be caught by a more permissive pattern. The list
@ -238,6 +216,7 @@ case ${target} in
i[34567]86-go32-* \
| i[34567]86-*-go32* \
| mips64orion*-*-rtems* \
| pdp11-*-bsd \
| sparc-hal-solaris2* \
| thumb-*-* \
| *-*-linux*aout* \
@ -681,10 +660,6 @@ arc-*-elf*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
extra_parts="crtinit.o crtfini.o"
;;
arm-*-coff* | armel-*-coff*)
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
tmake_file="arm/t-arm arm/t-arm-coff"
;;
arm-wrs-vxworks)
tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
@ -885,9 +860,6 @@ h8300-*-elf*)
tmake_file="h8300/t-h8300 h8300/t-elf"
tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h"
;;
h8300-*-*)
tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
;;
hppa*64*-*-linux*)
target_cpu_default="MASK_PA_11|MASK_PA_20"
tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
@ -1037,9 +1009,6 @@ x86_64-*-elf*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h"
tmake_file="${tmake_file} i386/t-i386elf t-svr4"
;;
i[34567]86-*-aout*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
;;
i[34567]86-*-freebsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
;;
@ -1073,9 +1042,6 @@ i[34567]86-*-openbsd*)
gas=yes
gnu_ld=yes
;;
i[34567]86-*-coff*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
;;
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
# Intel 80386's running GNU/*
# with ELF format using glibc 2
@ -1404,19 +1370,6 @@ m68hc12-*-*|m6812-*-*)
tmake_file="m68hc11/t-m68hc11"
extra_options="${extra_options} m68hc11/m68hc11.opt"
;;
m68k-*-aout*)
default_m68k_cpu=68020
default_cf_cpu=5206
tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
;;
m68k-*-coff*)
default_m68k_cpu=68020
default_cf_cpu=5206
tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
tm_defines="${tm_defines} MOTOROLA=1"
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
;;
m68k-*-elf* | fido-*-elf*)
case ${target} in
fido-*-elf*)
@ -1715,10 +1668,6 @@ mn10300-*-*)
fi
use_collect2=no
;;
pdp11-*-bsd)
tm_file="${tm_file} pdp11/2bsd.h"
use_fixproto=yes
;;
pdp11-*-*)
;;
picochip-*)
@ -1915,14 +1864,6 @@ powerpc-xilinx-eabi*)
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
;;
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas"
extra_options="${extra_options} rs6000/aix41.opt"
use_collect2=yes
extra_headers=
use_fixproto=yes
;;
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix43
@ -2164,9 +2105,6 @@ sh-wrs-vxworks)
tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks"
tm_file="${tm_file} elfos.h svr4.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
;;
sh-*-*)
tm_file="${tm_file} dbxcoff.h sh/coff.h"
;;
sparc-*-netbsdelf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
extra_options="${extra_options} sparc/long-double-switch.opt"

View File

@ -169,13 +169,6 @@
#endif
/* Define to the type of elements in the array set by `getgroups'. Usually
this is either `int' or `gid_t'. */
#ifndef USED_FOR_TARGET
#undef GETGROUPS_T
#endif
/* Define if the zone collector is in use */
#ifndef USED_FOR_TARGET
#undef GGC_ZONE
@ -1553,12 +1546,6 @@
#endif
/* Define to `int' if <sys/types.h> doesn't define. */
#ifndef USED_FOR_TARGET
#undef gid_t
#endif
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
@ -1583,12 +1570,6 @@
#endif
/* Define to `int' if <sys/types.h> doesn't define. */
#ifndef USED_FOR_TARGET
#undef uid_t
#endif
/* Define as `fork' if `vfork' does not work. */
#ifndef USED_FOR_TARGET
#undef vfork

View File

@ -1,34 +0,0 @@
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2
# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c
DPBIT = dp-bit.c
fp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define FLOAT' > fp-bit.c
echo '#ifndef __ARMEB__' >> fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
echo '#endif' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#ifndef __ARMEB__' > dp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c
echo '#endif' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
MULTILIB_OPTIONS = mlittle-endian/mbig-endian mhard-float/msoft-float marm/mthumb mno-thumb-interwork/mthumb-interwork
MULTILIB_DIRNAMES = le be fpu soft arm thumb normal interwork
MULTILIB_MATCHES =
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
# Currently there is a bug somewhere in GCC's alias analysis
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
# Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -fno-inline

View File

@ -1,51 +0,0 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 version generating coff
Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef GCC_H8300_COFF_H
#define GCC_H8300_COFF_H
#define SDB_DEBUGGING_INFO 1
#define SDB_DELIM "\n"
/* Generate a blank trailing N_SO to mark the end of the .o file, since
we can't depend upon the linker to mark .o file boundaries with
embedded stabs. */
#define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END
/* This is how to output an assembler line
that says to advance the location counter by SIZE bytes. */
#define ASM_OUTPUT_IDENT(FILE, NAME) \
fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME)
#define IDENT_ASM_OP "\t.ident\t"
#define INIT_SECTION_ASM_OP "\t.section .init"
#define READONLY_DATA_SECTION_ASM_OP "\t.section .rodata"
/* Switch into a generic section. */
#define TARGET_ASM_NAMED_SECTION h8300_asm_named_section
/* A bit-field declared as `int' forces `int' alignment for the struct. */
#define PCC_BITFIELD_TYPE_MATTERS 0
#endif /* h8300/coff.h */

View File

@ -1,25 +0,0 @@
/* Definitions for "naked" Intel 386 using a.out (or coff encap'd
a.out) object format and stabs debugging info.
Copyright (C) 1994, 2002, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#define TARGET_VERSION fprintf (stderr, " (80386, BSD a.out syntax)");
/* end of i386-aout.h */

View File

@ -1,69 +0,0 @@
/* Definitions for "naked" Intel 386 using coff object format files
and coff debugging info.
Copyright (C) 1994, 2000, 2002, 2004, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#define TARGET_VERSION fprintf (stderr, " (80386, COFF BSD syntax)");
#define TARGET_OS_CPP_BUILTINS() /* Sweet FA. */
/* We want to be able to get DBX debugging information via -gstabs. */
#define DBX_DEBUGGING_INFO 1
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG
/* Switch into a generic section. */
#define TARGET_ASM_NAMED_SECTION default_coff_asm_named_section
/* Prefix for internally generated assembler labels. If we aren't using
underscores, we are using prefix `.'s to identify labels that should
be ignored, as in `i386/gas.h' --karl@cs.umb.edu */
#undef LPREFIX
#define LPREFIX ".L"
/* The prefix to add to user-visible assembler symbols. */
#undef USER_LABEL_PREFIX
#define USER_LABEL_PREFIX ""
/* If user-symbols don't have underscores,
then it must take more than `L' to identify
a label that should be ignored. */
/* This is how to store into the string BUF
the symbol_ref name of an internal numbered label where
PREFIX is the class of label and NUM is the number within the class.
This is suitable for output with `assemble_name'. */
#undef ASM_GENERATE_INTERNAL_LABEL
#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) \
sprintf ((BUF), ".%s%ld", (PREFIX), (long)(NUMBER))
/* GNU as expects alignment to be the number of bytes instead of the log for
COFF targets. */
#undef ASM_OUTPUT_ALIGN
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1<<(LOG))
/* end of i386-coff.h */

View File

@ -1,37 +0,0 @@
/* libgloss.h -- operating system specific defines to be used when
targeting GCC for Libgloss supported targets.
Copyright (C) 1996, 2004, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* This file should not be used for ELF targets, as this definition of
STARTFILE_SPEC is all wrong. */
/* The libgloss standard for crt0.s has the name based on the command line
option. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{!shared:%{pg:pgcrt0%O%s}%{!pg:%{p:pcrt0%O%s}%{!p:crt0%O%s}}}"
/* This file used to force LINK_SPEC to be the null string, but that is not
correct. LINK_SPEC is used to pass machine specific arguments to the
linker and hence cannot be redefined here. LINK_SPEC is never used to
specify startup files or libraries, so it should never conflict with
libgloss. */
/* Don't set the target flags, this is done by the linker script */
#undef LIB_SPEC
#define LIB_SPEC ""

View File

@ -27,10 +27,6 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
CRTSTUFF_T_CFLAGS_S = -fPIC
# Don't run fixproto
STMP_FIXPROTO =
# Don't install "assert.h" in gcc. We use the one in glibc.
INSTALL_ASSERT_H =

View File

@ -1,88 +0,0 @@
/* Definitions of target machine for GNU compiler.
m68k series COFF object files and debugging, version.
Copyright (C) 1994, 1996, 1997, 2000, 2002, 2003, 2004, 2007
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* This file is included after m68k.h by CPU COFF specific files. It
is not a complete target itself. */
/* Used in m68k.c to include required support code. */
#define M68K_TARGET_COFF 1
/* Generate sdb debugging information. */
#define SDB_DEBUGGING_INFO 1
/* COFF symbols don't start with an underscore. */
#undef USER_LABEL_PREFIX
#define USER_LABEL_PREFIX ""
/* Use a prefix for local labels, just to be on the save side. */
#undef LOCAL_LABEL_PREFIX
#define LOCAL_LABEL_PREFIX "."
/* Use a register prefix to avoid clashes with external symbols (classic
example: `extern char PC;' in termcap). */
#undef REGISTER_PREFIX
#define REGISTER_PREFIX "%"
/* config/m68k.md has an explicit reference to the program counter,
prefix this by the register prefix. */
#define ASM_RETURN_CASE_JUMP \
do { \
if (TARGET_COLDFIRE) \
{ \
if (ADDRESS_REG_P (operands[0])) \
return "jmp %%pc@(2,%0:l)"; \
else \
return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
} \
else \
return "jmp %%pc@(2,%0:w)"; \
} while (0)
#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
/* If defined, a C expression whose value is a string containing the
assembler operation to identify the following data as uninitialized global
data. */
#define BSS_SECTION_ASM_OP "\t.section\t.bss"
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named
NAME whose size is SIZE bytes and alignment is ALIGN bytes.
Try to use asm_output_aligned_bss to implement this macro. */
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN))
/* Switch into a generic section. */
#undef TARGET_ASM_NAMED_SECTION
#define TARGET_ASM_NAMED_SECTION m68k_coff_asm_named_section
/* Don't assume anything about startfiles. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC ""

View File

@ -1,37 +0,0 @@
/* Definitions of target machine for GNU compiler. "naked" 68020,
a.out object files and debugging, version.
Copyright (C) 1994, 1996, 2003, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#define DBX_DEBUGGING_INFO 1
#undef SDB_DEBUGGING_INFO
/* If defined, a C expression whose value is a string containing the
assembler operation to identify the following data as uninitialized global
data. */
#define BSS_SECTION_ASM_OP "\t.bss"
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named
NAME whose size is SIZE bytes. The variable ROUNDED
is the size rounded up to whatever alignment the caller wants.
Try to use asm_output_bss to implement this macro. */
/* a.out files typically can't handle arbitrary variable alignments so
define ASM_OUTPUT_BSS instead of ASM_OUTPUT_ALIGNED_BSS. */
#define ASM_OUTPUT_BSS(FILE, DECL, NAME, SIZE, ROUNDED) \
asm_output_bss ((FILE), (DECL), (NAME), (SIZE), (ROUNDED))

View File

@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for Motorola 68000 family.
Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2003, 2004, 2005, 2006, 2007, 2008
2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of GCC.
@ -134,9 +134,6 @@ static int m68k_sched_first_cycle_multipass_dfa_lookahead (void);
static bool m68k_handle_option (size_t, const char *, int);
static rtx find_addr_reg (rtx);
static const char *singlemove_string (rtx *);
#ifdef M68K_TARGET_COFF
static void m68k_coff_asm_named_section (const char *, unsigned int, tree);
#endif /* M68K_TARGET_COFF */
static void m68k_output_mi_thunk (FILE *, tree, HOST_WIDE_INT,
HOST_WIDE_INT, tree);
static rtx m68k_struct_value_rtx (tree, int);
@ -4336,26 +4333,6 @@ output_sibcall (rtx x)
return "jmp %a0";
}
#ifdef M68K_TARGET_COFF
/* Output assembly to switch to section NAME with attribute FLAGS. */
static void
m68k_coff_asm_named_section (const char *name, unsigned int flags,
tree decl ATTRIBUTE_UNUSED)
{
char flagchar;
if (flags & SECTION_WRITE)
flagchar = 'd';
else
flagchar = 'x';
fprintf (asm_out_file, "\t.section\t%s,\"%c\"\n", name, flagchar);
}
#endif /* M68K_TARGET_COFF */
static void
m68k_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
HOST_WIDE_INT delta, HOST_WIDE_INT vcall_offset,

View File

@ -1,6 +1,3 @@
# Find all of the declarations from the header files
FIXPROTO_DEFINES = -D__EXTENSIONS__ -D_SGI_SOURCE -D_LANGUAGE_C_PLUS_PLUS
$(T)irix-crti.o: $(srcdir)/config/mips/irix-crti.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
-c -o $@ -x assembler-with-cpp $<

View File

@ -1,6 +1,3 @@
# So putenv and other functions get seen by fixproto.
FIXPROTO_DEFINES = -D_HPUX_SOURCE -D_HIUX_SOURCE
lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
rm -f lib2funcs.asm
cp $(srcdir)/config/pa/lib2funcs.asm .

View File

@ -1,65 +0,0 @@
/* Definitions of target machine for GNU compiler, for a PDP with 2BSD
Copyright (C) 1995, 1996, 1999, 2000, 2007 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#define TWO_BSD
/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function,
the stack pointer does not matter. The value is tested only in
functions that have frame pointers.
No definition is equivalent to always zero. */
#undef EXIT_IGNORE_STACK
#define EXIT_IGNORE_STACK 1
#undef INITIAL_FRAME_POINTER_OFFSET
#define INITIAL_FRAME_POINTER_OFFSET(DEPTH_VAR) \
{ \
int offset; \
offset = get_frame_size(); \
offset = (offset <= 2)? 0: (offset -2); \
(DEPTH_VAR) = offset+10; \
}
/* Value should be nonzero if functions must have frame pointers.
Zero means the frame pointer need not be set up (and parms
may be accessed via the stack pointer) in functions that seem suitable.
This is computed in `reload', in reload1.c.
*/
#undef FRAME_POINTER_REQUIRED
#define FRAME_POINTER_REQUIRED 1
/* Offset within stack frame to start allocating local variables at.
If FRAME_GROWS_DOWNWARD, this is the offset to the END of the
first local allocated. Otherwise, it is the offset to the BEGINNING
of the first local allocated. */
#undef STARTING_FRAME_OFFSET
#define STARTING_FRAME_OFFSET -8
#undef ASM_DECLARE_FUNCTION_NAME
#define ASM_DECLARE_FUNCTION_NAME(STREAM, NAME, DECL) \
do { \
ASM_OUTPUT_LABEL (STREAM, NAME); \
fprintf (STREAM, "~~%s:\n", NAME); \
} while (0)
#undef TARGET_UNIX_ASM_DEFAULT
#define TARGET_UNIX_ASM_DEFAULT MASK_UNIX_ASM

View File

@ -1,6 +1,6 @@
/* Subroutines for gcc2 for pdp11.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2004, 2005,
2006, 2007, 2008 Free Software Foundation, Inc.
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
@ -241,23 +241,6 @@ expand_shift_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
knowing which registers should not be saved even if used.
*/
#ifdef TWO_BSD
static void
pdp11_output_function_prologue (FILE *stream, HOST_WIDE_INT size)
{
fprintf (stream, "\tjsr r5, csv\n");
if (size)
{
fprintf (stream, "\t/*abuse empty parameter slot for locals!*/\n");
if (size > 2)
asm_fprintf (stream, "\tsub $%#wo, sp\n", size - 2);
}
}
#else /* !TWO_BSD */
static void
pdp11_output_function_prologue (FILE *stream, HOST_WIDE_INT size)
{
@ -331,8 +314,6 @@ pdp11_output_function_prologue (FILE *stream, HOST_WIDE_INT size)
fprintf (stream, "\t;/* end of prologue */\n\n");
}
#endif /* !TWO_BSD */
/*
The function epilogue should not depend on the current stack pointer!
It should use the frame pointer only. This is mandatory because
@ -352,18 +333,6 @@ pdp11_output_function_prologue (FILE *stream, HOST_WIDE_INT size)
maybe as option if you want to generate code for kernel mode? */
#ifdef TWO_BSD
static void
pdp11_output_function_epilogue (FILE *stream,
HOST_WIDE_INT size ATTRIBUTE_UNUSED)
{
fprintf (stream, "\t/* SP ignored by cret? */\n");
fprintf (stream, "\tjmp cret\n");
}
#else /* !TWO_BSD */
static void
pdp11_output_function_epilogue (FILE *stream, HOST_WIDE_INT size)
{
@ -469,8 +438,6 @@ pdp11_output_function_epilogue (FILE *stream, HOST_WIDE_INT size)
fprintf (stream, "\t;/* end of epilogue*/\n\n\n");
}
#endif /* !TWO_BSD */
/* Return the best assembler insn template
for moving operands[1] into operands[0] as a fullword. */
static const char *

View File

@ -1,101 +0,0 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX version 4.1.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004,
2005, 2007
Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3, or (at your
option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#undef ASM_SPEC
#define ASM_SPEC "-u %(asm_cpu)"
#undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "-mcom"
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
TARGET_OS_AIX_CPP_BUILTINS (); \
} \
while (0)
#undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
%{ansi: -D_ANSI_C_SOURCE}\
%{mpe: -I/usr/lpp/ppe.poe/include}\
%{pthread: -D_THREAD_SAFE}"
#undef TARGET_DEFAULT
#define TARGET_DEFAULT MASK_NEW_MNEMONICS
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_PPC601
/* AIX does not support Altivec. */
#undef TARGET_ALTIVEC
#define TARGET_ALTIVEC 0
#undef TARGET_ALTIVEC_ABI
#define TARGET_ALTIVEC_ABI 0
/* Define this macro as a C expression for the initializer of an
array of string to tell the driver program which options are
defaults for this target and thus do not need to be handled
specially when using `MULTILIB_OPTIONS'.
Do not define this macro if `MULTILIB_OPTIONS' is not defined in
the target makefile fragment or if none of the options listed in
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "mcpu=common" }
#undef LIB_SPEC
#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
%{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}}\
%{mpe:-L/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
%{pthread: -L/usr/lib/threads -lpthreads -lc_r /usr/lib/libc.a}\
%{!pthread: -lc}"
#undef LINK_SPEC
#define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
%{static:-bnso %(link_syscalls) } %{!shared: %{g*: %(link_libg) }}\
%{shared:-bM:SRE %{!e:-bnoentry}}"
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{!shared:\
%{mpe:%{pg:/usr/lpp/ppe.poe/lib/gcrt0.o}\
%{!pg:%{p:/usr/lpp/ppe.poe/lib/mcrt0.o}\
%{!p:/usr/lpp/ppe.poe/lib/crt0.o}}}\
%{!mpe:\
%{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
%{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
/* AIX 4 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
/* The IBM AIX 4.x assembler doesn't support forward references in
.set directives. We handle this by deferring the output of .set
directives to the end of the compilation unit. */
#define TARGET_DEFERRED_OUTPUT_DEFS(DECL,TARGET) true
#undef TARGET_64BIT
#define TARGET_64BIT 0

View File

@ -1,24 +0,0 @@
; Options for AIX4.1.
;
; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
; License for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3. If not see
; <http://www.gnu.org/licenses/>.
mpe
Target Report RejectNegative Var(internal_nothing_1)
Support message passing with the Parallel Environment

View File

@ -1,37 +0,0 @@
# Build the libraries for both hard and soft floating point and all of the
# different processor models
MULTILIB_OPTIONS = msoft-float \
mcpu=common/mcpu=power/mcpu=powerpc
MULTILIB_DIRNAMES = soft-float \
common power powerpc
MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) \
mcpu?power=mpower \
mcpu?power=mrios1 \
mcpu?power=mcpu?rios1 \
mcpu?power=mcpu?rsc \
mcpu?power=mcpu?rsc1 \
mcpu?power=mpower2 \
mcpu?power=mrios2 \
mcpu?power=mcpu=rios2 \
mcpu?powerpc=mcpu?601 \
mcpu?powerpc=mcpu?602 \
mcpu?powerpc=mcpu?603 \
mcpu?powerpc=mcpu?603e \
mcpu?powerpc=mcpu?604 \
mcpu?powerpc=mcpu?620 \
mcpu?powerpc=mcpu?403 \
mcpu?powerpc=mpowerpc \
mcpu?powerpc=mpowerpc-gpopt \
mcpu?powerpc=mpowerpc-gfxopt
# GCC 128-bit long double support routines.
LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c
# Aix 3.2.x needs milli.exp for -mcpu=common
EXTRA_PARTS = milli.exp
$(T)milli.exp: $(srcdir)/config/rs6000/milli.exp
rm -f $(T)milli.exp
cp $(srcdir)/config/rs6000/milli.exp $(T)milli.exp

View File

@ -1,70 +0,0 @@
/* Definitions of target machine for gcc for Renesas / SuperH SH using ELF.
Copyright (C) 1997, 1998, 2001, 2002, 2007 Free Software Foundation, Inc.
Contributed by Jörn Rennecke <joern.rennecke@superh.com>.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Generate SDB debugging information. */
#define SDB_DEBUGGING_INFO 1
#define SDB_DELIM ";"
#ifndef MAX_OFILE_ALIGNMENT
#define MAX_OFILE_ALIGNMENT 128
#endif
#define IDENT_ASM_OP "\t.ident\t"
/* Switch into a generic section. */
#define TARGET_ASM_NAMED_SECTION default_coff_asm_named_section
/* The prefix to add to user-visible assembler symbols. */
#define USER_LABEL_PREFIX "_"
/* The prefix to add to an internally generated label. */
#define LOCAL_LABEL_PREFIX ""
/* Make an internal label into a string. */
#define ASM_GENERATE_INTERNAL_LABEL(STRING, PREFIX, NUM) \
sprintf ((STRING), "*%s%s%ld", LOCAL_LABEL_PREFIX, (PREFIX), (long)(NUM))
/* This is how to output an assembler line
that says to advance the location counter by SIZE bytes. */
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
fprintf ((FILE), "\t.space %d\n", (int)(SIZE))
/* This says how to output an assembler line
to define a global common symbol. */
#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \
( fputs ("\t.comm ", (FILE)), \
assemble_name ((FILE), (NAME)), \
fprintf ((FILE), ",%d\n", (int)(SIZE)))
/* This says how to output an assembler line
to define a local common symbol. */
#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \
( fputs ("\t.lcomm ", (FILE)), \
assemble_name ((FILE), (NAME)), \
fprintf ((FILE), ",%d\n", (int)(SIZE)))
#define DWARF2_UNWIND_INFO 0

View File

@ -6,6 +6,3 @@
CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
TARGET_LIBGCC2_CFLAGS = -fPIC
# See all the declarations.
FIXPROTO_DEFINES = -D_XOPEN_SOURCE

View File

@ -1,6 +1,3 @@
# Don't run fixproto.
STMP_FIXPROTO =
# Build libgcc using the multilib mechanism
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

195
gcc/configure vendored
View File

@ -458,7 +458,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN OBJDUMP ac_ct_OBJDUMP ac_ct_AR STRIP ac_ct_STRIP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump gcc_cv_readelf libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs fortran_target_objs target_cpu_default GMPLIBS GMPINC PPLLIBS PPLINC CLOOGLIBS CLOOGINC LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS STMP_FIXINC collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN OBJDUMP ac_ct_OBJDUMP ac_ct_AR STRIP ac_ct_STRIP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump gcc_cv_readelf libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs fortran_target_objs target_cpu_default GMPLIBS GMPINC PPLLIBS PPLINC CLOOGLIBS CLOOGINC LIBOBJS LTLIBOBJS'
ac_subst_files='language_hooks'
ac_pwd=`pwd`
@ -10413,150 +10413,6 @@ _ACEOF
fi
# Try to determine the array type of the second argument of getgroups
# for the target system (int or gid_t).
echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6
if test "${ac_cv_type_uid_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <sys/types.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "uid_t" >/dev/null 2>&1; then
ac_cv_type_uid_t=yes
else
ac_cv_type_uid_t=no
fi
rm -f conftest*
fi
echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
echo "${ECHO_T}$ac_cv_type_uid_t" >&6
if test $ac_cv_type_uid_t = no; then
cat >>confdefs.h <<\_ACEOF
#define uid_t int
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define gid_t int
_ACEOF
fi
echo "$as_me:$LINENO: checking type of array argument to getgroups" >&5
echo $ECHO_N "checking type of array argument to getgroups... $ECHO_C" >&6
if test "${ac_cv_type_getgroups+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test "$cross_compiling" = yes; then
ac_cv_type_getgroups=cross
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Thanks to Mike Rendell for this test. */
#include <sys/types.h>
#define NGID 256
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
int
main ()
{
gid_t gidset[NGID];
int i, n;
union { gid_t gval; long lval; } val;
val.lval = -1;
for (i = 0; i < NGID; i++)
gidset[i] = val.gval;
n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
gidset);
/* Exit non-zero if getgroups seems to require an array of ints. This
happens when gid_t is short but getgroups modifies an array of ints. */
exit ((n > 0 && gidset[n] != val.gval) ? 1 : 0);
}
_ACEOF
rm -f conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_type_getgroups=gid_t
else
echo "$as_me: program exited with status $ac_status" >&5
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_type_getgroups=int
fi
rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
if test $ac_cv_type_getgroups = cross; then
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <unistd.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then
ac_cv_type_getgroups=gid_t
else
ac_cv_type_getgroups=int
fi
rm -f conftest*
fi
fi
echo "$as_me:$LINENO: result: $ac_cv_type_getgroups" >&5
echo "${ECHO_T}$ac_cv_type_getgroups" >&6
cat >>confdefs.h <<_ACEOF
#define GETGROUPS_T $ac_cv_type_getgroups
_ACEOF
if test "${target}" = "${build}"; then
TARGET_GETGROUPS_T=$ac_cv_type_getgroups
else
case "${target}" in
# This condition may need some tweaking. It should include all
# targets where the array type of the second argument of getgroups
# is int and the type of gid_t is not equivalent to int.
*-*-sunos* | *-*-ultrix*)
TARGET_GETGROUPS_T=int
;;
*)
TARGET_GETGROUPS_T=gid_t
;;
esac
fi
echo "$as_me:$LINENO: checking for sys/mman.h" >&5
echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6
@ -14019,7 +13875,7 @@ fi
# When building gcc with a cross-compiler, we need to adjust things so
# that the generator programs are still built with the native compiler.
# Also, we cannot run fixincludes or fix-header.
# Also, we cannot run fixincludes.
# These are the normal (build=host) settings:
CC_FOR_BUILD='$(CC)'
@ -14027,28 +13883,11 @@ BUILD_CFLAGS='$(ALL_CFLAGS)'
BUILD_LDFLAGS='$(LDFLAGS)'
STMP_FIXINC=stmp-fixinc
# Possibly disable fixproto, on a per-target basis.
case ${use_fixproto} in
no)
STMP_FIXPROTO=
;;
yes)
STMP_FIXPROTO=stmp-fixproto
;;
esac
# And these apply if build != host, or we are generating coverage data
if test x$build != x$host || test "x$coverage_flags" != x
then
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
if test "x$TARGET_SYSTEM_ROOT" = x; then
if test "x$STMP_FIXPROTO" != x; then
STMP_FIXPROTO=stmp-install-fixproto
fi
fi
fi
# Expand extra_headers to include complete path.
@ -14509,13 +14348,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:14512: $ac_compile\"" >&5)
(eval echo "\"\$as_me:14351: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
(eval echo "\"\$as_me:14515: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval echo "\"\$as_me:14354: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
(eval echo "\"\$as_me:14518: output\"" >&5)
(eval echo "\"\$as_me:14357: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@ -15672,7 +15511,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 15675 "configure"' > conftest.$ac_ext
echo '#line 15514 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@ -16971,11 +16810,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:16974: $lt_compile\"" >&5)
(eval echo "\"\$as_me:16813: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:16978: \$? = $ac_status" >&5
echo "$as_me:16817: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@ -17310,11 +17149,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:17313: $lt_compile\"" >&5)
(eval echo "\"\$as_me:17152: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:17317: \$? = $ac_status" >&5
echo "$as_me:17156: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@ -17415,11 +17254,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:17418: $lt_compile\"" >&5)
(eval echo "\"\$as_me:17257: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:17422: \$? = $ac_status" >&5
echo "$as_me:17261: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -17470,11 +17309,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:17473: $lt_compile\"" >&5)
(eval echo "\"\$as_me:17312: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:17477: \$? = $ac_status" >&5
echo "$as_me:17316: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -20282,7 +20121,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 20285 "configure"
#line 20124 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -20378,7 +20217,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 20381 "configure"
#line 20220 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -25516,7 +25355,6 @@ s,@AR@,$AR,;t t
s,@COLLECT2_LIBS@,$COLLECT2_LIBS,;t t
s,@GNAT_LIBEXC@,$GNAT_LIBEXC,;t t
s,@LDEXP_LIB@,$LDEXP_LIB,;t t
s,@TARGET_GETGROUPS_T@,$TARGET_GETGROUPS_T,;t t
s,@LIBICONV@,$LIBICONV,;t t
s,@LTLIBICONV@,$LTLIBICONV,;t t
s,@LIBICONV_DEP@,$LIBICONV_DEP,;t t
@ -25545,7 +25383,6 @@ s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
s,@STMP_FIXINC@,$STMP_FIXINC,;t t
s,@STMP_FIXPROTO@,$STMP_FIXPROTO,;t t
s,@collect2@,$collect2,;t t
s,@LIBTOOL@,$LIBTOOL,;t t
s,@SED@,$SED,;t t

View File

@ -2,7 +2,7 @@
# Process this file with autoconf to generate a configuration script.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
# 2007, 2008 Free Software Foundation, Inc.
# 2007, 2008, 2009 Free Software Foundation, Inc.
#This file is part of GCC.
@ -1022,26 +1022,6 @@ fi
AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_TYPE(caddr_t, char *)
# Try to determine the array type of the second argument of getgroups
# for the target system (int or gid_t).
AC_TYPE_GETGROUPS
if test "${target}" = "${build}"; then
TARGET_GETGROUPS_T=$ac_cv_type_getgroups
else
case "${target}" in
# This condition may need some tweaking. It should include all
# targets where the array type of the second argument of getgroups
# is int and the type of gid_t is not equivalent to int.
*-*-sunos* | *-*-ultrix*)
TARGET_GETGROUPS_T=int
;;
*)
TARGET_GETGROUPS_T=gid_t
;;
esac
fi
AC_SUBST(TARGET_GETGROUPS_T)
gcc_AC_FUNC_MMAP_BLACKLIST
case "${host}" in
@ -1742,7 +1722,7 @@ AC_SUBST(inhibit_libc)
# When building gcc with a cross-compiler, we need to adjust things so
# that the generator programs are still built with the native compiler.
# Also, we cannot run fixincludes or fix-header.
# Also, we cannot run fixincludes.
# These are the normal (build=host) settings:
CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
@ -1750,28 +1730,11 @@ BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
# Possibly disable fixproto, on a per-target basis.
case ${use_fixproto} in
no)
STMP_FIXPROTO=
;;
yes)
STMP_FIXPROTO=stmp-fixproto
;;
esac
AC_SUBST(STMP_FIXPROTO)
# And these apply if build != host, or we are generating coverage data
if test x$build != x$host || test "x$coverage_flags" != x
then
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
if test "x$TARGET_SYSTEM_ROOT" = x; then
if test "x$STMP_FIXPROTO" != x; then
STMP_FIXPROTO=stmp-install-fixproto
fi
fi
fi
# Expand extra_headers to include complete path.

View File

@ -1,7 +1,7 @@
/* Specialized bits of code needed to support construction and
destruction of file-scope objects in C++ code.
Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
2002, 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@monkeys.com).
This file is part of GCC.
@ -58,11 +58,9 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
identified the set of defines that need to go into auto-target.h,
this will have to do. */
#include "auto-host.h"
#undef gid_t
#undef pid_t
#undef rlim_t
#undef ssize_t
#undef uid_t
#undef vfork
#include "tconfig.h"
#include "tsystem.h"

View File

@ -653,7 +653,7 @@ provide a configure target when configuring a native compiler.
@item
@var{target} must be specified as @option{--target=@var{target}}
when configuring a cross compiler; examples of valid targets would be
m68k-coff, sh-elf, etc.
m68k-elf, sh-elf, etc.
@item
Specifying just @var{target} instead of @option{--target=@var{target}}
@ -2625,8 +2625,6 @@ information are.
@uref{#arc-x-elf,,arc-*-elf}
@item
@uref{#arm-x-elf,,arm-*-elf}
@uref{#arm-x-coff,,arm-*-coff}
@uref{#arm-x-aout,,arm-*-aout}
@item
@uref{#avr,,avr}
@item
@ -2847,21 +2845,6 @@ require GNU binutils 2.13 or newer. Such subtargets include:
@code{arm-*-freebsd}, @code{arm-*-netbsdelf}, @code{arm-*-*linux}
and @code{arm-*-rtems}.
@html
<hr />
@end html
@heading @anchor{arm-x-coff}arm-*-coff
ARM-family processors. Note that there are two different varieties
of PE format subtarget supported: @code{arm-wince-pe} and
@code{arm-pe} as well as a standard COFF target @code{arm-*-coff}.
@html
<hr />
@end html
@heading @anchor{arm-x-aout}arm-*-aout
ARM-family processors. These targets support the AOUT file format:
@code{arm-*-aout}, @code{arm-*-netbsd}.
@html
<hr />
@end html
@ -3316,6 +3299,7 @@ removed and the system libunwind library will always be used.
@end html
@heading @anchor{x-ibm-aix}*-ibm-aix*
Support for AIX version 3 and older was discontinued in GCC 3.4.
Support for AIX version 4.2 and older was discontinued in GCC 4.5.
``out of memory'' bootstrap failures may indicate a problem with
process resource limits (ulimit). Hard limits are configured in the
@ -3436,9 +3420,6 @@ GCC does not produce the same floating-point formats that the assembler
expects. If one encounters this problem, set the @env{LANG}
environment variable to @samp{C} or @samp{En_US}.
By default, GCC for AIX 4.1 and above produces code that can be used on
both Power or PowerPC processors.
A default can be specified with the @option{-mcpu=@var{cpu_type}}
switch and using the configure option @option{--with-cpu-@var{cpu_type}}.
@ -3481,7 +3462,7 @@ applications. There are no standard Unix configurations.
<hr />
@end html
@heading @anchor{m68k-x-x}m68k-*-*
By default, @samp{m68k-*-aout}, @samp{m68k-*-coff*},
By default,
@samp{m68k-*-elf*}, @samp{m68k-*-rtems}, @samp{m68k-*-uclinux} and
@samp{m68k-*-linux}
build libraries for both M680x0 and ColdFire processors. If you only

View File

@ -148,7 +148,6 @@ only one of these two forms, whichever one is not the default.
and register usage.
* Environment Variables:: Env vars that affect GCC.
* Precompiled Headers:: Compiling a header once, and using it many times.
* Running Protoize:: Automatically adding or removing function prototypes.
@end menu
@c man begin OPTIONS
@ -16487,156 +16486,3 @@ precompiled header, the actual behavior will be a mixture of the
behavior for the options. For instance, if you use @option{-g} to
generate the precompiled header but not when using it, you may or may
not get debugging information for routines in the precompiled header.
@node Running Protoize
@section Running Protoize
The program @code{protoize} is an optional part of GCC@. You can use
it to add prototypes to a program, thus converting the program to ISO
C in one respect. The companion program @code{unprotoize} does the
reverse: it removes argument types from any prototypes that are found.
When you run these programs, you must specify a set of source files as
command line arguments. The conversion programs start out by compiling
these files to see what functions they define. The information gathered
about a file @var{foo} is saved in a file named @file{@var{foo}.X}.
After scanning comes actual conversion. The specified files are all
eligible to be converted; any files they include (whether sources or
just headers) are eligible as well.
But not all the eligible files are converted. By default,
@code{protoize} and @code{unprotoize} convert only source and header
files in the current directory. You can specify additional directories
whose files should be converted with the @option{-d @var{directory}}
option. You can also specify particular files to exclude with the
@option{-x @var{file}} option. A file is converted if it is eligible, its
directory name matches one of the specified directory names, and its
name within the directory has not been excluded.
Basic conversion with @code{protoize} consists of rewriting most
function definitions and function declarations to specify the types of
the arguments. The only ones not rewritten are those for varargs
functions.
@code{protoize} optionally inserts prototype declarations at the
beginning of the source file, to make them available for any calls that
precede the function's definition. Or it can insert prototype
declarations with block scope in the blocks where undeclared functions
are called.
Basic conversion with @code{unprotoize} consists of rewriting most
function declarations to remove any argument types, and rewriting
function definitions to the old-style pre-ISO form.
Both conversion programs print a warning for any function declaration or
definition that they can't convert. You can suppress these warnings
with @option{-q}.
The output from @code{protoize} or @code{unprotoize} replaces the
original source file. The original file is renamed to a name ending
with @samp{.save} (for DOS, the saved filename ends in @samp{.sav}
without the original @samp{.c} suffix). If the @samp{.save} (@samp{.sav}
for DOS) file already exists, then the source file is simply discarded.
@code{protoize} and @code{unprotoize} both depend on GCC itself to
scan the program and collect information about the functions it uses.
So neither of these programs will work until GCC is installed.
Here is a table of the options you can use with @code{protoize} and
@code{unprotoize}. Each option works with both programs unless
otherwise stated.
@table @code
@item -B @var{directory}
Look for the file @file{SYSCALLS.c.X} in @var{directory}, instead of the
usual directory (normally @file{/usr/local/lib}). This file contains
prototype information about standard system functions. This option
applies only to @code{protoize}.
@item -c @var{compilation-options}
Use @var{compilation-options} as the options when running @command{gcc} to
produce the @samp{.X} files. The special option @option{-aux-info} is
always passed in addition, to tell @command{gcc} to write a @samp{.X} file.
Note that the compilation options must be given as a single argument to
@code{protoize} or @code{unprotoize}. If you want to specify several
@command{gcc} options, you must quote the entire set of compilation options
to make them a single word in the shell.
There are certain @command{gcc} arguments that you cannot use, because they
would produce the wrong kind of output. These include @option{-g},
@option{-O}, @option{-c}, @option{-S}, and @option{-o} If you include these in
the @var{compilation-options}, they are ignored.
@item -C
Rename files to end in @samp{.C} (@samp{.cc} for DOS-based file
systems) instead of @samp{.c}. This is convenient if you are converting
a C program to C++. This option applies only to @code{protoize}.
@item -g
Add explicit global declarations. This means inserting explicit
declarations at the beginning of each source file for each function
that is called in the file and was not declared. These declarations
precede the first function definition that contains a call to an
undeclared function. This option applies only to @code{protoize}.
@item -i @var{string}
Indent old-style parameter declarations with the string @var{string}.
This option applies only to @code{protoize}.
@code{unprotoize} converts prototyped function definitions to old-style
function definitions, where the arguments are declared between the
argument list and the initial @samp{@{}. By default, @code{unprotoize}
uses five spaces as the indentation. If you want to indent with just
one space instead, use @option{-i " "}.
@item -k
Keep the @samp{.X} files. Normally, they are deleted after conversion
is finished.
@item -l
Add explicit local declarations. @code{protoize} with @option{-l} inserts
a prototype declaration for each function in each block which calls the
function without any declaration. This option applies only to
@code{protoize}.
@item -n
Make no real changes. This mode just prints information about the conversions
that would have been done without @option{-n}.
@item -N
Make no @samp{.save} files. The original files are simply deleted.
Use this option with caution.
@item -p @var{program}
Use the program @var{program} as the compiler. Normally, the name
@file{gcc} is used.
@item -q
Work quietly. Most warnings are suppressed.
@item -v
Print the version number, just like @option{-v} for @command{gcc}.
@end table
If you need special compiler options to compile one of your program's
source files, then you should generate that file's @samp{.X} file
specially, by running @command{gcc} on that source file with the
appropriate options and the option @option{-aux-info}. Then run
@code{protoize} on the entire set of files. @code{protoize} will use
the existing @samp{.X} file because it is newer than the source file.
For example:
@smallexample
gcc -Dfoo=bar file1.c -aux-info file1.X
protoize *.c
@end smallexample
@noindent
You need to include the special files along with the rest in the
@code{protoize} command, even though their @samp{.X} files already
exist, because otherwise they won't get converted.
@xref{Protoize Caveats}, for more information on how to use
@code{protoize} successfully.

View File

@ -1,5 +1,5 @@
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
@c 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008
@c 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ -30,7 +30,6 @@ where people's opinions differ as to what is best.
compliant with the ISO C standard.
* Disappointments:: Regrettable things we can't change, but not quite bugs.
* C++ Misunderstandings:: Common misunderstandings with GNU C++.
* Protoize Caveats:: Things to watch out for when using @code{protoize}.
* Non-bugs:: Things we think are right, but some others disagree.
* Warnings and Errors:: Which problems in your code get warnings,
and which get errors.
@ -45,13 +44,6 @@ The @code{fixincludes} script interacts badly with automounters; if the
directory of system header files is automounted, it tends to be
unmounted while @code{fixincludes} is running. This would seem to be a
bug in the automounter. We don't know any good way to work around it.
@item
The @code{fixproto} script will sometimes add prototypes for the
@code{sigsetjmp} and @code{siglongjmp} functions that reference the
@code{jmp_buf} type before that type is defined. To work around this,
edit the offending file and place the typedef in front of the
prototypes.
@end itemize
@node Cross-Compiler Problems
@ -939,92 +931,6 @@ copy-assignment operator removes any uncertainties. With such an
operator, the application can define whether and how the virtual base
subobject is assigned.
@node Protoize Caveats
@section Caveats of using @command{protoize}
The conversion programs @command{protoize} and @command{unprotoize} can
sometimes change a source file in a way that won't work unless you
rearrange it.
@itemize @bullet
@item
@command{protoize} can insert references to a type name or type tag before
the definition, or in a file where they are not defined.
If this happens, compiler error messages should show you where the new
references are, so fixing the file by hand is straightforward.
@item
There are some C constructs which @command{protoize} cannot figure out.
For example, it can't determine argument types for declaring a
pointer-to-function variable; this you must do by hand. @command{protoize}
inserts a comment containing @samp{???} each time it finds such a
variable; so you can find all such variables by searching for this
string. ISO C does not require declaring the argument types of
pointer-to-function types.
@item
Using @command{unprotoize} can easily introduce bugs. If the program
relied on prototypes to bring about conversion of arguments, these
conversions will not take place in the program without prototypes.
One case in which you can be sure @command{unprotoize} is safe is when
you are removing prototypes that were made with @command{protoize}; if
the program worked before without any prototypes, it will work again
without them.
@opindex Wtraditional-conversion
You can find all the places where this problem might occur by compiling
the program with the @option{-Wtraditional-conversion} option. It
prints a warning whenever an argument is converted.
@item
Both conversion programs can be confused if there are macro calls in and
around the text to be converted. In other words, the standard syntax
for a declaration or definition must not result from expanding a macro.
This problem is inherent in the design of C and cannot be fixed. If
only a few functions have confusing macro calls, you can easily convert
them manually.
@item
@command{protoize} cannot get the argument types for a function whose
definition was not actually compiled due to preprocessing conditionals.
When this happens, @command{protoize} changes nothing in regard to such
a function. @command{protoize} tries to detect such instances and warn
about them.
You can generally work around this problem by using @command{protoize} step
by step, each time specifying a different set of @option{-D} options for
compilation, until all of the functions have been converted. There is
no automatic way to verify that you have got them all, however.
@item
Confusion may result if there is an occasion to convert a function
declaration or definition in a region of source code where there is more
than one formal parameter list present. Thus, attempts to convert code
containing multiple (conditionally compiled) versions of a single
function header (in the same vicinity) may not produce the desired (or
expected) results.
If you plan on converting source files which contain such code, it is
recommended that you first make sure that each conditionally compiled
region of source code which contains an alternative function header also
contains at least one additional follower token (past the final right
parenthesis of the function header). This should circumvent the
problem.
@item
@command{unprotoize} can become confused when trying to convert a function
definition or declaration which contains a declaration for a
pointer-to-function formal argument which has the same name as the
function being defined or declared. We recommend you avoid such choices
of formal parameter names.
@item
You might also want to correct some of the indentation by hand and break
long lines. (The conversion programs don't write lines longer than
eighty characters in any case.)
@end itemize
@node Non-bugs
@section Certain Changes We Don't Want to Make

File diff suppressed because it is too large Load Diff

View File

@ -1,340 +0,0 @@
#!/bin/sh
#
# SYNOPSIS
# fixproto TARGET-DIR SOURCE-DIR-ALL SOURCE-DIR-STD
#
# COPYRIGHT
# Copyright (C) 1993, 1994, 1997, 1998, 2002, 2003, 2007, 2008
# Free Software Foundation, Inc.
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
#
# DESCRIPTION
# Adjunct script for GCC to populate a directory with ANSI,
# Posix.1, and C++ compatible header files.
#
# Each file found under SOURCE-DIR-ALL is analyzed and "fixed."
# Only standard ANSI/POSIX files found under SOURCE-DIR-STD
# are analyzed and "fixed."
# The SOURCE-DIRs are searched in order; a file found
# under multiple SOURCE-DIRs is only handled for the first one.
#
# STRATEGY
# Each include file is fed through cpp, and the scan-decls program
# parses it, and emits any found function declarations.
# The fix-header program analyzes the scan-decls output,
# together with the original include file, and writes a "fixed"
# include file, if needed.
#
# The comment at the beginning of fix-header.c lists specifically
# what kind of changes are made.
#
# NOTE
# Some file space will be wasted, because the original header
# files are copied. An earlier version just included the original
# by "reference", using GNU cpp's #include_next mechanism.
# This is currently not done, partly because #include_next is
# fragile (susceptible to version incompatibilities, and depends
# and GCC-specific features), and partly for performance reasons.
#
# AUTHORS
# Ron Guilmette (rfg@netcom.com) (original idea and code)
# Per Bothner (bothner@cygnus.com) (major re-write)
dirname=`echo "$0" | sed 's,^[^/]*$,.,;s,//*[^/]*$,,'`
progname=`echo "$0" | sed 's,.*/,,'`
original_dir=`${PWDCMD-pwd}`
FIX_HEADER=${FIX_HEADER-$original_dir/fix-header}
DEFINES="-D__STDC__=0 -D__cplusplus ${FIXPROTO_DEFINES}"
if mkdir -p . 2> /dev/null; then
# Great, mkdir accepts -p
mkinstalldirs="mkdir -p"
else
# We expect mkinstalldirs to be passed in the environment.
# If it is not, assume it is in the directory that contains this script.
mkinstalldirs=${mkinstalldirs-"/bin/sh $dirname/mkinstalldirs"}
if $mkinstalldirs . 2> /dev/null; then
:
else
# But, in case of failure, fallback to plain mkdir, and hope it works
mkinstalldirs=mkdir
fi
fi
if [ `echo $1 | wc -w` = 0 ] ; then
echo $progname\: usage\: $progname target-dir \[ source-dir \.\.\. \]
exit 1
fi
std_files="ctype.h dirent.h errno.h curses.h fcntl.h grp.h locale.h math.h pwd.h setjmp.h signal.h stdio.h stdlib.h string.h sys/socket.h sys/stat.h sys/times.h sys/resource.h sys/utsname.h sys/wait.h tar.h termios.h time.h unistd.h utime.h"
rel_target_dir=$1
# All files in $src_dir_all (normally same as $rel_target_dir) are
# processed.
src_dir_all=$2
# In $src_dir_std (normally same as /usr/include), only the
# "standard" ANSI/POSIX files listed in $std_files are processed.
src_dir_std=$3
case $rel_target_dir in
/* | [A-Za-z]:[\\/]*)
abs_target_dir=$rel_target_dir
;;
*)
abs_target_dir=$original_dir/$rel_target_dir
;;
esac
# Determine whether this system has symbolic links.
if ln -s X $rel_target_dir/ShouldNotExist 2>/dev/null; then
rm -f $rel_target_dir/ShouldNotExist
LINKS=true
elif ln -s X /tmp/ShouldNotExist 2>/dev/null; then
rm -f /tmp/ShouldNotExist
LINKS=true
else
LINKS=false
fi
if [ \! -d $abs_target_dir ] ; then
echo $progname\: creating directory $rel_target_dir
$mkinstalldirs $abs_target_dir
fi
echo $progname\: populating \`$rel_target_dir\'
include_path=""
if [ `echo $* | wc -w` != 0 ] ; then
for rel_source_dir in $src_dir_all $src_dir_std; do
case $rel_source_dir in
/* | [A-Za-z]:[\\/]*)
abs_source_dir=$rel_source_dir
;;
*)
abs_source_dir=$original_dir/$rel_source_dir
;;
esac
include_path="$include_path -I$abs_source_dir"
done
fi
done_dirs=""
subdirs_made=""
echo "" >fixproto.list
for code in ALL STD ; do
subdirs="."
case $code in
ALL)
rel_source_dir=$src_dir_all
dirs="."
levels=2
while $LINKS && test -n "$dirs" -a $levels -gt 0
do
levels=`expr $levels - 1`
newdirs=
for d in $dirs ; do
# Find all directories under $d, relative to $d, excluding $d itself.
# Assume directory names ending in CC or containing ++ are
# for C++, so skip those.
subdirs="$subdirs "`cd $rel_source_dir/$d; find . -type d -print | \
sed -e '/^\.$/d' -e "s|^\./|${d}/|" -e 's|^\./||' \
-e '/CC$/d' -e '/[+][+]/d'`
links=
links=`cd $rel_source_dir; find $d/. -type l -print | \
sed -e "s|$d/./|$d/|" -e 's|^\./||'`
for link in $links --dummy-- ; do
test -d $rel_source_dir/$link/. && newdirs="$newdirs $link"
done
done
dirs="$newdirs"
subdirs="$subdirs $newdirs"
done
;;
STD)
rel_source_dir=$src_dir_std
;;
esac
case $rel_source_dir in
/* | [A-Za-z]:[\\/]*)
abs_source_dir=$rel_source_dir
;;
*)
abs_source_dir=$original_dir/$rel_source_dir
;;
esac
if [ \! -d $abs_source_dir ] ; then
echo $progname\: warning\: no such directory\: \`$rel_source_dir\'
continue
fi
for rel_source_subdir in $subdirs; do
abs_target_subdir=${abs_target_dir}/${rel_source_subdir}
if [ \! -d $abs_target_subdir ] ; then
if $mkinstalldirs $abs_target_subdir ; then
subdirs_made="$abs_target_subdir $subdirs_made"
fi
fi
# Append "/"; remove initial "./". Hence "." -> "" and "sys" -> "sys/".
rel_source_prefix=`echo $rel_source_subdir | sed -e 's|$|/|' -e 's|^\./||'`
case $code in
ALL)
# The 'sed' is in case the *.h matches nothing, which yields "*.h"
# which would then get re-globbed in the current directory. Sigh.
rel_source_files=`cd ${abs_source_dir}/${rel_source_subdir}; echo *.h | sed -e 's|[*].h|NONE|'`
;;
STD)
files_to_check="$std_files"
rel_source_files=""
# Also process files #included by the $std_files.
while [ -n "${files_to_check}" ]
do
new_files_to_check=""
for file in $files_to_check ; do
xxfile=`echo $file | sed -e 's|/\([^/\.][^/\.]*\)/\.\./|/|'`
# Create the dir where this file will go when fixed.
xxdir=`echo ./$file | sed -e 's|/[^/]*$||'`
if [ \! -d $abs_target_subdir/$xxdir ] ; then
if $mkinstalldirs $abs_target_subdir/$xxdir ; then
subdirs_made="$abs_target_subdir/$xxdir $subdirs_made"
fi
fi
# Just in case we have edited out a symbolic link
if [ -f $src_dir_std/$file -a -f $src_dir_std/$xxfile ] ; then
file=$xxfile
fi
case " $rel_source_files " in
*" ${file} "*)
# Already seen $file; nothing to do
;;
*)
if test -f $src_dir_std/$file ; then
rel_dir=`echo $file | sed -n -e 's|^\(.*/\)[^/]*$|\1|p'`
# For #include "foo.h", that might be either "foo.h"
# or "${rel_dir}foo.h (or something bogus).
new_files_to_check="$new_files_to_check "`sed -n \
-e 's@ @ @g' \
-e 's@^ *# *include *<\([^>]*\)>.*$@\1@p' -e \
's@^ *# *include *\"\([^\"]*\)\".*$@\1 '$rel_dir'\1@p'\
<$src_dir_std/$file`
rel_source_files="$rel_source_files $file"
fi
;;
esac
done
files_to_check="$new_files_to_check"
done
rel_source_files="$rel_source_files"
;;
esac
for filename in $rel_source_files ; do
rel_source_file=${rel_source_prefix}${filename}
abs_source_file=$abs_source_dir/$rel_source_file
abs_target_file=$abs_target_dir/$rel_source_file
if test "$filename" = 'NONE' ; then
echo "(No *.h files in $abs_source_dir/$rel_source_subdir)"
# If target file exists, check if was written while processing one
# of the earlier source directories; if so ignore it.
elif test -f $abs_target_file -a -n "$done_dirs" \
&& grep "$rel_source_file" fixproto.list >/dev/null
then true
else
$FIX_HEADER $rel_source_file $abs_source_file $abs_target_file ${DEFINES} $include_path
if test $? != 0 ; then exit 1 ; fi
echo "${rel_source_file}" >>fixproto.list
fi
done
done
done_dirs="$done_dir $rel_source_dir"
done
# This might be more cleanly moved into the main loop, by adding
# a <dummy> source directory at the end. FIXME!
# All the headers we create define size_t and NULL.
for rel_source_file in unistd.h stdlib.h string.h time.h ; do
if grep "$rel_source_file" fixproto.list >/dev/null ; then
: # It exists, we don't need to make it
else
echo Adding missing $rel_source_file
rel_source_ident=`echo $rel_source_file | tr ./ __`
cat >tmp.h <<EOF
/* Fake ${rel_source_file}, created by GCC.
The functions declared in this file do not necessarily exist in
your C library. */
#ifndef __${rel_source_ident}
#define __${rel_source_ident}
#define __need_NULL
#define __need_size_t
#include <stddef.h>
EOF
# Insert special stuff for particular files here.
case ${rel_source_file} in
time.h)
# If time.h doesn't exist, find out if sys/time.h does.
if test -f $src_dir_std/sys/time.h \
|| grep "sys/time.h" fixproto.list >/dev/null ; then
# It does; include it and hope it has the needed declarations.
# Some versions require sys/types.h.
cat >>tmp.h <<EOF
#include <sys/types.h>
#include <sys/time.h>
EOF
else
# It doesn't. Make up plausible definitions for time_t, clock_t.
# Forward-declare struct tm. Hope nobody tries to use it. (Odds
# are they won't.)
cat >>tmp.h <<EOF
typedef long time_t;
typedef long clock_t;
struct tm;
EOF
fi ;;
esac
cat >>tmp.h <<EOF
#endif /* __${rel_source_ident} */
EOF
${FIX_HEADER} $rel_source_file tmp.h $abs_target_dir/$rel_source_file ${DEFINES} $include_path
if test $? != 0 ; then exit 1 ; fi
if test -f $abs_target_dir/$rel_source_file ; then
rm tmp.h
else
mv tmp.h $abs_target_dir/$rel_source_file
fi
fi
done
# Remove any directories that we made that are still empty.
rmdir $subdirs_made 2>/dev/null
exit 0

View File

@ -1,191 +0,0 @@
/* gen-protos.c - massages a list of prototypes, for use by fixproto.
Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2003, 2004, 2005, 2007
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "bconfig.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "scan.h"
#include "errors.h"
int verbose = 0;
static void add_hash (const char *);
static int parse_fn_proto (char *, char *, struct fn_decl *);
#define HASH_SIZE 2503 /* a prime */
int hash_tab[HASH_SIZE];
int next_index;
int collisions;
static void
add_hash (const char *fname)
{
int i, i0;
/* NOTE: If you edit this, also edit lookup_std_proto in fix-header.c !! */
i = hashstr (fname, strlen (fname)) % HASH_SIZE;
i0 = i;
if (hash_tab[i] != 0)
{
collisions++;
for (;;)
{
i = (i+1) % HASH_SIZE;
gcc_assert (i != i0);
if (hash_tab[i] == 0)
break;
}
}
hash_tab[i] = next_index;
next_index++;
}
/* Given a function prototype, fill in the fields of FN.
The result is a boolean indicating if a function prototype was found.
The input string is modified (trailing NULs are inserted).
The fields of FN point to the input string. */
static int
parse_fn_proto (char *start, char *end, struct fn_decl *fn)
{
char *ptr;
int param_nesting = 1;
char *param_start, *param_end, *decl_start, *name_start, *name_end;
ptr = end - 1;
while (*ptr == ' ' || *ptr == '\t') ptr--;
if (*ptr-- != ';')
{
fprintf (stderr, "Funny input line: %s\n", start);
return 0;
}
while (*ptr == ' ' || *ptr == '\t') ptr--;
if (*ptr != ')')
{
fprintf (stderr, "Funny input line: %s\n", start);
return 0;
}
param_end = ptr;
for (;;)
{
int c = *--ptr;
if (c == '(' && --param_nesting == 0)
break;
else if (c == ')')
param_nesting++;
}
param_start = ptr+1;
ptr--;
while (*ptr == ' ' || *ptr == '\t') ptr--;
if (!ISALNUM ((unsigned char)*ptr))
{
if (verbose)
fprintf (stderr, "%s: Can't handle this complex prototype: %s\n",
progname, start);
return 0;
}
name_end = ptr+1;
while (ISIDNUM (*ptr))
--ptr;
name_start = ptr+1;
while (*ptr == ' ' || *ptr == '\t') ptr--;
ptr[1] = 0;
*param_end = 0;
*name_end = 0;
decl_start = start;
if (strncmp (decl_start, "typedef ", 8) == 0)
return 0;
if (strncmp (decl_start, "extern ", 7) == 0)
decl_start += 7;
fn->fname = name_start;
fn->rtype = decl_start;
fn->params = param_start;
return 1;
}
int
main (int argc ATTRIBUTE_UNUSED, char **argv)
{
FILE *inf = stdin;
FILE *outf = stdout;
int i;
sstring linebuf;
struct fn_decl fn_decl;
i = strlen (argv[0]);
while (i > 0 && argv[0][i-1] != '/') --i;
progname = &argv[0][i];
/* Unlock the stdio streams. */
unlock_std_streams ();
INIT_SSTRING (&linebuf);
fprintf (outf, "struct fn_decl std_protos[] = {\n");
/* A hash table entry of 0 means "unused" so reserve it. */
fprintf (outf, " {\"\", \"\", \"\", 0},\n");
next_index = 1;
for (;;)
{
int c = skip_spaces (inf, ' ');
if (c == EOF)
break;
linebuf.ptr = linebuf.base;
ungetc (c, inf);
c = read_upto (inf, &linebuf, '\n');
if (linebuf.base[0] == '#') /* skip cpp command */
continue;
if (linebuf.base[0] == '\0') /* skip empty line */
continue;
if (! parse_fn_proto (linebuf.base, linebuf.ptr, &fn_decl))
continue;
add_hash (fn_decl.fname);
fprintf (outf, " {\"%s\", \"%s\", \"%s\", 0},\n",
fn_decl.fname, fn_decl.rtype, fn_decl.params);
if (c == EOF)
break;
}
fprintf (outf, " {0, 0, 0, 0}\n};\n");
fprintf (outf, "#define HASH_SIZE %d\n", HASH_SIZE);
fprintf (outf, "short hash_tab[HASH_SIZE] = {\n");
for (i = 0; i < HASH_SIZE; i++)
fprintf (outf, " %d,\n", hash_tab[i]);
fprintf (outf, "};\n");
fprintf (stderr, "gen-protos: %d entries %d collisions\n",
next_index, collisions);
return 0;
}

View File

@ -1,3 +1,8 @@
2009-03-28 Joseph Myers <joseph@codesourcery.com>
* EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
scan.h): Remove.
2009-03-03 Joseph Myers <joseph@codesourcery.com>
* es.po: Update.

View File

@ -43,8 +43,6 @@ unwind.h
# These programs are meant to be executed only by GCC maintainers or
# installers. Such files do not need to be translated, as these
# people typically need to be able to read English anyway.
fix-header.c
gen-protos.c
genattr.c
genattrtab.c
genautomata.c
@ -66,9 +64,6 @@ genpreds.c
genrecog.c
gensupport.c
gensupport.h
scan-decls.c
scan.c
scan.h
# These files are not yet internationalized, because they contain
# many strings that require a lot of analysis, and are little-used.

File diff suppressed because it is too large Load Diff

View File

@ -1,250 +0,0 @@
/* scan-decls.c - Extracts declarations from cpp output.
Copyright (C) 1993, 1995, 1997, 1998,
1999, 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Written by Per Bothner <bothner@cygnus.com>, July 1993. */
#include "bconfig.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "cpplib.h"
#include "scan.h"
static void skip_to_closing_brace (cpp_reader *);
static const cpp_token *get_a_token (cpp_reader *);
int brace_nesting = 0;
/* The first extern_C_braces_length elements of extern_C_braces
indicate the (brace nesting levels of) left braces that were
prefixed by extern "C". */
int extern_C_braces_length = 0;
/* 20 is not enough anymore on Solaris 9. */
#define MAX_EXTERN_C_BRACES 200
char extern_C_braces[MAX_EXTERN_C_BRACES];
#define in_extern_C_brace (extern_C_braces_length>0)
/* True if the function declaration currently being scanned is
prefixed by extern "C". */
int current_extern_C = 0;
/* Get a token but skip padding. */
static const cpp_token *
get_a_token (cpp_reader *pfile)
{
for (;;)
{
const cpp_token *result = cpp_get_token (pfile);
if (result->type != CPP_PADDING)
return result;
}
}
static void
skip_to_closing_brace (cpp_reader *pfile)
{
int nesting = 1;
for (;;)
{
enum cpp_ttype token = get_a_token (pfile)->type;
if (token == CPP_EOF)
break;
if (token == CPP_OPEN_BRACE)
nesting++;
if (token == CPP_CLOSE_BRACE && --nesting == 0)
break;
}
}
/* This function scans a C source file (actually, the output of cpp),
reading from FP. It looks for function declarations, and
external variable declarations.
The following grammar (as well as some extra stuff) is recognized:
declaration:
(decl-specifier)* declarator ("," declarator)* ";"
decl-specifier:
identifier
keyword
extern "C"
declarator:
(ptr-operator)* dname [ "(" argument-declaration-list ")" ]
ptr-operator:
("*" | "&") ("const" | "volatile")*
dname:
identifier
Here dname is the actual name being declared.
*/
int
scan_decls (cpp_reader *pfile, int argc ATTRIBUTE_UNUSED,
char **argv ATTRIBUTE_UNUSED)
{
int saw_extern, saw_inline;
cpp_token prev_id;
const cpp_token *token;
new_statement:
token = get_a_token (pfile);
handle_statement:
current_extern_C = 0;
saw_extern = 0;
saw_inline = 0;
if (token->type == CPP_OPEN_BRACE)
{
/* Pop an 'extern "C"' nesting level, if appropriate. */
if (extern_C_braces_length
&& extern_C_braces[extern_C_braces_length - 1] == brace_nesting)
extern_C_braces_length--;
brace_nesting--;
goto new_statement;
}
if (token->type == CPP_OPEN_BRACE)
{
brace_nesting++;
goto new_statement;
}
if (token->type == CPP_EOF)
return 0;
if (token->type == CPP_SEMICOLON)
goto new_statement;
if (token->type != CPP_NAME)
goto new_statement;
prev_id.type = CPP_EOF;
for (;;)
{
switch (token->type)
{
default:
goto handle_statement;
case CPP_MULT:
case CPP_AND:
/* skip */
break;
case CPP_COMMA:
case CPP_SEMICOLON:
if (prev_id.type != CPP_EOF && saw_extern)
{
recognized_extern (&prev_id);
}
if (token->type == CPP_COMMA)
break;
/* ... fall through ... */
case CPP_OPEN_BRACE: case CPP_CLOSE_BRACE:
goto new_statement;
case CPP_EOF:
return 0;
case CPP_OPEN_PAREN:
/* Looks like this is the start of a formal parameter list. */
if (prev_id.type != CPP_EOF)
{
int nesting = 1;
int have_arg_list = 0;
const struct line_map *map;
unsigned int line;
for (;;)
{
token = get_a_token (pfile);
if (token->type == CPP_OPEN_PAREN)
nesting++;
else if (token->type == CPP_CLOSE_PAREN)
{
nesting--;
if (nesting == 0)
break;
}
else if (token->type == CPP_EOF)
break;
else if (token->type == CPP_NAME
|| token->type == CPP_ELLIPSIS)
have_arg_list = 1;
}
map = linemap_lookup (&line_table, token->src_loc);
line = SOURCE_LINE (map, token->src_loc);
recognized_function (&prev_id, line,
(saw_inline ? 'I'
: in_extern_C_brace || current_extern_C
? 'F' : 'f'), have_arg_list);
token = get_a_token (pfile);
if (token->type == CPP_OPEN_BRACE)
{
/* skip body of (normally) inline function */
skip_to_closing_brace (pfile);
goto new_statement;
}
/* skip a possible __attribute__ or throw expression after the
parameter list */
while (token->type != CPP_SEMICOLON && token->type != CPP_EOF)
token = get_a_token (pfile);
if (token->type == CPP_EOF)
return 0;
goto new_statement;
}
break;
case CPP_NAME:
/* "inline" and "extern" are recognized but skipped */
if (cpp_ideq (token, "inline"))
{
saw_inline = 1;
}
else if (cpp_ideq (token, "extern"))
{
saw_extern = 1;
token = get_a_token (pfile);
if (token->type == CPP_STRING
&& token->val.str.len == 1
&& token->val.str.text[0] == 'C')
{
current_extern_C = 1;
token = get_a_token (pfile);
if (token->type == CPP_OPEN_BRACE)
{
brace_nesting++;
extern_C_braces[extern_C_braces_length++]
= brace_nesting;
if (extern_C_braces_length >= MAX_EXTERN_C_BRACES)
{
fprintf (stderr,
"Internal error: out-of-bounds index\n");
exit (FATAL_EXIT_CODE);
}
goto new_statement;
}
}
else
continue;
break;
}
/* This may be the name of a variable or function. */
prev_id = *token;
break;
}
token = get_a_token (pfile);
}
}

View File

@ -1,142 +0,0 @@
#! /bin/sh
# Deduce values of standard ANSI and POSIX types (e.g. size_t, pid_t).
# Emits macros definitions for these, and some other types.
# Intended to be used to massage the sys-protos.h file.
# Expects one arg, which is the GCC source directory.
CC=${CC-"./xgcc -B$1/"}
CPP=${CPP-`echo ${CC} -E -I"$1/"`}
SED=sed
# Generate definitions for the standard types (such as mode_t)
# compatible with those in the standard C header files.
# It works by a dummy program through the C pre-processor, and then
# using sed to search for typedefs in the output.
cat >st-dummy.c <<!EOF!
#include <sys/types.h>
#include <stddef.h>
#include <stdarg.h>
#include <stdio.h>
#include <time.h>
#include <signal.h>
#ifdef size_t
typedef size_t Xsize_t;
#elif defined(__SIZE_TYPE__)
typedef __SIZE_TYPE__ Xsize_t;
#endif
#ifdef va_list
typedef va_list XXXva_list;
#endif
!EOF!
if ${CPP} st-dummy.c >TMP ; then true
else
echo "scan-types: could not invoke ${CPP} on st-dummy.c" 1>&2 ; exit 1
fi
tr ' ' ' ' <TMP >st-dummy.out
for TYPE in dev_t clock_t fpos_t gid_t ino_t mode_t nlink_t off_t pid_t size_t ssize_t time_t uid_t va_list int32_t uint_32_t ; do
IMPORTED=`eval 'echo $'"$TYPE"`
if [ -n "${IMPORTED}" ] ; then
eval "$TYPE='$IMPORTED"
else
# Search st-dummy.out for a typedef for $TYPE, and write it out
# to TMP in #define syntax.
rm -f TMP
${SED} -n -e "s|.*typedef *\(.*\) X*$TYPE *;.*|\1|w TMP" <st-dummy.out>/dev/null
# Now select the first definition.
if [ -s TMP ]; then
# VALUE is now the typedef'd definition of $TYPE.
eval "VALUE='`${SED} -e 's| *$||' -e '2,$d' <TMP`'"
# Unless VALUE contains a blank, look for a typedef for it
# in turn (this could be a loop, but that would be over-kill).
# Ensure $VALUE is double quoted to protect cases where it
# contains an asterisk and would cause filename expansion.
# E.g. when va_list is "char *".
if echo "$VALUE" | grep " " >/dev/null ; then true
else
rm -f TMP
${SED} -n -e "s|.*typedef[ ][ ]*\(.*[^a-zA-Z0-9_]\)${VALUE}[ ]*;.*|\1|w TMP" <st-dummy.out>/dev/null
if [ -s TMP ]; then
eval "VALUE='`${SED} -e '2,$d' -e 's|[ ]*$||' <TMP`'"
fi
fi
eval "$TYPE='$VALUE'"
fi
fi
done
cat <<!EOF!
#define ${macro_prefix}clock_t ${clock_t-int /* default */}
#define ${macro_prefix}dev_t ${dev_t-int /* default */}
#define ${macro_prefix}fpos_t ${fpos_t-long /* default */}
#define ${macro_prefix}gid_t ${gid_t-int /* default */}
#define ${macro_prefix}ino_t ${ino_t-int /* default */}
#define ${macro_prefix}mode_t ${mode_t-int /* default */}
#define ${macro_prefix}nlink_t ${nlink_t-int /* default */}
#define ${macro_prefix}off_t ${off_t-long /* default */}
#define ${macro_prefix}pid_t ${pid_t-int /* default */}
#define ${macro_prefix}ptrdiff_t __PTRDIFF_TYPE__
#define ${macro_prefix}size_t __SIZE_TYPE__
#define ${macro_prefix}time_t ${time_t-int /* default */}
#define ${macro_prefix}uid_t ${uid_t-int /* default */}
#define ${macro_prefix}wchar_t __WCHAR_TYPE__
#define ${macro_prefix}int32_t ${int32_t-int /* default */}
#define ${macro_prefix}uint32_t ${uint32_t-unsigned int /* default */}
!EOF!
# (wait_arg_t*) should be (int*), according to Posix, but
# BSD traditionally used (union wait*). Use (void*) to allow either usage.
echo "#define ${macro_prefix}wait_arg_t void"
# ssize_t is the signed version of size_t
if [ -n "${ssize_t}" ] ; then
echo "#define ${macro_prefix}ssize_t ${ssize_t}"
elif [ -z "${size_t}" ] ; then
echo "#define ${macro_prefix}ssize_t long"
else
# Remove "unsigned" from ${size_t} to get ${ssize_t}.
tmp="`echo ${size_t} | ${SED} -e 's|unsigned||g' -e 's| | |g'`"
if [ -z "$tmp" ] ; then
tmp=int
else
# check $tmp doesn't conflict with <unistd.h>
echo "#include <unistd.h>
extern $tmp read();" >st-dummy.c
${CC} -c st-dummy.c >/dev/null 2>&1 || tmp=int
fi
echo "#define ${macro_prefix}ssize_t $tmp /* default */"
fi
# va_list can cause problems (e.g. some systems have va_list as a struct).
# Check to see if ${va_list-char*} really is compatible with stdarg.h.
cat >st-dummy.c <<!EOF!
#define X_va_list ${va_list-char* /* default */}
extern long foo(X_va_list ap); /* Check that X_va_list compiles on its own */
#include <stdarg.h>
long foo(X_va_list ap) { return va_arg(ap, long); }
long bar(int i, ...)
{ va_list ap; long j; va_start(ap, i); j = foo(ap); va_end(ap); return j; }
!EOF!
if ${CC} -c st-dummy.c >/dev/null 2>&1 ; then
# Ok: We have something that works.
echo "#define ${macro_prefix}va_list ${va_list-char* /* default */}"
else
# No, it breaks. Indicate that <stdarg.h> must be included.
echo "#define ${macro_prefix}NEED_STDARG_H
#define ${macro_prefix}va_list va_list"
fi
# stuff needed for curses.h
# This isn't correct for SVR4 (for example). However, we only
# use this when adding a missing prototype, so it shouldn't matter.
echo "#define chtype int"
# sys-protos.h uses non-standard names (due to the CHTYPE argument problem).
echo "#define box32 box"
echo "#define initscr32 initscr"
echo "#define w32addch waddch"
echo "#define w32insch winsch"
rm -f st-dummy.c st-dummy.o TMP st-dummy.out

View File

@ -1,241 +0,0 @@
/* Utility functions for scan-decls and fix-header programs.
Copyright (C) 1993, 1994, 1998, 2002, 2003, 2007, 2008
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "bconfig.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "scan.h"
int lineno = 1;
int source_lineno = 1;
sstring source_filename;
void
make_sstring_space (sstring *str, int count)
{
int cur_pos = str->ptr - str->base;
int cur_size = str->limit - str->base;
int new_size = cur_pos + count + 100;
if (new_size <= cur_size)
return;
str->base = (char *) xrealloc (str->base, new_size);
str->ptr = str->base + cur_size;
str->limit = str->base + new_size;
}
void
sstring_append (sstring *dst, sstring *src)
{
char *d, *s;
int count = SSTRING_LENGTH (src);
MAKE_SSTRING_SPACE (dst, count + 1);
d = dst->ptr;
s = src->base;
while (--count >= 0) *d++ = *s++;
dst->ptr = d;
*d = 0;
}
int
scan_ident (FILE *fp, sstring *s, int c)
{
s->ptr = s->base;
if (ISIDST (c))
{
for (;;)
{
SSTRING_PUT (s, c);
c = getc (fp);
if (c == EOF || ! ISIDNUM (c))
break;
}
}
MAKE_SSTRING_SPACE (s, 1);
*s->ptr = 0;
return c;
}
int
scan_string (FILE *fp, sstring *s, int init)
{
int c;
for (;;)
{
c = getc (fp);
if (c == EOF || c == '\n')
break;
if (c == init)
{
c = getc (fp);
break;
}
if (c == '\\')
{
c = getc (fp);
if (c == EOF)
break;
if (c == '\n')
continue;
}
SSTRING_PUT (s, c);
}
MAKE_SSTRING_SPACE (s, 1);
*s->ptr = 0;
return c;
}
/* Skip horizontal white spaces (spaces, tabs, and C-style comments). */
int
skip_spaces (FILE *fp, int c)
{
for (;;)
{
if (c == ' ' || c == '\t')
c = getc (fp);
else if (c == '/')
{
c = getc (fp);
if (c != '*')
{
ungetc (c, fp);
return '/';
}
c = getc (fp);
for (;;)
{
if (c == EOF)
return EOF;
else if (c != '*')
{
if (c == '\n')
source_lineno++, lineno++;
c = getc (fp);
}
else if ((c = getc (fp)) == '/')
return getc (fp);
}
}
else
break;
}
return c;
}
int
read_upto (FILE *fp, sstring *str, int delim)
{
int ch;
for (;;)
{
ch = getc (fp);
if (ch == EOF || ch == delim)
break;
SSTRING_PUT (str, ch);
}
MAKE_SSTRING_SPACE (str, 1);
*str->ptr = 0;
return ch;
}
int
get_token (FILE *fp, sstring *s)
{
int c;
s->ptr = s->base;
retry:
c = ' ';
c = skip_spaces (fp, c);
if (c == '\n')
{
source_lineno++;
lineno++;
goto retry;
}
if (c == '#')
{
c = get_token (fp, s);
if (c == INT_TOKEN)
{
source_lineno = atoi (s->base) - 1; /* '\n' will add 1 */
get_token (fp, &source_filename);
}
for (;;)
{
c = getc (fp);
if (c == EOF)
return EOF;
if (c == '\n')
{
source_lineno++;
lineno++;
goto retry;
}
}
}
if (c == EOF)
return EOF;
if (ISDIGIT (c))
{
do
{
SSTRING_PUT (s, c);
c = getc (fp);
} while (c != EOF && ISDIGIT (c));
ungetc (c, fp);
c = INT_TOKEN;
goto done;
}
if (ISIDST (c))
{
c = scan_ident (fp, s, c);
ungetc (c, fp);
return IDENTIFIER_TOKEN;
}
if (c == '\'' || c == '"')
{
c = scan_string (fp, s, c);
ungetc (c, fp);
return c == '\'' ? CHAR_TOKEN : STRING_TOKEN;
}
SSTRING_PUT (s, c);
done:
MAKE_SSTRING_SPACE (s, 1);
*s->ptr = 0;
return c;
}
unsigned int
hashstr (const char *str, unsigned int len)
{
unsigned int n = len;
unsigned int r = 0;
const unsigned char *s = (const unsigned char *) str;
do
r = r * 67 + (*s++ - 113);
while (--n);
return r + len;
}

View File

@ -1,75 +0,0 @@
/* scan.h - Utility declarations for scan-decls and fix-header programs.
Copyright (C) 1993, 1998, 1999, 2003, 2004, 2007, 2008 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include <stdio.h>
typedef struct sstring
{
char *base;
char *ptr;
char *limit;
} sstring;
#define INIT_SSTRING(STR) ((STR)->base = 0, (STR)->ptr = 0, (STR)->limit = 0)
#define FREE_SSTRING(STR) do { if ((STR)->base) free (STR)->base; } while(0)
#define SSTRING_PUT(STR, C) do {\
if ((STR)->limit <= (STR)->ptr) make_sstring_space (STR, 1); \
*(STR)->ptr++ = (C); } while (0)
#define SSTRING_LENGTH(STR) ((STR)->ptr - (STR)->base)
#define MAKE_SSTRING_SPACE(STR, COUNT) \
if ((STR)->limit - (STR)->ptr < (COUNT)) make_sstring_space (STR, COUNT);
struct partial_proto;
struct fn_decl
{
const char *fname;
const char *rtype;
const char *params;
struct partial_proto *partial;
};
struct cpp_token;
extern void sstring_append (sstring *, sstring *);
extern void make_sstring_space (sstring *, int);
extern int skip_spaces (FILE *, int);
extern int scan_ident (FILE *, sstring *, int);
extern int scan_string (FILE *, sstring *, int);
extern int read_upto (FILE *, sstring *, int);
extern unsigned long hash (const char *);
extern void recognized_function (const struct cpp_token *,
unsigned int, int, int);
extern void recognized_extern (const struct cpp_token *);
extern unsigned int hashstr (const char *, unsigned int);
extern int scan_decls (struct cpp_reader *, int, char **);
/* get_token is a simple C lexer. */
#define IDENTIFIER_TOKEN 300
#define CHAR_TOKEN 301
#define STRING_TOKEN 302
#define INT_TOKEN 303
extern int get_token (FILE *, sstring *);
/* Current file and line number, taking #-directives into account */
extern int source_lineno;
extern sstring source_filename;
/* Current physical line number */
extern int lineno;
extern struct line_maps line_table;

View File

@ -1,9 +0,0 @@
#!/bin/sh
# Sort the sys-protos.h file in its usual order.
# Invoke as `sort-protos sys-protos.h'.
input=$1
sed 's/\(.*[ \*]\)\([a-zA-Z0-9_][a-zA-Z0-9_]*\)[ ]*\(([^\*].*\)$/\2%\1%\3/' $input | sort -u | awk -F% '{printf "%-30.30s%s%s\n", $2, $1, $3}' > tmp.$input
mv -f tmp.$input $input

File diff suppressed because it is too large Load Diff

View File

@ -1,240 +0,0 @@
enum clnt_stat { ___fake1 };
enum auth_stat { ___fake2 };
struct netconfig;
struct netbuf;
struct address;
struct tm;
struct ldfile;
struct syment;
struct stat;
struct timeval;
struct termios;
struct tms;
struct dma_cb;
struct cred;
struct vnode;
struct vattr;
struct uarg;
struct statfs;
struct statvfs;
struct dirent;
struct itimerval;
struct mnttab;
struct strbuf;
struct vfstab;
struct ldfile;
struct syment;
struct scnhdr;
struct exception;
struct nd_hostservlist;
struct nd_hostserv;
struct utsname;
struct uio;
struct pid;
struct pollfd;
struct nlist;
struct passwd;
struct spwd;
struct flock;
struct seg;
struct sembuf;
struct sigaction;
struct utimbuf;
struct map;
struct filehdr;
struct lineno;
struct nd_addrlist;
struct FTW;
struct buf;
struct ustat;
struct qelem;
struct prpsinfo;
struct user;
struct qelem;
struct execenv;
struct utmpx;
struct direct;
struct tm;
struct stat;
struct rlimit;
struct rusage;
struct sockaddr;
struct sockaddr_in;
struct timeval { int i; };
struct exportent;
struct fstab;
struct hostent;
struct in_addr { int i; };
struct ldfile;
struct mallinfo { int i; };
struct mint;
struct nmtent;
struct netent;
struct pmaplist;
struct protoent;
struct rpcent;
struct servent;
struct authdes_cred;
struct rpc_err;
struct ypall_callback;
union wait;
/* Get size_t and wchar_t. */
#include <stddef.h>
/* #include "sys/types.h" */
#define ssize_t int
/* The actual types used here are mostly wrong,
but it is not supposed to matter what types we use here. */
typedef int dev_t;
typedef int pid_t;
typedef int gid_t;
typedef int off_t;
typedef int mode_t;
typedef int uid_t;
typedef int proc_t;
typedef int time_t;
typedef int addr_t;
typedef int caddr_t;
typedef int clock_t;
typedef int div_t;
typedef int ldiv_t;
typedef int dl_t;
typedef int major_t;
typedef int minor_t;
typedef int emcp_t;
typedef int fpclass_t;
typedef int index_t;
typedef int ecb_t;
typedef int aioop_t;
typedef int evver_t;
typedef int evcntlcmds_t;
typedef int idtype_t;
typedef int id_t;
typedef int procset_t;
typedef int hostid_t;
typedef int evpollcmds_t;
typedef int event_t;
typedef int hrtime_t;
typedef int evqcntlcmds_t;
typedef int sigset_t;
typedef int evsiginfo_t;
typedef int evcontext_t;
typedef int evta_t;
typedef int speed_t;
typedef int rlim_t;
typedef int cred_t;
typedef int file_t;
typedef int vnode_t;
typedef int vfs_t;
typedef int fpos_t;
typedef int exhda_t;
typedef int ucontext_t;
typedef int sess_t;
typedef int hrtcmd_t;
typedef int interval_t;
typedef int key_t;
typedef int daddr_t;
typedef int stack_t;
typedef int sigaction_t;
typedef int siginfo_t;
typedef int mblk_t;
typedef int paddr_t;
typedef int qband_t;
typedef int queue_t;
typedef int rf_resource_t;
typedef int sr_mount_t;
typedef int timer_t;
typedef int fpregset_t;
typedef int prstatus_t;
typedef int vfssw_t;
typedef int eucwidth_t;
typedef int page_t;
typedef int u_int;
typedef int u_short;
typedef int u_long;
typedef int u_char;
typedef int ushort;
typedef int ulong;
typedef int uint;
typedef int __gnuc_va_list;
typedef int archdr;
typedef int AUTH;
typedef int CLIENT;
typedef int DIR;
typedef int ENTRY;
typedef int Elf;
typedef int Elf32_Ehdr;
typedef int Elf32_Phdr;
typedef int Elf32_Shdr;
typedef int Elf_Arhdr;
typedef int Elf_Arsym;
typedef int Elf_Cmd;
typedef int Elf_Data;
typedef int Elf_Scn;
typedef int Elf_Type;
typedef int Elf_Kind;
typedef int FIELD;
typedef int FIELDTYPE;
typedef int PTF_int;
typedef int PTF_void;
typedef int PTF_charP;
typedef int FILE;
typedef int FORM;
typedef int ITEM;
typedef int MENU;
typedef int OPTIONS;
typedef int PANEL;
typedef int FTP_void;
typedef int RPCBLIST;
typedef int SCREEN;
typedef int SVCXPRT;
typedef int TERMINAL;
typedef int WINDOW;
typedef int bool;
typedef int nl_catd;
typedef int nl_item;
typedef int chtype;
typedef int datum;
typedef int fp_rnd;
typedef int spraycumul;
typedef int WORD;
typedef int VISIT;
typedef int ACTION;
typedef int *jmp_buf;
typedef int *sigjmp_buf;
typedef int xdrproc_t;
typedef int CALL;
typedef int bool_t;
typedef int DBM;
typedef int des_block;
typedef int resultproc_t;
#ifdef BSD
#define mode_t int
#define uid_t int
#define gid_t int
#define time_t long
#define pid_t int
#define signal_ret_t int
#define wait_arg_t union wait
#else
#define signal_ret_t void
#define wait_arg_t int
#endif

View File

@ -1,3 +1,9 @@
2009-03-28 Joseph Myers <joseph@codesourcery.com>
* g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C,
gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special
options for removed targets.
2009-03-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39120

View File

@ -1,4 +1,4 @@
// { dg-do run { xfail alpha*-dec-osf* *-*-hms i?86-pc-cygwin *-*-coff } }
// { dg-do run { xfail alpha*-dec-osf* i?86-pc-cygwin } }
// Test that attributes weak and alias coexist.
// { dg-require-weak "" }
// { dg-require-alias "" }

View File

@ -1,4 +1,4 @@
// { dg-do run { xfail rs6000-*-* powerpc-*-eabi m68k-*-coff mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* } }
// { dg-do run { xfail rs6000-*-* powerpc-*-eabi mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* } }
// Test that variadic function calls using thunks work right.
// Note that this will break on any target that uses the generic thunk
// support, because it doesn't support variadic functions.

View File

@ -6,7 +6,7 @@
/* { dg-do assemble } */
/* For MIPS at least, pic is needed to trigger the problem. */
/* { dg-options "-w -Wuninitialized -Werror -fpic" } */
/* { dg-options "-w -Wuninitialized -Werror" { target { { rs6000-*-aix* powerpc*-*-aix* arm*-*-* fr30-*-* sh-*-hms sh-*-coff h8300*-*-* cris-*-elf* mmix-*-* } || { ! fpic } } } } */
/* { dg-options "-w -Wuninitialized -Werror" { target { { rs6000-*-aix* powerpc*-*-aix* arm*-*-* fr30-*-* sh-*-hms h8300*-*-* cris-*-elf* mmix-*-* } || { ! fpic } } } } */
int foo (int a, int b)
{

View File

@ -1,6 +1,6 @@
/* Get common system includes and various definitions and declarations
based on target macros.
Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
This file is part of GCC.
@ -99,7 +99,7 @@ extern void *memset (void *, int, size_t);
extern int errno;
#endif
/* GCC (fixproto) guarantees these system headers exist. */
/* If these system headers do not exist, fixincludes must create them. */
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
@ -107,7 +107,7 @@ extern int errno;
/* GCC supplies this header. */
#include <limits.h>
/* GCC (fixproto) guarantees this system headers exists. */
/* If these system headers do not exist, fixincludes must create them. */
#include <time.h>
#endif /* inhibit_libc */

View File

@ -1,3 +1,10 @@
2009-03-28 Joseph Myers <joseph@codesourcery.com>
* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
2009-02-12 Uros Bizjak <ubizjak@gmail.com>
* config.host (ia64*-*-linux*): Add t-softfp to tmake_file.

View File

@ -1,6 +1,6 @@
# libgcc host-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
# 2008 Free Software Foundation, Inc.
# 2008, 2009 Free Software Foundation, Inc.
#This file is part of GCC.
@ -191,10 +191,6 @@ alpha*-dec-*vms*)
;;
arc-*-elf*)
;;
arm-*-coff* | armel-*-coff*)
;;
arm-semi-aof | armel-semi-aof)
;;
arm-wrs-vxworks)
;;
arm*-*-freebsd*)
@ -255,8 +251,6 @@ h8300-*-rtems*)
;;
h8300-*-elf*)
;;
h8300-*-*)
;;
hppa*64*-*-linux*)
;;
hppa*-*-linux*)
@ -276,8 +270,6 @@ i[34567]86-*-elf*)
;;
x86_64-*-elf*)
;;
i[34567]86-*-aout*)
;;
i[34567]86-*-freebsd*)
;;
x86_64-*-freebsd*)
@ -292,8 +284,6 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
;;
i[34567]86-*-openbsd*)
;;
i[34567]86-*-coff*)
;;
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu*)
extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
@ -368,10 +358,6 @@ m68hc11-*-*|m6811-*-*)
;;
m68hc12-*-*|m6812-*-*)
;;
m68k-*-aout*)
;;
m68k-*-coff*)
;;
m68k-*-elf*)
;;
m68k*-*-netbsdelf*)
@ -430,8 +416,6 @@ mmix-knuth-mmixware)
;;
mn10300-*-*)
;;
pdp11-*-bsd)
;;
pdp11-*-*)
;;
picochip-*-*)
@ -489,8 +473,6 @@ powerpcle-*-eabisim*)
;;
powerpcle-*-eabi*)
;;
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
;;
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
;;
rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
@ -520,8 +502,6 @@ sh-*-rtems*)
;;
sh-wrs-vxworks)
;;
sh-*-*)
;;
sparc-*-netbsdelf*)
;;
sparc64-*-openbsd*)