diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 1999-04-21 07:48:59 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 1999-04-21 07:48:59 +0000 |
commit | ccfd6f92ac62e6ffaff84a5a6abcfbf156690ea8 (patch) | |
tree | 73244cc53c5b2e08cad040e7ace0d625242cd5c6 /lang/gcc30/files/patch-af | |
parent | 2a0f68dc16e91b1a1995b105c1a65b0cda804784 (diff) |
I give you the latest and greatest of the EGCS snapshot series.
This is their bleeding edge offering. This will enable us to better track
the direction EGCS is going for future upgrades of /usr/contrib/egcs/.
Above ver 1.1.2, this offering gives you many C++ fixes/enhancements, *and*
a native Java compiler.
Notes
Notes:
svn path=/head/; revision=18045
Diffstat (limited to 'lang/gcc30/files/patch-af')
-rw-r--r-- | lang/gcc30/files/patch-af | 110 |
1 files changed, 82 insertions, 28 deletions
diff --git a/lang/gcc30/files/patch-af b/lang/gcc30/files/patch-af index c1f1ba0e855f..88bf144d3dad 100644 --- a/lang/gcc30/files/patch-af +++ b/lang/gcc30/files/patch-af @@ -1,30 +1,22 @@ ---- gcc/config/i386/freebsd.h.orig Mon Mar 1 14:47:32 1999 -+++ gcc/config/i386/freebsd.h Sun Mar 21 16:58:39 1999 -@@ -21,19 +21,13 @@ +--- gcc/config/i386/freebsd.h.orig Tue Feb 16 15:51:31 1999 ++++ gcc/config/i386/freebsd.h Mon Apr 19 09:22:46 1999 +@@ -21,6 +21,15 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + ++/* Use stabs instead of DWARF debug format. */ ++#undef PREFERRED_DEBUGGING_TYPE ++#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG ++#include "svr4.h" ++ +/* Get generic FreeBSD definitions. */ +#include <freebsd.h> + #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); --/* The svr4 ABI for the i386 says that records and unions are returned -- in memory. */ --/* On FreeBSD, we do not. */ --#undef DEFAULT_PCC_STRUCT_RETURN --#define DEFAULT_PCC_STRUCT_RETURN 0 -- --/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using -- libraries compiled with the native cc, so undef it. */ --#undef NO_DOLLAR_IN_LABEL -- - /* This is how to output an element of a case-vector that is relative. - This is only used for PIC code. See comments by the `casesi' insn in - i386.md for an explanation of the expression this outputs. */ -@@ -113,22 +107,19 @@ +@@ -113,22 +122,19 @@ : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \ : (-1)) @@ -51,20 +43,17 @@ } \ } -@@ -145,26 +136,16 @@ +@@ -145,27 +151,31 @@ #define WCHAR_TYPE_SIZE BITS_PER_WORD #undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" -+#define CPP_PREDEFINES "-Di386 -D__ELF__ -Acpu(i386) -Amachine(i386)" CPP_FBSD_PREDEFINES ++#define CPP_PREDEFINES "-Di386 -Acpu(i386) -Amachine(i386)" CPP_FBSD_PREDEFINES #undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}" -+#define CPP_SPEC \ -+ "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{m486:-D__i486__}" -+ /* %{pthread:-D_REENTRANT} */ - - #undef LIB_SPEC +- +-#undef LIB_SPEC -#if 1 -/* We no longer link with libc_p.a or libg.a by default. If you - * want to profile or debug the C library, please add @@ -73,13 +62,78 @@ -#define LIB_SPEC \ - "%{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \ - %{!ggdb:-lc} %{ggdb:-lg}}" --#else - #define LIB_SPEC \ ++#if TARGET_CPU_DEFAULT == 2 ++#define CPP_SPEC "\ ++%{!maout: -D__ELF__} \ ++%{munderscores: -D__UNDERSCORES__} \ ++%{maout: %{!mno-underscores: -D__UNDERSCORES__}} \ ++%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__}" + #else +-#define LIB_SPEC \ - "%{!shared: \ - %{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \ - %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}" --#endif -+ "%{!shared:%{!pg:%{!pthread:%{!kthread:-lc}%{kthread:-lpthread -lc}}%{pthread:-lc_r}}%{pg:%{!pthread:%{!kthread:-lc_p}%{kthread:-lpthread_p -lc_p}}%{pthread:-lc_r_p}}}" ++#define CPP_SPEC "\ ++%{!maout: -D__ELF__} \ ++%{munderscores: -D__UNDERSCORES__} \ ++%{maout: %{!mno-underscores: -D__UNDERSCORES__}} \ ++%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{m486:-D__i486__}" + #endif ++#undef CC1_SPEC ++#define CC1_SPEC "\ ++%{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \ ++%{maout: %{!mno-underscores: %{!munderscores: -munderscores }}}" ++ ++#undef ASM_SPEC ++#define ASM_SPEC "%{v*: -v} %{maout: %{fpic:-k} %{fPIC:-k}}" ++ /* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support for the special GCC options -static and -shared, which allow us to + link things in one of these three modes by applying the appropriate +@@ -181,13 +191,23 @@ + done. */ + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf_i386 %{shared:-shared} \ +- %{!shared: \ +- %{!ibcs: \ ++#define LINK_SPEC "\ ++ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ ++ %{maout: %{shared:-Bshareable} \ ++ %{!shared:%{!nostdlib:%{!r:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} \ ++ %{pg:-Bstatic} %{Z}} \ ++ %{assert*} %{R*}} \ ++ %{!maout: \ ++ -m elf_i386 \ ++ %{Wl,*:%*} \ ++ %{assert*} %{R*} %{rpath*} %{defsym*} \ ++ %{shared:-Bshareable %{h*} %{soname*}} \ ++ %{symbolic:-Bsymbolic} \ ++ %{!shared: \ + %{!static: \ +- %{rdynamic:-export-dynamic} \ +- %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ +- %{static:-static}}}" ++ %{rdynamic: -export-dynamic} \ ++ %{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} \ ++ %{static:-Bstatic}}}" + + /* Get perform_* macros to build libgcc.a. */ + +@@ -204,3 +224,15 @@ + else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ + } + #endif ++ ++#undef STARTFILE_SPEC ++#define STARTFILE_SPEC "\ ++ %{maout: %{shared:c++rt0.o%s} \ ++ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}} \ ++ %{!maout: %{!shared: \ ++ %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \ ++ crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" ++ ++#undef ENDFILE_SPEC ++#define ENDFILE_SPEC \ ++ "%{!maout: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s}" |