summaryrefslogtreecommitdiffstats
path: root/gnu/gnu2bmake/gcc260.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/gnu2bmake/gcc260.patch')
-rw-r--r--gnu/gnu2bmake/gcc260.patch513
1 files changed, 0 insertions, 513 deletions
diff --git a/gnu/gnu2bmake/gcc260.patch b/gnu/gnu2bmake/gcc260.patch
deleted file mode 100644
index dfcb2d1..0000000
--- a/gnu/gnu2bmake/gcc260.patch
+++ /dev/null
@@ -1,513 +0,0 @@
-I have removed the "ljo-Fortran" stuff. It doesn't belong in cc. /phk
-
-From kralizec.zeta.org.au!bde Sat Jul 30 22:53:11 1994
-Return-Path: <bde@kralizec.zeta.org.au>
-Received: from warrane.connect.com.au by tfs.com (smail3.1.28.1) with SMTP
- id m0qUTpa-0003wvC; Sat, 30 Jul 94 22:53 PDT
-Received: from kralizec.zeta.org.au by warrane.connect.com.au with SMTP id AA24021
- (5.67b8/IDA-1.5 for <phk@TFS.COM>); Sun, 31 Jul 1994 15:51:38 +1000
-Received: (from bde@localhost) by kralizec.zeta.org.au (8.6.9/8.6.9) id PAA00298 for phk@TFS.COM; Sun, 31 Jul 1994 15:51:11 +1000
-Date: Sun, 31 Jul 1994 15:51:11 +1000
-From: Bruce Evans <bde@kralizec.zeta.org.au>
-Message-Id: <199407310551.PAA00298@kralizec.zeta.org.au>
-To: phk@tfs.com
-Subject: Re: gcc-2.6.0, diff netbsd/freebsd
-
----
->> I've compiled nothing else with 2.6.0, but it bootstraps fine on my
->> 1.1R system. What's the problem with stddef.h? I haven't had any
->> troubles here with that file.
->Probably nothing serious, but I already has it on my list.
-
-Here are the diffs for my port of gcc-2.6.0. FreeBSD-1.1.5 and 4.4lite
-have an amazing number of bugs in involving namespace pollution from the
-runetype stuff. rune_t should never have been in <stddef.h>. <ctype.h>
-does not compile if _ANSI_SOURCE is defined ...
-
-Bruce
-
-Makefile.in:
- Rip out debugging stuff from libgcc.a the same as FreeBSD does.
-
-final.c:
- o If NO_PROFILE_DATA is defined, don't waste space for unused
- profile data.
-
-config/i386/freebsd.h:
- o Define specs together near the start.
- o For -p and -pg, put -Bstatic in LINK_SPEC instead of in LIB_SPEC
- so that it gets seen early enough when other libraries are used.
- o Update wchar_t stuff. `wchar_t foo[] = "123";' is broken in
- FreeBSD-1.1.5 because wchar_t was changed without changing gcc.
- I guess nothing actually uses wchar_t :-).
- o FUNCTION_PROFILER: don't waste space and time for unused profile
- data and pointer to it. Compatible with FreeBSD-1.x.
- o FUNCTION_PROFILER_EPILOGUE: for accurate profiling if there's
- a readable clock. Incompatible with FreeBSD-1.x (hide it with
- #if 0, or add a dummy mexitcount to the user mcount file and
- a real mexitexit to the kernel mcount file). Need a -mflag for
- this. Want more profiling stuff (profile before function
- prologue...) from osfrose.h.
- o Fixed white space in "svr4" stuff. Actually it's osfrose stuff.
- Formatting now matches osfrose.h.
-
-config/i386/i386.c:
- o Fix bugs: profiling may use the pic register. Need a macro for
- this - it is machine-dependent. It is already fixed in osfrose.h
- by not using the functions in i386.c.
- o Support FUNCTION_PROFILER_EPILOGUE. Avoiding the use of the pic
- register is even more complicated for the epilogue than for the
- prologue. We don't attempt to. See osfrose.h for the prologue.
-
-config/i386/i386.h:
- o Avoid average 1.2% code bloat caused by stupid register allocation.
-
-ginclude/stdarg.h, ginclude/varargs.h:
- o Handle Net/2 _VA_LIST_ and 4.4lite _BSD_VA_LIST_ right.
-
-ginclude/stddef.h:
- o Handle Net/2 _WCHAR_T_ and 4.4lite _BSD_WCHAR_T_ less wrongly than
- before. Copy FreeBSD-1.1.5/4.4lite rune_t brokenness. Remove
- extra underscores in _GCC_*_T_ which stopped the Net/2 _PTRDIFF_T_,
- _SIZE_T_ and _WCHAR_T_ from being undefined. Still need to
- handle the 4.4lite _BSD_PTRDIFF_T_ and _BSD_SIZE_T_. They are too
- hard to handle using ifdefs anyway. stddef.h takes 227 lines to
- define only 3 ANSI typedefs, 1 bogus typedef and 2 ANSI macros.
-
-diff -rc2 gcc-2.6.0/orig/Makefile.in gcc-2.6.0/Makefile.in
-*** gcc-2.6.0/orig/Makefile.in Thu Jul 14 08:46:54 1994
---- gcc-2.6.0/Makefile.in Sun Jul 17 05:36:06 1994
-***************
-*** 212,216 ****
- # we use this here because that should be enough, and also
- # so that -g1 will be tested.
-! LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -g1
-
- # Additional options to use when compiling libgcc2.a.
---- 213,217 ----
- # we use this here because that should be enough, and also
- # so that -g1 will be tested.
-! LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) # -g1
-
- # Additional options to use when compiling libgcc2.a.
-***************
-*** 714,717 ****
---- 716,720 ----
- if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
- mv libgcc1.o $${name}.o; \
-+ ld -r -x $${name}.o; mv a.out $${name}.o; \
- $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}.o; \
- rm -f $${name}.o; \
-***************
-*** 733,736 ****
---- 736,740 ----
- $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c $${file}; \
- if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
-+ ld -r -x $${name}.o; mv a.out $${name}.o; \
- $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}.o; \
- if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
-***************
-*** 794,797 ****
---- 798,802 ----
- $(srcdir)/libgcc2.c -o $${name}.o; \
- if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
-+ ld -r -x $${name}.o; mv a.out $${name}.o; \
- $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
- rm -f $${name}.o; \
-***************
-*** 813,816 ****
---- 818,822 ----
- $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \
- if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
-+ ld -r -x $${name}.o; mv a.out $${name}.o; \
- $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
- rm -f $${name}.[so]; \
-diff -rc2 gcc-2.6.0/orig/final.c gcc-2.6.0/final.c
-*** gcc-2.6.0/orig/final.c Wed Jul 13 11:30:52 1994
---- gcc-2.6.0/final.c Sun Jul 17 05:49:35 1994
-***************
-*** 954,965 ****
---- 954,969 ----
- FILE *file;
- {
-+ #ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, POINTER_SIZE);
-+ #endif /* not NO_PROFILE_DATA */
- int sval = current_function_returns_struct;
- int cxt = current_function_needs_context;
-
-+ #ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, POINTER_SIZE / BITS_PER_UNIT, 1);
-+ #endif /* not NO_PROFILE_DATA */
-
- text_section ();
-diff -rc2 gcc-2.6.0/config/i386/orig/freebsd.h gcc-2.6.0/config/i386/freebsd.h
-*** gcc-2.6.0/config/i386/orig/freebsd.h Fri Jul 15 02:55:14 1994
---- gcc-2.6.0/config/i386/freebsd.h Sun Jul 17 07:33:20 1994
-***************
-*** 40,46 ****
---- 40,52 ----
- }
-
-+ #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}"
-+
- /* Like the default, except no -lg. */
- #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
-
-+ #define LINK_SPEC \
-+ "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*} \
-+ %{p:-Bstatic} %{pg:-Bstatic} %{Z}"
-+
- #undef SIZE_TYPE
- #define SIZE_TYPE "unsigned int"
-***************
-*** 50,77 ****
-
- #undef WCHAR_TYPE
-! #define WCHAR_TYPE "short unsigned int"
-
-! #define WCHAR_UNSIGNED 1
-
- #undef WCHAR_TYPE_SIZE
-! #define WCHAR_TYPE_SIZE 16
-
- #define HAVE_ATEXIT
-
-! /* Redefine this to use %eax instead of %edx. */
- #undef FUNCTION_PROFILER
- #define FUNCTION_PROFILER(FILE, LABELNO) \
- { \
- if (flag_pic) \
-! { \
-! fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n", \
-! LPREFIX, (LABELNO)); \
-! fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \
-! } \
- else \
-! { \
-! fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO)); \
-! fprintf (FILE, "\tcall mcount\n"); \
-! } \
- }
-
---- 56,89 ----
-
- #undef WCHAR_TYPE
-! #define WCHAR_TYPE "int"
-
-! #define WCHAR_UNSIGNED 0
-
- #undef WCHAR_TYPE_SIZE
-! #define WCHAR_TYPE_SIZE BITS_PER_WORD
-
- #define HAVE_ATEXIT
-
-! /* Tell final.c that we don't need a label passed to mcount. */
-!
-! #define NO_PROFILE_DATA
-!
-! /* Redefine this to not pass an unused label in %edx. */
-!
- #undef FUNCTION_PROFILER
- #define FUNCTION_PROFILER(FILE, LABELNO) \
- { \
- if (flag_pic) \
-! fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \
-! else \
-! fprintf (FILE, "\tcall mcount\n"); \
-! }
-!
-! #define FUNCTION_PROFILER_EPILOGUE(FILE) \
-! { \
-! if (flag_pic) \
-! fprintf (FILE, "\tcall *mexitcount@GOT(%%ebx)\n"); \
- else \
-! fprintf (FILE, "\tcall mexitcount\n"); \
- }
-
-***************
-*** 170,174 ****
- if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \
- { \
-! size_directive_output = 1; \
- fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
- assemble_name (FILE, NAME); \
---- 182,186 ----
- if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \
- { \
-! size_directive_output = 1; \
- fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
- assemble_name (FILE, NAME); \
-***************
-*** 184,202 ****
- by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */
-
-! #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
-! do { \
-! char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
-! if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \
-! && ! AT_END && TOP_LEVEL \
-! && DECL_INITIAL (DECL) == error_mark_node \
-! && !size_directive_output) \
-! { \
-! fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
-! assemble_name (FILE, name); \
-! fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
-! } \
- } while (0)
-
--
- /* This is how to declare the size of a function. */
-
---- 196,213 ----
- by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */
-
-! #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
-! do { \
-! char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
-! if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \
-! && ! AT_END && TOP_LEVEL \
-! && DECL_INITIAL (DECL) == error_mark_node \
-! && !size_directive_output) \
-! { \
-! fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
-! assemble_name (FILE, name); \
-! fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL))); \
-! } \
- } while (0)
-
- /* This is how to declare the size of a function. */
-
-***************
-*** 219,226 ****
- } \
- } while (0)
--
-- #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}"
-- #define LINK_SPEC \
-- "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*}"
-
- /* This section copied from i386/osfrose.h */
---- 230,233 ----
-diff -rc2 gcc-2.6.0/config/i386/orig/i386.c gcc-2.6.0/config/i386/i386.c
-*** gcc-2.6.0/config/i386/orig/i386.c Tue Apr 12 21:40:35 1994
---- gcc-2.6.0/config/i386/i386.c Sun Jul 17 06:10:00 1994
-***************
-*** 860,864 ****
- rtx xops[4];
- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
-! || current_function_uses_const_pool);
-
- xops[0] = stack_pointer_rtx;
---- 860,865 ----
- rtx xops[4];
- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
-! || current_function_uses_const_pool
-! || profile_flag || profile_block_flag);
-
- xops[0] = stack_pointer_rtx;
-***************
-*** 921,926 ****
- int reglimit = (frame_pointer_needed
- ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM);
-! int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
-! || current_function_uses_const_pool);
-
- #ifdef NON_SAVING_SETJMP
---- 922,935 ----
- int reglimit = (frame_pointer_needed
- ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM);
-!
-! #ifdef FUNCTION_PROFILER_EPILOGUE
-! if (profile_flag)
-! return 0;
-! #endif
-!
-! if (flag_pic && (current_function_uses_pic_offset_table
-! || current_function_uses_const_pool
-! || profile_flag || profile_block_flag))
-! return 0;
-
- #ifdef NON_SAVING_SETJMP
-***************
-*** 933,938 ****
-
- for (regno = reglimit - 1; regno >= 0; regno--)
-! if ((regs_ever_live[regno] && ! call_used_regs[regno])
-! || (regno == PIC_OFFSET_TABLE_REGNUM && pic_reg_used))
- nregs++;
-
---- 942,946 ----
-
- for (regno = reglimit - 1; regno >= 0; regno--)
-! if (regs_ever_live[regno] && ! call_used_regs[regno])
- nregs++;
-
-***************
-*** 955,958 ****
---- 963,971 ----
- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
- || current_function_uses_const_pool);
-+
-+ #ifdef FUNCTION_PROFILER_EPILOGUE
-+ if (profile_flag)
-+ FUNCTION_PROFILER_EPILOGUE (file);
-+ #endif
-
- /* Compute the number of registers to pop */
-diff -rc2 gcc-2.6.0/config/i386/orig/i386.h gcc-2.6.0/config/i386/i386.h
-*** gcc-2.6.0/config/i386/orig/i386.h Thu Jun 16 20:36:13 1994
---- gcc-2.6.0/config/i386/i386.h Mon Jul 18 19:18:59 1994
-***************
-*** 267,272 ****
-
- #define REG_ALLOC_ORDER \
-! /*dx,cx,ax,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
-! { 1, 2, 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }
-
- /* Macro to conditionally modify fixed_regs/call_used_regs. */
---- 267,272 ----
-
- #define REG_ALLOC_ORDER \
-! /*ax,cx,dx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
-! { 0, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }
-
- /* Macro to conditionally modify fixed_regs/call_used_regs. */
-diff -rc2 gcc-2.6.0/ginclude/orig/stdarg.h gcc-2.6.0/ginclude/stdarg.h
-*** gcc-2.6.0/ginclude/orig/stdarg.h Sat Jul 9 12:04:08 1994
---- gcc-2.6.0/ginclude/stdarg.h Mon Jul 18 01:32:16 1994
-***************
-*** 44,47 ****
---- 44,56 ----
- #ifndef __GNUC_VA_LIST
- #define __GNUC_VA_LIST
-+ #if defined (__FreeBSD__)
-+ /* This is the correct way to handle all BSD NET2 and BSD 4.4 systems. */
-+ #include <machine/ansi.h>
-+ #ifdef _BSD_VA_LIST_
-+ typedef _BSD_VA_LIST_ __gnuc_va_list;
-+ #else
-+ typedef _VA_LIST_ __gnuc_va_list;
-+ #endif
-+ #else
- #if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX)
- typedef char *__gnuc_va_list;
-***************
-*** 50,53 ****
---- 59,63 ----
- #endif
- #endif
-+ #endif
-
- /* Define the standard macros for the user,
-***************
-*** 113,118 ****
---- 123,133 ----
- #endif
-
-+ #if 0
-+ /* BSD 4.4 actually spells the name _BSD_VA_LIST_ and requires it to be
-+ * defined and usable in place of va_list when the latter name is not
-+ * allowed (e.g., in stdio.h - see above). */
- #ifdef _BSD_VA_LIST
- #undef _BSD_VA_LIST
-+ #endif
- #endif
-
-diff -rc2 gcc-2.6.0/ginclude/orig/stddef.h gcc-2.6.0/ginclude/stddef.h
-*** gcc-2.6.0/ginclude/orig/stddef.h Tue Apr 26 04:13:05 1994
---- gcc-2.6.0/ginclude/stddef.h Sun Jul 17 21:52:12 1994
-***************
-*** 36,40 ****
- #define _PTRDIFF_T
- #endif
-! #ifndef _WCHAR_T_
- #define _WCHAR_T
- #endif
---- 36,40 ----
- #define _PTRDIFF_T
- #endif
-! #if ! defined (_WCHAR_T_) && ! defined (_BSD_WCHAR_T_)
- #define _WCHAR_T
- #endif
-***************
-*** 173,176 ****
---- 173,179 ----
- #define __WCHAR_TYPE__ int
- #endif
-+ #if defined (_ANSI_H_) && defined (_BSD_RUNE_T_)
-+ typedef _BSD_RUNE_T_ rune_t; /* WRONG */
-+ #endif
- typedef __WCHAR_TYPE__ wchar_t;
- #endif
-***************
-*** 189,200 ****
- are already defined. */
- #ifdef _ANSI_H_
-! #ifdef _GCC_PTRDIFF_T_
- #undef _PTRDIFF_T_
- #endif
-! #ifdef _GCC_SIZE_T_
- #undef _SIZE_T_
- #endif
-! #ifdef _GCC_WCHAR_T_
- #undef _WCHAR_T_
- #endif
- #endif /* _ANSI_H_ */
---- 192,204 ----
- are already defined. */
- #ifdef _ANSI_H_
-! #ifdef _GCC_PTRDIFF_T
- #undef _PTRDIFF_T_
- #endif
-! #ifdef _GCC_SIZE_T
- #undef _SIZE_T_
- #endif
-! #ifdef _GCC_WCHAR_T
- #undef _WCHAR_T_
-+ #undef _BSD_WCHAR_T_
- #endif
- #endif /* _ANSI_H_ */
-diff -rc2 gcc-2.6.0/ginclude/orig/varargs.h gcc-2.6.0/ginclude/varargs.h
-*** gcc-2.6.0/ginclude/orig/varargs.h Sat Jul 9 12:04:13 1994
---- gcc-2.6.0/ginclude/varargs.h Mon Jul 18 01:32:02 1994
-***************
-*** 76,79 ****
---- 76,88 ----
- #ifndef __GNUC_VA_LIST
- #define __GNUC_VA_LIST
-+ #if defined (__FreeBSD__)
-+ /* This is the correct way to handle all BSD NET2 and BSD 4.4 systems. */
-+ #include <machine/ansi.h>
-+ #ifdef _BSD_VA_LIST_
-+ typedef _BSD_VA_LIST_ __gnuc_va_list;
-+ #else
-+ typedef _VA_LIST_ __gnuc_va_list;
-+ #endif
-+ #else
- #if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX)
- typedef char *__gnuc_va_list;
-***************
-*** 82,85 ****
---- 91,95 ----
- #endif
- #endif
-+ #endif
-
- #define va_start(AP) AP=(char *) &__builtin_va_alist
-***************
-*** 171,175 ****
---- 181,190 ----
- /* The next BSD release (if there is one) wants this symbol to be
- undefined instead of _VA_LIST_. */
-+ #if 0
-+ /* BSD 4.4 actually spells the name _BSD_VA_LIST_ and requires it to be
-+ * defined and usable in place of va_list when the latter name is not
-+ * allowed (e.g., in stdio.h - see ginclude/stdarg.h). */
- #ifdef _BSD_VA_LIST
- #undef _BSD_VA_LIST
-+ #endif
- #endif
OpenPOWER on IntegriCloud