mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-12 09:44:57 +08:00
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:
parent
20a07f4467
commit
52c0e446f3
@ -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.
|
||||
|
@ -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,
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
221
gcc/Makefile.in
221
gcc/Makefile.in
@ -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*
|
||||
#
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
@ -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 ""
|
@ -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 =
|
||||
|
||||
|
@ -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 ""
|
@ -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))
|
@ -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,
|
||||
|
@ -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 $<
|
||||
|
@ -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 .
|
||||
|
@ -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
|
@ -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 *
|
||||
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
||||
|
@ -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
195
gcc/configure
vendored
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
1314
gcc/fix-header.c
1314
gcc/fix-header.c
File diff suppressed because it is too large
Load Diff
340
gcc/fixproto
340
gcc/fixproto
@ -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
|
191
gcc/gen-protos.c
191
gcc/gen-protos.c
@ -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;
|
||||
}
|
@ -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.
|
||||
|
@ -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.
|
||||
|
4535
gcc/protoize.c
4535
gcc/protoize.c
File diff suppressed because it is too large
Load Diff
250
gcc/scan-decls.c
250
gcc/scan-decls.c
@ -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);
|
||||
}
|
||||
}
|
@ -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
|
241
gcc/scan.c
241
gcc/scan.c
@ -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;
|
||||
}
|
75
gcc/scan.h
75
gcc/scan.h
@ -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;
|
@ -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
|
1353
gcc/sys-protos.h
1353
gcc/sys-protos.h
File diff suppressed because it is too large
Load Diff
240
gcc/sys-types.h
240
gcc/sys-types.h
@ -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
|
@ -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
|
||||
|
@ -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 "" }
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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 */
|
||||
|
@ -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.
|
||||
|
@ -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*)
|
||||
|
Loading…
Reference in New Issue
Block a user