From ec4539d95a7c388794d1e92def80a5562520eaa1 Mon Sep 17 00:00:00 2001 From: espie Date: Mon, 18 Jan 1999 10:23:25 +0000 Subject: [PATCH] Upgrade to 19990117. Fix a few details for integrating pa & alpha. First shot at mips. --- lang/egcs-snapshot/Makefile | 8 +- .../files/config/gcc/config/alpha/openbsd.h | 11 ++- .../files/config/gcc/config/mips/openbsd-be.h | 2 + .../files/config/gcc/config/mips/openbsd.h | 88 +++++++++++++++++++ .../files/config/gcc/config/openbsd.h | 20 +++-- .../files/config/gcc/config/pa/openbsd.h | 20 ++--- lang/egcs-snapshot/files/md5 | 1 + lang/egcs-snapshot/files/tests/i386.readme | 26 ++++-- .../patches/patch-core-config.open | 11 ++- lang/egcs-snapshot/patches/patch-core-tempa | 16 ---- lang/egcs/snapshot/Makefile | 8 +- .../files/config/gcc/config/alpha/openbsd.h | 11 ++- .../files/config/gcc/config/mips/openbsd-be.h | 2 + .../files/config/gcc/config/mips/openbsd.h | 88 +++++++++++++++++++ .../files/config/gcc/config/openbsd.h | 20 +++-- .../files/config/gcc/config/pa/openbsd.h | 20 ++--- lang/egcs/snapshot/files/md5 | 1 + lang/egcs/snapshot/files/tests/i386.readme | 26 ++++-- .../snapshot/patches/patch-core-config.open | 11 ++- lang/egcs/snapshot/patches/patch-core-tempa | 16 ---- 20 files changed, 304 insertions(+), 102 deletions(-) create mode 100644 lang/egcs-snapshot/files/config/gcc/config/mips/openbsd-be.h create mode 100644 lang/egcs-snapshot/files/config/gcc/config/mips/openbsd.h delete mode 100644 lang/egcs-snapshot/patches/patch-core-tempa create mode 100644 lang/egcs/snapshot/files/config/gcc/config/mips/openbsd-be.h create mode 100644 lang/egcs/snapshot/files/config/gcc/config/mips/openbsd.h delete mode 100644 lang/egcs/snapshot/patches/patch-core-tempa diff --git a/lang/egcs-snapshot/Makefile b/lang/egcs-snapshot/Makefile index 5599b4eadff..f6e3d3b76b8 100644 --- a/lang/egcs-snapshot/Makefile +++ b/lang/egcs-snapshot/Makefile @@ -3,7 +3,7 @@ # Date created: 25 sep 98 # Whom: Marc Espie # -# $OpenBSD: Makefile,v 1.19 1999/01/13 13:58:45 espie Exp $ +# $OpenBSD: Makefile,v 1.20 1999/01/18 10:23:25 espie Exp $ # # This is a configuration file for egcs, snapshot flavor # PLEASE use the regular egcs-stable for serious work, resort to this one @@ -23,7 +23,7 @@ MIRROR_DISTFILE=no # Jason L.Wright & Marco S.Hyman for sparc, # Michael Shalayeff for hppa, # Wim Van Deputte for alpha. -ONLY_FOR_ARCHS = i386 sparc m68k alpha pa +ONLY_FOR_ARCHS = i386 sparc m68k alpha pa mips # user configuration section @@ -36,7 +36,7 @@ ONLY_FOR_ARCHS = i386 sparc m68k alpha pa MAKE_TESTS=yes MAKE_GXX=yes MAKE_FORTRAN=yes -#MAKE_CHILL=yes +MAKE_CHILL=yes MAKE_OBJC=yes MAKE_JAVA=yes @@ -57,7 +57,7 @@ LATEST_DATE=1999-01-12 # You also may have to remove/add some patches, as these things ARE # usually passed along to the egcs ml. -#NEXT_DATE=1998-12-20 +NEXT_DATE=1999-01-17 #PATCH_DEBUG=yes LATEST != echo ${LATEST_DATE} | sed -e s/-//g; diff --git a/lang/egcs-snapshot/files/config/gcc/config/alpha/openbsd.h b/lang/egcs-snapshot/files/config/gcc/config/alpha/openbsd.h index 33f9423e36d..3b6d9983605 100644 --- a/lang/egcs-snapshot/files/config/gcc/config/alpha/openbsd.h +++ b/lang/egcs-snapshot/files/config/gcc/config/alpha/openbsd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: openbsd.h,v 1.2 1999/01/11 21:23:25 espie Exp $ */ +/* $OpenBSD: openbsd.h,v 1.3 1999/01/18 10:23:25 espie Exp $ */ /* vi:ts=8: */ @@ -39,6 +39,15 @@ /* We don't have an init section yet */ #undef HAS_INIT_SECTION +/* collect2 support (Macros for initialization) + * -------------------------------------------- */ + +/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld + library with the proper functions to handle this -> collect2 will + default to using nm. */ +#undef OBJECT_FORMAT_COFF +#undef EXTENDED_COFF + /* taken from alpha/osf.h. This used to be common to all alpha * configurations, but elf has departed from it. * Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded. diff --git a/lang/egcs-snapshot/files/config/gcc/config/mips/openbsd-be.h b/lang/egcs-snapshot/files/config/gcc/config/mips/openbsd-be.h new file mode 100644 index 00000000000..f7f0f8771fd --- /dev/null +++ b/lang/egcs-snapshot/files/config/gcc/config/mips/openbsd-be.h @@ -0,0 +1,2 @@ +#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN +#include diff --git a/lang/egcs-snapshot/files/config/gcc/config/mips/openbsd.h b/lang/egcs-snapshot/files/config/gcc/config/mips/openbsd.h new file mode 100644 index 00000000000..23b67a36008 --- /dev/null +++ b/lang/egcs-snapshot/files/config/gcc/config/mips/openbsd.h @@ -0,0 +1,88 @@ +/* GCC configuration for OpenBSD Mips ABI32 */ +/* $OpenBSD: openbsd.h,v 1.1 1999/01/18 10:23:26 espie Exp $ */ + +/* Default mips is little endian, unless otherwise specified */ + +#define OBJECT_FORMAT_ELF + +#include + +/* Get generic openbsd definitions */ +#define OBSD_HAS_DECLARE_FUNCTION_NAME +#define OBSD_HAS_DECLARE_OBJECT_NAME +#include + + +/* run-time target specifications */ +#define CPP_PREDEFINES "-DMIPSEL -D_MIPSEL -DSYSTYPE_BSD \ +-D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \ +-D__unix__ -D__OpenBSD__ -D__mips__ \ +-Asystem(unix) -Asystem(OpenBSD) -Amachine(mips)" + + +/* layout of source language data types + * ------------------------------------ */ +/* this must agree with */ +#undef SIZE_TYPE +#define SIZE_TYPE "unsigned int" + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE "int" + +#undef WCHAR_TYPE +#define WCHAR_TYPE "int" + +#undef WCHAR_TYPE_SIZE +#define WCHAR_TYPE_SIZE 32 + +/* Controlling the compilation driver + * ---------------------------------- */ + +/* LINK_SPEC appropriate for OpenBSD. Support for GCC options + -static, -assert, and -nostdlib. Dynamic loader control. + XXX Why don't we offer -R support ? */ +#undef LINK_SPEC +#define LINK_SPEC \ + "%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \ + %{bestGnum} %{shared} %{non_shared} \ + %{call_shared} %{no_archive} %{exact_version} \ + %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \ + %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \ + %{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \ + %{static:-Bstatic} %{!static:-Bdynamic} %{assert*}" + +/* GAS needs to know this */ +#define SUBTARGET_ASM_SPEC "%{fPIC:-KPIC} %|" + +/* Some comment say that this is needed for ELF */ +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + +/* Some comment say that we need to redefine this for ELF */ +#define LOCAL_LABEL_PREFIX "." + +/* -G is incompatible with -KPIC which is the default, so only allow objects + in the small data section if the user explicitly asks for it. */ +#undef MIPS_DEFAULT_GVALUE +#define MIPS_DEFAULT_GVALUE 0 + + +/* Since gas and gld are standard on OpenBSD, we don't need these. */ +#undef ASM_FINAL_SPEC +#undef STARTFILE_SPEC + +/* + A C statement to output something to the assembler file to switch to section + NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or + NULL_TREE. Some target formats do not support arbitrary sections. Do not + define this macro in such cases. mips.h doesn't define this, do it here. +*/ +#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \ +do { \ + extern FILE *asm_out_text_file; \ + if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \ + fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \ + else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \ + fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME)); \ + else \ + fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \ +} while (0) diff --git a/lang/egcs-snapshot/files/config/gcc/config/openbsd.h b/lang/egcs-snapshot/files/config/gcc/config/openbsd.h index 9b3a820de3c..2649517d90d 100644 --- a/lang/egcs-snapshot/files/config/gcc/config/openbsd.h +++ b/lang/egcs-snapshot/files/config/gcc/config/openbsd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: openbsd.h,v 1.6 1999/01/13 13:58:46 espie Exp $ */ +/* $OpenBSD: openbsd.h,v 1.7 1999/01/18 10:23:25 espie Exp $ */ /* vi:ts=8: */ @@ -52,7 +52,7 @@ still uses a special flavor of gas that needs to be told when generating pic code. */ #undef ASM_SPEC -#define ASM_SPEC "%| %{fpic:-k} %{fPIC:-k -K}" +#define ASM_SPEC "%{fpic:-k} %{fPIC:-k -K} %|" #else /* Since we use gas, stdin -> - is a good idea, but we don't want to override native specs just for that. */ @@ -106,7 +106,7 @@ /* Support of shared libraries, mostly imported from svr4.h through netbsd. */ /* Two differences from svr4.h: - - we use .- _func instead of a local label, + - we use . - _func instead of a local label, - we put extra spaces in expressions such as .type _func , @function This is more readable for a human being and confuses c++filt less. @@ -148,13 +148,14 @@ entries under OpenBSD. These macros also have to output the starting labels for the relevant functions/objects. */ +#ifndef OBSD_HAS_DECLARE_FUNCTION_NAME /* Extra assembler code needed to declare a function properly. Some assemblers may also need to also have something extra said about the function's return value. We allow for that here. */ #undef ASM_DECLARE_FUNCTION_NAME #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ do { \ - fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ + fprintf (FILE, "\t%s\t", TYPE_ASM_OP); \ assemble_name (FILE, NAME); \ fputs (" , ", FILE); \ fprintf (FILE, TYPE_OPERAND_FMT, "function"); \ @@ -162,6 +163,7 @@ ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ ASM_OUTPUT_LABEL(FILE, NAME); \ } while (0) +#endif /* Declare the size of a function. */ #undef ASM_DECLARE_FUNCTION_SIZE @@ -169,14 +171,15 @@ do { \ if (!flag_inhibit_size_directive) \ { \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \ assemble_name (FILE, (FNAME)); \ - fputs(" , .- ", FILE); \ + fputs(" , . - ", FILE); \ assemble_name (FILE, (FNAME)); \ putc ('\n', FILE); \ } \ } while (0) +#ifndef OBSD_HAS_DECLARE_OBJECT_NAME /* Extra assembler code needed to declare an object properly. */ #undef ASM_DECLARE_OBJECT_NAME #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ @@ -190,12 +193,13 @@ if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \ { \ size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \ assemble_name (FILE, NAME); \ fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\ } \ ASM_OUTPUT_LABEL(FILE, NAME); \ } while (0) +#endif /* Output the size directive for a decl in rest_of_decl_compilation in the case where we did not do so before the initializer. @@ -212,7 +216,7 @@ do { \ && !size_directive_output) \ { \ size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \ assemble_name (FILE, name); \ fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\ } \ diff --git a/lang/egcs-snapshot/files/config/gcc/config/pa/openbsd.h b/lang/egcs-snapshot/files/config/gcc/config/pa/openbsd.h index 54449cd1ff2..a782b22daf7 100644 --- a/lang/egcs-snapshot/files/config/gcc/config/pa/openbsd.h +++ b/lang/egcs-snapshot/files/config/gcc/config/pa/openbsd.h @@ -1,17 +1,17 @@ -/* We settle for little endian for now */ - -#define TARGET_ENDIAN_DEFAULT 0 - #include +#define OBSD_HAS_DECLARE_FUNCTION_NAME #include /* run-time target specifications */ #define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) -Asystem(OpenBSD) -Amachine(hppa) -D__OpenBSD__ -D__hppa__ -D__hppa" +#undef OVERRIDE_OPTIONS #define OVERRIDE_OPTIONS \ { \ - override_options(); \ - if (! flag_pic) target_flags |= TARGET_NONPIC_FLAGS; \ + override_options(); \ + if (! flag_pic) \ + /* portable-runtime + fast-indirect-calls */ \ + target_flags |= 0x440; \ } /* XXX why doesn't PA support -R like everyone ??? */ @@ -46,11 +46,11 @@ #undef ASM_FILE_START #define ASM_FILE_START(FILE) \ do { fputs ("\t.SPACE $PRIVATE$\n\ -\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\ -\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\ +\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24\n\ +\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,ZERO,SORT=80\n\ \t.SPACE $TEXT$\n\ -\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44\n\ -\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n\ +\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=0x2c\n\ +\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY\n\ \t.IMPORT $global$,DATA\n", FILE);\ if (flag_pic || !TARGET_FAST_INDIRECT_CALLS)\ fputs ("\t.IMPORT $$dyncall, MILLICODE\n", FILE);\ diff --git a/lang/egcs-snapshot/files/md5 b/lang/egcs-snapshot/files/md5 index 7c356234550..0d30b14e583 100644 --- a/lang/egcs-snapshot/files/md5 +++ b/lang/egcs-snapshot/files/md5 @@ -2,6 +2,7 @@ MD5 (egcs/egcs-19981213-19981220.diff.gz) = 0277da152b5791433d26165de67f6ec0 MD5 (egcs/egcs-19981213.tar.gz) = d858d60706697e087413320a24343439 MD5 (egcs/egcs-19981220.tar.gz) = a32b6af1d68cdadb457dc77a42584225 MD5 (egcs/egcs-19990103.tar.gz) = 07f781c833e7c2bc9be558e9a1ca8485 +MD5 (egcs/egcs-19990112-19990117.diff.gz) = 9f3b8ce3ac90f8534046c0a3db82ce9d MD5 (egcs/egcs-19990112.tar.gz) = 599d80b9ea8b88e05fbec21740e27670 MD5 (egcs/egcs-chill-19990103.tar.gz) = d9798f88229586a6a8cee4033d4a5664 MD5 (egcs/egcs-chill-19990112.tar.gz) = d2d59fca0324213230e4f62e747492cc diff --git a/lang/egcs-snapshot/files/tests/i386.readme b/lang/egcs-snapshot/files/tests/i386.readme index 881f50f174b..372a817243f 100644 --- a/lang/egcs-snapshot/files/tests/i386.readme +++ b/lang/egcs-snapshot/files/tests/i386.readme @@ -26,6 +26,12 @@ FAIL: gcc.c-torture/compile/981223-1.c, -O2 FAIL: gcc.c-torture/compile/981223-1.c, -O2 -fomit-frame-pointer -finline-functions FAIL: gcc.c-torture/compile/981223-1.c, -O2 -g FAIL: gcc.c-torture/compile/981223-1.c, -Os +FAIL: gcc.c-torture/compile/990117-2.c, -O0 +FAIL: gcc.c-torture/compile/990117-2.c, -O1 +FAIL: gcc.c-torture/compile/990117-2.c, -O2 +FAIL: gcc.c-torture/compile/990117-2.c, -O2 -fomit-frame-pointer -finline-functions +FAIL: gcc.c-torture/compile/990117-2.c, -O2 -g +FAIL: gcc.c-torture/compile/990117-2.c, -Os FAIL: gcc.c-torture/execute/980526-1.c execution, -O2 -fomit-frame-pointer -finline-functions FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O1 FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2 @@ -51,11 +57,11 @@ FAIL: gcc.dg/980414-1.c (test for excess errors) === gcc Summary === -# of expected passes 7816 -# of unexpected failures 28 +# of expected passes 7864 +# of unexpected failures 34 # of expected failures 13 # of unsupported tests 12 -/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental) +/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) === g++ tests === @@ -81,11 +87,11 @@ FAIL: g++.pt/instantiate4.C (test for excess errors) === g++ Summary === -# of expected passes 4775 +# of expected passes 4784 # of unexpected failures 17 -# of expected failures 88 +# of expected failures 89 # of untested testcases 7 -/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/testsuite/../xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental) +/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/testsuite/../xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) === g77 tests === @@ -94,7 +100,7 @@ Running target unix === g77 Summary === -# of expected passes 93 +# of expected passes 100 # of unresolved testcases 186 === objc tests === @@ -104,4 +110,8 @@ Running target unix === objc Summary === # of expected passes 38 -/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental) +/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) + + +Compiler version: egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) +Platform: i386-unknown-openbsd2.4. diff --git a/lang/egcs-snapshot/patches/patch-core-config.open b/lang/egcs-snapshot/patches/patch-core-config.open index c49436e3a7d..2eb79af3685 100644 --- a/lang/egcs-snapshot/patches/patch-core-config.open +++ b/lang/egcs-snapshot/patches/patch-core-config.open @@ -34,12 +34,13 @@ alpha*-dec-osf*) if test x$stabs = xyes -@@ -771,6 +785,9 @@ +@@ -771,6 +785,10 @@ h8300-*-*) float_format=i32 ;; + hppa*-*-openbsd*) + target_cpu_default=1 ++ tmake_file=pa/t-openbsd + ;; hppa1.1-*-pro*) tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h" @@ -79,14 +80,16 @@ m68k-*-sysv3*) # Motorola m68k's running system V.3 xm_file="xm-alloca.h ${xm_file}" xm_defines=USG -@@ -2299,6 +2323,12 @@ +@@ -2299,6 +2323,14 @@ gas=yes fixincludes=Makefile.in ;; -+ mips*el-*-openbsd*) # mips le -+ tm_file=mips/openbsd-le.h ++ mips*el-*-openbsd*) # mips little endian ++ target_cpu_default="MASK_GAS|MASK_ABICALLS" ++ tm_file=mips/openbsd.h + ;; + mips*-*-openbsd*) # mips big endian ++ target_cpu_default="MASK_GAS|MASK_ABICALLS" + tm_file=mips/openbsd-be.h + ;; mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news. diff --git a/lang/egcs-snapshot/patches/patch-core-tempa b/lang/egcs-snapshot/patches/patch-core-tempa deleted file mode 100644 index 6d51761ce7f..00000000000 --- a/lang/egcs-snapshot/patches/patch-core-tempa +++ /dev/null @@ -1,16 +0,0 @@ ---- gcc/gcc.c.orig Tue Jan 12 00:49:22 1999 -+++ gcc/gcc.c Tue Jan 12 00:50:25 1999 -@@ -3630,12 +3630,12 @@ - - if (p[0] == '%' && p[1] == 'O') - { -+ p += 2; - /* We don't support extra suffix characters after %O. */ - if (*p == '.' || ISALPHA ((unsigned char)*p)) - abort (); - suffix = OBJECT_SUFFIX; - suffix_length = strlen (OBJECT_SUFFIX); -- p += 2; - } - else - { diff --git a/lang/egcs/snapshot/Makefile b/lang/egcs/snapshot/Makefile index 5599b4eadff..f6e3d3b76b8 100644 --- a/lang/egcs/snapshot/Makefile +++ b/lang/egcs/snapshot/Makefile @@ -3,7 +3,7 @@ # Date created: 25 sep 98 # Whom: Marc Espie # -# $OpenBSD: Makefile,v 1.19 1999/01/13 13:58:45 espie Exp $ +# $OpenBSD: Makefile,v 1.20 1999/01/18 10:23:25 espie Exp $ # # This is a configuration file for egcs, snapshot flavor # PLEASE use the regular egcs-stable for serious work, resort to this one @@ -23,7 +23,7 @@ MIRROR_DISTFILE=no # Jason L.Wright & Marco S.Hyman for sparc, # Michael Shalayeff for hppa, # Wim Van Deputte for alpha. -ONLY_FOR_ARCHS = i386 sparc m68k alpha pa +ONLY_FOR_ARCHS = i386 sparc m68k alpha pa mips # user configuration section @@ -36,7 +36,7 @@ ONLY_FOR_ARCHS = i386 sparc m68k alpha pa MAKE_TESTS=yes MAKE_GXX=yes MAKE_FORTRAN=yes -#MAKE_CHILL=yes +MAKE_CHILL=yes MAKE_OBJC=yes MAKE_JAVA=yes @@ -57,7 +57,7 @@ LATEST_DATE=1999-01-12 # You also may have to remove/add some patches, as these things ARE # usually passed along to the egcs ml. -#NEXT_DATE=1998-12-20 +NEXT_DATE=1999-01-17 #PATCH_DEBUG=yes LATEST != echo ${LATEST_DATE} | sed -e s/-//g; diff --git a/lang/egcs/snapshot/files/config/gcc/config/alpha/openbsd.h b/lang/egcs/snapshot/files/config/gcc/config/alpha/openbsd.h index 33f9423e36d..3b6d9983605 100644 --- a/lang/egcs/snapshot/files/config/gcc/config/alpha/openbsd.h +++ b/lang/egcs/snapshot/files/config/gcc/config/alpha/openbsd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: openbsd.h,v 1.2 1999/01/11 21:23:25 espie Exp $ */ +/* $OpenBSD: openbsd.h,v 1.3 1999/01/18 10:23:25 espie Exp $ */ /* vi:ts=8: */ @@ -39,6 +39,15 @@ /* We don't have an init section yet */ #undef HAS_INIT_SECTION +/* collect2 support (Macros for initialization) + * -------------------------------------------- */ + +/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld + library with the proper functions to handle this -> collect2 will + default to using nm. */ +#undef OBJECT_FORMAT_COFF +#undef EXTENDED_COFF + /* taken from alpha/osf.h. This used to be common to all alpha * configurations, but elf has departed from it. * Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded. diff --git a/lang/egcs/snapshot/files/config/gcc/config/mips/openbsd-be.h b/lang/egcs/snapshot/files/config/gcc/config/mips/openbsd-be.h new file mode 100644 index 00000000000..f7f0f8771fd --- /dev/null +++ b/lang/egcs/snapshot/files/config/gcc/config/mips/openbsd-be.h @@ -0,0 +1,2 @@ +#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN +#include diff --git a/lang/egcs/snapshot/files/config/gcc/config/mips/openbsd.h b/lang/egcs/snapshot/files/config/gcc/config/mips/openbsd.h new file mode 100644 index 00000000000..23b67a36008 --- /dev/null +++ b/lang/egcs/snapshot/files/config/gcc/config/mips/openbsd.h @@ -0,0 +1,88 @@ +/* GCC configuration for OpenBSD Mips ABI32 */ +/* $OpenBSD: openbsd.h,v 1.1 1999/01/18 10:23:26 espie Exp $ */ + +/* Default mips is little endian, unless otherwise specified */ + +#define OBJECT_FORMAT_ELF + +#include + +/* Get generic openbsd definitions */ +#define OBSD_HAS_DECLARE_FUNCTION_NAME +#define OBSD_HAS_DECLARE_OBJECT_NAME +#include + + +/* run-time target specifications */ +#define CPP_PREDEFINES "-DMIPSEL -D_MIPSEL -DSYSTYPE_BSD \ +-D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \ +-D__unix__ -D__OpenBSD__ -D__mips__ \ +-Asystem(unix) -Asystem(OpenBSD) -Amachine(mips)" + + +/* layout of source language data types + * ------------------------------------ */ +/* this must agree with */ +#undef SIZE_TYPE +#define SIZE_TYPE "unsigned int" + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE "int" + +#undef WCHAR_TYPE +#define WCHAR_TYPE "int" + +#undef WCHAR_TYPE_SIZE +#define WCHAR_TYPE_SIZE 32 + +/* Controlling the compilation driver + * ---------------------------------- */ + +/* LINK_SPEC appropriate for OpenBSD. Support for GCC options + -static, -assert, and -nostdlib. Dynamic loader control. + XXX Why don't we offer -R support ? */ +#undef LINK_SPEC +#define LINK_SPEC \ + "%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \ + %{bestGnum} %{shared} %{non_shared} \ + %{call_shared} %{no_archive} %{exact_version} \ + %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \ + %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \ + %{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \ + %{static:-Bstatic} %{!static:-Bdynamic} %{assert*}" + +/* GAS needs to know this */ +#define SUBTARGET_ASM_SPEC "%{fPIC:-KPIC} %|" + +/* Some comment say that this is needed for ELF */ +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + +/* Some comment say that we need to redefine this for ELF */ +#define LOCAL_LABEL_PREFIX "." + +/* -G is incompatible with -KPIC which is the default, so only allow objects + in the small data section if the user explicitly asks for it. */ +#undef MIPS_DEFAULT_GVALUE +#define MIPS_DEFAULT_GVALUE 0 + + +/* Since gas and gld are standard on OpenBSD, we don't need these. */ +#undef ASM_FINAL_SPEC +#undef STARTFILE_SPEC + +/* + A C statement to output something to the assembler file to switch to section + NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or + NULL_TREE. Some target formats do not support arbitrary sections. Do not + define this macro in such cases. mips.h doesn't define this, do it here. +*/ +#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \ +do { \ + extern FILE *asm_out_text_file; \ + if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \ + fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \ + else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \ + fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME)); \ + else \ + fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \ +} while (0) diff --git a/lang/egcs/snapshot/files/config/gcc/config/openbsd.h b/lang/egcs/snapshot/files/config/gcc/config/openbsd.h index 9b3a820de3c..2649517d90d 100644 --- a/lang/egcs/snapshot/files/config/gcc/config/openbsd.h +++ b/lang/egcs/snapshot/files/config/gcc/config/openbsd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: openbsd.h,v 1.6 1999/01/13 13:58:46 espie Exp $ */ +/* $OpenBSD: openbsd.h,v 1.7 1999/01/18 10:23:25 espie Exp $ */ /* vi:ts=8: */ @@ -52,7 +52,7 @@ still uses a special flavor of gas that needs to be told when generating pic code. */ #undef ASM_SPEC -#define ASM_SPEC "%| %{fpic:-k} %{fPIC:-k -K}" +#define ASM_SPEC "%{fpic:-k} %{fPIC:-k -K} %|" #else /* Since we use gas, stdin -> - is a good idea, but we don't want to override native specs just for that. */ @@ -106,7 +106,7 @@ /* Support of shared libraries, mostly imported from svr4.h through netbsd. */ /* Two differences from svr4.h: - - we use .- _func instead of a local label, + - we use . - _func instead of a local label, - we put extra spaces in expressions such as .type _func , @function This is more readable for a human being and confuses c++filt less. @@ -148,13 +148,14 @@ entries under OpenBSD. These macros also have to output the starting labels for the relevant functions/objects. */ +#ifndef OBSD_HAS_DECLARE_FUNCTION_NAME /* Extra assembler code needed to declare a function properly. Some assemblers may also need to also have something extra said about the function's return value. We allow for that here. */ #undef ASM_DECLARE_FUNCTION_NAME #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ do { \ - fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ + fprintf (FILE, "\t%s\t", TYPE_ASM_OP); \ assemble_name (FILE, NAME); \ fputs (" , ", FILE); \ fprintf (FILE, TYPE_OPERAND_FMT, "function"); \ @@ -162,6 +163,7 @@ ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ ASM_OUTPUT_LABEL(FILE, NAME); \ } while (0) +#endif /* Declare the size of a function. */ #undef ASM_DECLARE_FUNCTION_SIZE @@ -169,14 +171,15 @@ do { \ if (!flag_inhibit_size_directive) \ { \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \ assemble_name (FILE, (FNAME)); \ - fputs(" , .- ", FILE); \ + fputs(" , . - ", FILE); \ assemble_name (FILE, (FNAME)); \ putc ('\n', FILE); \ } \ } while (0) +#ifndef OBSD_HAS_DECLARE_OBJECT_NAME /* Extra assembler code needed to declare an object properly. */ #undef ASM_DECLARE_OBJECT_NAME #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ @@ -190,12 +193,13 @@ if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \ { \ size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \ assemble_name (FILE, NAME); \ fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\ } \ ASM_OUTPUT_LABEL(FILE, NAME); \ } while (0) +#endif /* Output the size directive for a decl in rest_of_decl_compilation in the case where we did not do so before the initializer. @@ -212,7 +216,7 @@ do { \ && !size_directive_output) \ { \ size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \ assemble_name (FILE, name); \ fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\ } \ diff --git a/lang/egcs/snapshot/files/config/gcc/config/pa/openbsd.h b/lang/egcs/snapshot/files/config/gcc/config/pa/openbsd.h index 54449cd1ff2..a782b22daf7 100644 --- a/lang/egcs/snapshot/files/config/gcc/config/pa/openbsd.h +++ b/lang/egcs/snapshot/files/config/gcc/config/pa/openbsd.h @@ -1,17 +1,17 @@ -/* We settle for little endian for now */ - -#define TARGET_ENDIAN_DEFAULT 0 - #include +#define OBSD_HAS_DECLARE_FUNCTION_NAME #include /* run-time target specifications */ #define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) -Asystem(OpenBSD) -Amachine(hppa) -D__OpenBSD__ -D__hppa__ -D__hppa" +#undef OVERRIDE_OPTIONS #define OVERRIDE_OPTIONS \ { \ - override_options(); \ - if (! flag_pic) target_flags |= TARGET_NONPIC_FLAGS; \ + override_options(); \ + if (! flag_pic) \ + /* portable-runtime + fast-indirect-calls */ \ + target_flags |= 0x440; \ } /* XXX why doesn't PA support -R like everyone ??? */ @@ -46,11 +46,11 @@ #undef ASM_FILE_START #define ASM_FILE_START(FILE) \ do { fputs ("\t.SPACE $PRIVATE$\n\ -\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\ -\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\ +\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24\n\ +\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,ZERO,SORT=80\n\ \t.SPACE $TEXT$\n\ -\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44\n\ -\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n\ +\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=0x2c\n\ +\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY\n\ \t.IMPORT $global$,DATA\n", FILE);\ if (flag_pic || !TARGET_FAST_INDIRECT_CALLS)\ fputs ("\t.IMPORT $$dyncall, MILLICODE\n", FILE);\ diff --git a/lang/egcs/snapshot/files/md5 b/lang/egcs/snapshot/files/md5 index 7c356234550..0d30b14e583 100644 --- a/lang/egcs/snapshot/files/md5 +++ b/lang/egcs/snapshot/files/md5 @@ -2,6 +2,7 @@ MD5 (egcs/egcs-19981213-19981220.diff.gz) = 0277da152b5791433d26165de67f6ec0 MD5 (egcs/egcs-19981213.tar.gz) = d858d60706697e087413320a24343439 MD5 (egcs/egcs-19981220.tar.gz) = a32b6af1d68cdadb457dc77a42584225 MD5 (egcs/egcs-19990103.tar.gz) = 07f781c833e7c2bc9be558e9a1ca8485 +MD5 (egcs/egcs-19990112-19990117.diff.gz) = 9f3b8ce3ac90f8534046c0a3db82ce9d MD5 (egcs/egcs-19990112.tar.gz) = 599d80b9ea8b88e05fbec21740e27670 MD5 (egcs/egcs-chill-19990103.tar.gz) = d9798f88229586a6a8cee4033d4a5664 MD5 (egcs/egcs-chill-19990112.tar.gz) = d2d59fca0324213230e4f62e747492cc diff --git a/lang/egcs/snapshot/files/tests/i386.readme b/lang/egcs/snapshot/files/tests/i386.readme index 881f50f174b..372a817243f 100644 --- a/lang/egcs/snapshot/files/tests/i386.readme +++ b/lang/egcs/snapshot/files/tests/i386.readme @@ -26,6 +26,12 @@ FAIL: gcc.c-torture/compile/981223-1.c, -O2 FAIL: gcc.c-torture/compile/981223-1.c, -O2 -fomit-frame-pointer -finline-functions FAIL: gcc.c-torture/compile/981223-1.c, -O2 -g FAIL: gcc.c-torture/compile/981223-1.c, -Os +FAIL: gcc.c-torture/compile/990117-2.c, -O0 +FAIL: gcc.c-torture/compile/990117-2.c, -O1 +FAIL: gcc.c-torture/compile/990117-2.c, -O2 +FAIL: gcc.c-torture/compile/990117-2.c, -O2 -fomit-frame-pointer -finline-functions +FAIL: gcc.c-torture/compile/990117-2.c, -O2 -g +FAIL: gcc.c-torture/compile/990117-2.c, -Os FAIL: gcc.c-torture/execute/980526-1.c execution, -O2 -fomit-frame-pointer -finline-functions FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O1 FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2 @@ -51,11 +57,11 @@ FAIL: gcc.dg/980414-1.c (test for excess errors) === gcc Summary === -# of expected passes 7816 -# of unexpected failures 28 +# of expected passes 7864 +# of unexpected failures 34 # of expected failures 13 # of unsupported tests 12 -/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental) +/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) === g++ tests === @@ -81,11 +87,11 @@ FAIL: g++.pt/instantiate4.C (test for excess errors) === g++ Summary === -# of expected passes 4775 +# of expected passes 4784 # of unexpected failures 17 -# of expected failures 88 +# of expected failures 89 # of untested testcases 7 -/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/testsuite/../xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental) +/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/testsuite/../xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) === g77 tests === @@ -94,7 +100,7 @@ Running target unix === g77 Summary === -# of expected passes 93 +# of expected passes 100 # of unresolved testcases 186 === objc tests === @@ -104,4 +110,8 @@ Running target unix === objc Summary === # of expected passes 38 -/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental) +/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) + + +Compiler version: egcs-2.93.02 19990117 (gcc2 ss-980609 experimental) +Platform: i386-unknown-openbsd2.4. diff --git a/lang/egcs/snapshot/patches/patch-core-config.open b/lang/egcs/snapshot/patches/patch-core-config.open index c49436e3a7d..2eb79af3685 100644 --- a/lang/egcs/snapshot/patches/patch-core-config.open +++ b/lang/egcs/snapshot/patches/patch-core-config.open @@ -34,12 +34,13 @@ alpha*-dec-osf*) if test x$stabs = xyes -@@ -771,6 +785,9 @@ +@@ -771,6 +785,10 @@ h8300-*-*) float_format=i32 ;; + hppa*-*-openbsd*) + target_cpu_default=1 ++ tmake_file=pa/t-openbsd + ;; hppa1.1-*-pro*) tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h" @@ -79,14 +80,16 @@ m68k-*-sysv3*) # Motorola m68k's running system V.3 xm_file="xm-alloca.h ${xm_file}" xm_defines=USG -@@ -2299,6 +2323,12 @@ +@@ -2299,6 +2323,14 @@ gas=yes fixincludes=Makefile.in ;; -+ mips*el-*-openbsd*) # mips le -+ tm_file=mips/openbsd-le.h ++ mips*el-*-openbsd*) # mips little endian ++ target_cpu_default="MASK_GAS|MASK_ABICALLS" ++ tm_file=mips/openbsd.h + ;; + mips*-*-openbsd*) # mips big endian ++ target_cpu_default="MASK_GAS|MASK_ABICALLS" + tm_file=mips/openbsd-be.h + ;; mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news. diff --git a/lang/egcs/snapshot/patches/patch-core-tempa b/lang/egcs/snapshot/patches/patch-core-tempa deleted file mode 100644 index 6d51761ce7f..00000000000 --- a/lang/egcs/snapshot/patches/patch-core-tempa +++ /dev/null @@ -1,16 +0,0 @@ ---- gcc/gcc.c.orig Tue Jan 12 00:49:22 1999 -+++ gcc/gcc.c Tue Jan 12 00:50:25 1999 -@@ -3630,12 +3630,12 @@ - - if (p[0] == '%' && p[1] == 'O') - { -+ p += 2; - /* We don't support extra suffix characters after %O. */ - if (*p == '.' || ISALPHA ((unsigned char)*p)) - abort (); - suffix = OBJECT_SUFFIX; - suffix_length = strlen (OBJECT_SUFFIX); -- p += 2; - } - else - {