diff options
Diffstat (limited to 'lang/gcc32/files')
-rw-r--r-- | lang/gcc32/files/alpha-freebsd.h | 20 | ||||
-rw-r--r-- | lang/gcc32/files/patch-af | 2 | ||||
-rw-r--r-- | lang/gcc32/files/patch-ai | 23 | ||||
-rw-r--r-- | lang/gcc32/files/patch-ak | 32 | ||||
-rw-r--r-- | lang/gcc32/files/patch-al | 37 | ||||
-rw-r--r-- | lang/gcc32/files/patch-fa | 90 | ||||
-rw-r--r-- | lang/gcc32/files/patch-fc | 50 |
7 files changed, 111 insertions, 143 deletions
diff --git a/lang/gcc32/files/alpha-freebsd.h b/lang/gcc32/files/alpha-freebsd.h index 9af10ac58f0b..81d8417be015 100644 --- a/lang/gcc32/files/alpha-freebsd.h +++ b/lang/gcc32/files/alpha-freebsd.h @@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ This was taken from the NetBSD configuration, and modified for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */ -/* $FreeBSD: /tmp/pcvs/ports/lang/gcc32/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */ - - -/* Get generic FreeBSD definitions. */ -#include <freebsd.h> +/* $FreeBSD: /tmp/pcvs/ports/lang/gcc32/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */ #undef OBJECT_FORMAT_COFF @@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES \ "-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \ - CPP_FBSD_PREDEFINES + FBSD_CPP_PREDEFINES #undef CPP_SPEC #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}" @@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ fputs ("\tjsr $28,_mcount\n", (FILE)) /* Show that we need a GP when profiling. */ -#define TARGET_PROFILING_NEEDS_GP +#undef TARGET_PROFILING_NEEDS_GP +#define TARGET_PROFILING_NEEDS_GP 1 #undef HAS_INIT_SECTION @@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef ASM_OUTPUT_SOURCE_LINE #define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \ alpha_output_lineno (STREAM, LINE) -extern void alpha_output_lineno (); - -extern void output_file_directive (); /* Attach a special .ident directive to the end of the file to identify the version of GCC which compiled this code. The format of the @@ -299,8 +293,6 @@ do { \ #undef READONLY_DATA_SECTION #define READONLY_DATA_SECTION() const_section () -extern void text_section (); - #undef CONST_SECTION_FUNCTION #define CONST_SECTION_FUNCTION \ void \ @@ -511,10 +503,6 @@ dtors_section () \ #define ENDFILE_SPEC \ "%{!shared:crtend.o%s} %{shared:crtendS.o%s}" -/* Implicit library calls should use memcpy, not bcopy, etc. */ - -#define TARGET_MEM_FUNCTIONS - /* Handle #pragma weak and #pragma pack. */ #define HANDLE_SYSV_PRAGMA diff --git a/lang/gcc32/files/patch-af b/lang/gcc32/files/patch-af index 33a8f0886e01..f1058d4e21ec 100644 --- a/lang/gcc32/files/patch-af +++ b/lang/gcc32/files/patch-af @@ -6,7 +6,7 @@ +/* Don't use EGCS's normal profiling code -- we have our own fine-grained + basic block profiling. */ -+#define NO_PROFILE_DATA ++#define NO_PROFILE_COUNTERS + /* Tell final.c that we don't need a label passed to mcount. */ diff --git a/lang/gcc32/files/patch-ai b/lang/gcc32/files/patch-ai index 4395574d635a..d88ee27871b3 100644 --- a/lang/gcc32/files/patch-ai +++ b/lang/gcc32/files/patch-ai @@ -19,29 +19,6 @@ /* The Sun386i and perhaps other machines don't work right if the profiling code comes after the prologue. */ #ifdef PROFILE_BEFORE_PROLOGUE -@@ -1696,7 +1701,9 @@ - profile_function (file) - FILE *file; - { -+#ifndef NO_PROFILE_DATA - int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE); -+#endif /* not NO_PROFILE_DATA */ - #if defined(ASM_OUTPUT_REG_PUSH) - #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM) - int sval = current_function_returns_struct; -@@ -1706,10 +1713,12 @@ - #endif - #endif /* ASM_OUTPUT_REG_PUSH */ - -+#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, LONG_TYPE_SIZE / BITS_PER_UNIT, 1); -+#endif /* not NO_PROFILE_DATA */ - - function_section (current_function_decl); - @@ -1800,6 +1809,9 @@ code to restore the stack frame and return to the caller. */ FUNCTION_EPILOGUE (file, get_frame_size ()); diff --git a/lang/gcc32/files/patch-ak b/lang/gcc32/files/patch-ak index e1804f119d0d..f783ebef16ab 100644 --- a/lang/gcc32/files/patch-ak +++ b/lang/gcc32/files/patch-ak @@ -1,6 +1,6 @@ ---- gcc/configure.orig Wed Dec 8 04:30:22 1999 -+++ gcc/configure Fri Dec 10 09:44:30 1999 -@@ -3440,6 +3440,22 @@ +--- gcc/configure.orig Mon Jun 19 10:23:54 2000 ++++ gcc/configure Mon Jun 26 15:36:08 2000 +@@ -3687,6 +3687,22 @@ thread_file='posix' fi ;; @@ -23,29 +23,17 @@ alpha*-*-netbsd*) tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h" target_cpu_default="MASK_GAS" -@@ -4050,8 +4066,12 @@ - # Next line turned off because both 386BSD and BSD/386 use GNU ld. +@@ -4346,11 +4362,11 @@ # use_collect2=yes ;; -- i[34567]86-*-freebsdelf*) + i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*) +- tm_file="i386/freebsd.h i386/perform.h" ++ tm_file="i386/freebsd-aout.h i386/perform.h" + tmake_file=t-freebsd + ;; + i[34567]86-*-freebsd*) - tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h" -+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout) -+ tm_file="freebsd.h i386/freebsd-aout.h" -+ tmake_file=t-freebsd -+ ;; -+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*) + tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" tmake_file=t-freebsd gas=yes -@@ -4063,10 +4083,6 @@ - tmake_file="${tmake_file} t-freebsd-thread" - ;; - esac -- ;; -- i[34567]86-*-freebsd*) -- tm_file="i386/freebsd.h i386/perform.h" -- tmake_file=t-freebsd - ;; - i[34567]86-*-netbsd*) - tm_file=i386/netbsd.h diff --git a/lang/gcc32/files/patch-al b/lang/gcc32/files/patch-al index 3da58f53a512..4484e2e070a9 100644 --- a/lang/gcc32/files/patch-al +++ b/lang/gcc32/files/patch-al @@ -1,6 +1,6 @@ ---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999 -+++ gcc/configure.in Fri Dec 10 09:44:08 1999 -@@ -626,6 +626,22 @@ +--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000 ++++ gcc/configure.in Mon Jun 26 15:37:26 2000 +@@ -742,6 +742,22 @@ thread_file='posix' fi ;; @@ -23,34 +23,19 @@ alpha*-*-netbsd*) tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h" target_cpu_default="MASK_GAS" -@@ -1271,9 +1287,15 @@ - # use_collect2=yes +@@ -1441,13 +1457,13 @@ + changequote(,)dnl + i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*) + changequote([,])dnl +- tm_file="i386/freebsd.h i386/perform.h" ++ tm_file="i386/freebsd-aout.h i386/perform.h" + tmake_file=t-freebsd ;; changequote(,)dnl -- i[34567]86-*-freebsdelf*) -+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*) + i[34567]86-*-freebsd*) changequote([,])dnl - tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h" -+ tm_file="freebsd.h i386/freebsd-aout.h" -+ tmake_file=t-freebsd -+ ;; -+changequote(,)dnl -+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*) -+ changequote([,])dnl + tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" tmake_file=t-freebsd gas=yes -@@ -1285,12 +1307,6 @@ - tmake_file="${tmake_file} t-freebsd-thread" - ;; - esac -- ;; --changequote(,)dnl -- i[34567]86-*-freebsd*) --changequote([,])dnl -- tm_file="i386/freebsd.h i386/perform.h" -- tmake_file=t-freebsd - ;; - changequote(,)dnl - i[34567]86-*-netbsd*) diff --git a/lang/gcc32/files/patch-fa b/lang/gcc32/files/patch-fa index ec6a579f554a..b85b8f989c31 100644 --- a/lang/gcc32/files/patch-fa +++ b/lang/gcc32/files/patch-fa @@ -1,5 +1,5 @@ ---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000 -+++ gcc/c-common.c Tue Mar 14 21:46:03 2000 +--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000 ++++ gcc/c-common.c Mon Jun 26 20:15:08 2000 @@ -154,7 +154,7 @@ int, int, int)); static void init_attributes PARAMS ((void)); @@ -7,9 +7,9 @@ - int, int)); + int, int, int)); static void record_international_format PARAMS ((tree, tree, int)); - static tree c_find_base_decl PARAMS ((tree)); static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree)); -@@ -786,6 +786,7 @@ + +@@ -805,6 +805,7 @@ enum format_type format_type; tree argument; unsigned int arg_num; @@ -17,7 +17,7 @@ if (TREE_CODE (decl) != FUNCTION_DECL) { -@@ -796,7 +797,7 @@ +@@ -815,7 +816,7 @@ if (TREE_CODE (format_type_id) != IDENTIFIER_NODE) { @@ -26,7 +26,7 @@ continue; } else -@@ -804,12 +805,26 @@ +@@ -823,12 +824,26 @@ const char *p = IDENTIFIER_POINTER (format_type_id); if (!strcmp (p, "printf") || !strcmp (p, "__printf__")) @@ -53,17 +53,17 @@ else { warning ("`%s' is an unrecognized format function type", p); -@@ -882,7 +897,8 @@ +@@ -901,7 +916,8 @@ record_function_format (DECL_NAME (decl), DECL_ASSEMBLER_NAME (decl), - format_type, format_num, first_arg_num); -+ format_type, null_format_ok, format_num, -+ first_arg_num); ++ format_type, format_num, first_arg_num, ++ null_format_ok); break; } -@@ -1186,6 +1202,11 @@ +@@ -1207,6 +1223,11 @@ } format_char_info; static format_char_info print_char_table[] = { @@ -75,73 +75,74 @@ { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" }, { "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" }, { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" }, -@@ -1246,6 +1267,7 @@ - tree name; /* identifier such as "printf" */ - tree assembler_name; /* optional mangled identifier (for C++) */ +@@ -1269,6 +1290,7 @@ enum format_type format_type; /* type of format (printf, scanf, etc.) */ -+ int null_format_ok; /* TRUE if the format string may be NULL */ int format_num; /* number of format argument */ int first_arg_num; /* number of first arg (zero for varargs) */ ++ int null_format_ok; /* TRUE if the format string may be NULL */ } function_format_info; -@@ -1278,25 +1300,25 @@ + + static function_format_info *function_format_list = NULL; +@@ -1299,25 +1321,25 @@ init_function_format_info () { record_function_format (get_identifier ("printf"), NULL_TREE, - printf_format_type, 1, 2); -+ printf_format_type, 0, 1, 2); ++ printf_format_type, 1, 2, 0); record_function_format (get_identifier ("fprintf"), NULL_TREE, - printf_format_type, 2, 3); -+ printf_format_type, 0, 2, 3); ++ printf_format_type, 2, 3, 0); record_function_format (get_identifier ("sprintf"), NULL_TREE, - printf_format_type, 2, 3); -+ printf_format_type, 0, 2, 3); ++ printf_format_type, 2, 3, 0); record_function_format (get_identifier ("scanf"), NULL_TREE, - scanf_format_type, 1, 2); -+ scanf_format_type, 0, 1, 2); ++ scanf_format_type, 1, 2, 0); record_function_format (get_identifier ("fscanf"), NULL_TREE, - scanf_format_type, 2, 3); -+ scanf_format_type, 0, 2, 3); ++ scanf_format_type, 2, 3, 0); record_function_format (get_identifier ("sscanf"), NULL_TREE, - scanf_format_type, 2, 3); -+ scanf_format_type, 0, 2, 3); ++ scanf_format_type, 2, 3, 0); record_function_format (get_identifier ("vprintf"), NULL_TREE, - printf_format_type, 1, 0); -+ printf_format_type, 0, 1, 0); ++ printf_format_type, 1, 0, 0); record_function_format (get_identifier ("vfprintf"), NULL_TREE, - printf_format_type, 2, 0); -+ printf_format_type, 0, 2, 0); ++ printf_format_type, 2, 0, 0); record_function_format (get_identifier ("vsprintf"), NULL_TREE, - printf_format_type, 2, 0); -+ printf_format_type, 0, 2, 0); ++ printf_format_type, 2, 0, 0); record_function_format (get_identifier ("strftime"), NULL_TREE, - strftime_format_type, 3, 0); -+ strftime_format_type, 0, 3, 0); ++ strftime_format_type, 3, 0, 0); record_international_format (get_identifier ("gettext"), NULL_TREE, 1); record_international_format (get_identifier ("dgettext"), NULL_TREE, 2); -@@ -1313,11 +1335,12 @@ - (e.g. for varargs such as vfprintf). */ +@@ -1335,12 +1357,13 @@ static void --record_function_format (name, assembler_name, format_type, -+record_function_format (name, assembler_name, format_type, null_format_ok, - format_num, first_arg_num) + record_function_format (name, assembler_name, format_type, +- format_num, first_arg_num) ++ format_num, first_arg_num, null_format_ok) tree name; tree assembler_name; enum format_type format_type; -+ int null_format_ok; int format_num; int first_arg_num; ++ int null_format_ok; { -@@ -1341,6 +1364,7 @@ - } + function_format_info *info; +@@ -1364,6 +1387,7 @@ info->format_type = format_type; -+ info->null_format_ok = null_format_ok; info->format_num = format_num; info->first_arg_num = first_arg_num; ++ info->null_format_ok = null_format_ok; } -@@ -1494,7 +1518,8 @@ + + /* Record information for the names of function that modify the format +@@ -1515,7 +1539,8 @@ if (integer_zerop (format_tree)) { @@ -151,7 +152,7 @@ return; } if (TREE_CODE (format_tree) != ADDR_EXPR) -@@ -1683,12 +1708,13 @@ +@@ -1704,12 +1729,13 @@ It will work on most machines, because size_t and int have the same mode. But might as well warn anyway, since it will fail on other machines. */ @@ -166,7 +167,7 @@ } } else -@@ -1733,6 +1759,53 @@ +@@ -1754,6 +1780,53 @@ } } } @@ -175,7 +176,7 @@ + /* There should be an int arg to control the string arg. */ + if (params == 0) + { -+ warning (tfaff); ++ tfaff (); + return; + } + if (info->first_arg_num != 0) @@ -198,7 +199,7 @@ + /* There should be an unsigned char * arg before the string arg. */ + if (params == 0) + { -+ warning (tfaff); ++ tfaff (); + return; + } + if (info->first_arg_num != 0) @@ -220,7 +221,7 @@ aflag = 0; -@@ -1801,7 +1874,8 @@ +@@ -1822,7 +1895,8 @@ switch (info->format_type) { case printf_format_type: @@ -230,3 +231,12 @@ break; case scanf_format_type: fci = scan_char_table; +@@ -1859,7 +1933,7 @@ + if (index (fci->flag_chars, '2') != 0) + warning ("`%%%c' yields only last 2 digits of year", format_char); + else if (index (fci->flag_chars, '3') != 0) +- warning ("`%%%c' yields only last 2 digits of year in some locales", ++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems", + format_char); + if (precise && index (fci->flag_chars, 'p') == 0) + warning ("precision used with `%c' format", format_char); diff --git a/lang/gcc32/files/patch-fc b/lang/gcc32/files/patch-fc index a3f44c5e158b..f783e5cae528 100644 --- a/lang/gcc32/files/patch-fc +++ b/lang/gcc32/files/patch-fc @@ -1,21 +1,41 @@ ---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999 -+++ gcc/toplev.c Tue Mar 30 13:13:44 1999 -@@ -754,6 +754,9 @@ - - int flag_no_ident = 0; +--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000 ++++ gcc/toplev.c Mon Jun 26 20:19:31 2000 +@@ -787,6 +787,9 @@ + /* Tag all structures with __attribute__(packed) */ + int flag_pack_struct = 0; +/* Nonzero means that -Wformat accepts certain system-dependent formats. */ +int flag_format_extensions = 0; + - /* Table of supported debugging formats. */ - static struct - { -@@ -954,6 +957,8 @@ - "Generate code to check every memory access" }, - {"prefix-function-name", &flag_prefix_function_name, 1, - "Add a prefix to all function names" }, + /* Emit code to check for stack overflow; also may cause large objects + to be allocated dynamically. */ + int flag_stack_check; +@@ -1064,6 +1067,8 @@ + "Do the full regmove optimization pass"}, + {"pack-struct", &flag_pack_struct, 1, + "Pack structure members together without holes" }, + {"format-extensions", &flag_format_extensions, 1, + "-Wformat accepts certain FreeBSD system-dependent formats" }, - {"dump-unnumbered", &flag_dump_unnumbered, 1, - "Suppress output of instruction numbers and line number notes in debugging dumps"}, - {"instrument-functions", &flag_instrument_function_entry_exit, 1, + {"stack-check", &flag_stack_check, 1, + "Insert stack checking code into the program" }, + {"argument-alias", &flag_argument_noalias, 0, +@@ -4484,6 +4489,19 @@ + if (optimize_val != -1) + { + optimize = optimize_val; ++#ifdef __alpha__ ++ if (optimize > 1) ++ { ++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE ++ optimize = 1; ++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n", ++ optimize_val); ++ #else ++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n", ++ optimize_val); ++ #endif ++ } ++#endif /*__alpha__*/ + optimize_size = 0; + } + } |