summaryrefslogtreecommitdiff
path: root/lang/gcc46/files
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2000-09-05 16:59:15 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2000-09-05 16:59:15 +0000
commit81388430e38efd7c8141a3535c899974c07adf04 (patch)
treefe4465581204854dd44fefdb9bf43a28d3dc158a /lang/gcc46/files
parentUpgrade to 3.9.8 (diff)
Upgrade to the 2000-07-17 GCC 2.96 development snapshot.
Notes
Notes: svn path=/head/; revision=32315
Diffstat (limited to 'lang/gcc46/files')
-rw-r--r--lang/gcc46/files/alpha-freebsd.h20
-rw-r--r--lang/gcc46/files/patch-af2
-rw-r--r--lang/gcc46/files/patch-ai23
-rw-r--r--lang/gcc46/files/patch-ak32
-rw-r--r--lang/gcc46/files/patch-al37
-rw-r--r--lang/gcc46/files/patch-fa90
-rw-r--r--lang/gcc46/files/patch-fc50
7 files changed, 111 insertions, 143 deletions
diff --git a/lang/gcc46/files/alpha-freebsd.h b/lang/gcc46/files/alpha-freebsd.h
index 1c6a20e793c6..93bda2f63e8f 100644
--- a/lang/gcc46/files/alpha-freebsd.h
+++ b/lang/gcc46/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/gcc46/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/gcc46/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/gcc46/files/patch-af b/lang/gcc46/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc46/files/patch-af
+++ b/lang/gcc46/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/gcc46/files/patch-ai b/lang/gcc46/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc46/files/patch-ai
+++ b/lang/gcc46/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/gcc46/files/patch-ak b/lang/gcc46/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc46/files/patch-ak
+++ b/lang/gcc46/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/gcc46/files/patch-al b/lang/gcc46/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc46/files/patch-al
+++ b/lang/gcc46/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/gcc46/files/patch-fa b/lang/gcc46/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc46/files/patch-fa
+++ b/lang/gcc46/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/gcc46/files/patch-fc b/lang/gcc46/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc46/files/patch-fc
+++ b/lang/gcc46/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;
+ }
+ }