diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-03 18:10:08 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-03 18:10:08 +0000 |
commit | 634f7a13c64daa6880a2241827483e0fb28a6df3 (patch) | |
tree | 243e6c82b40956cbdbedeb566a077006e70cd744 /gcc/testsuite | |
parent | 7469aed1a109553a8a319fdc7cec5dcc7cddb311 (diff) | |
download | gcc-634f7a13c64daa6880a2241827483e0fb28a6df3.tar.gz |
/
* configure.in: Remove target-libstdc++-v3 from noconfigdirs for
*-*-netware, but add target-libmudflap.
Consolidate *-*-netware targets (of which really only i?86 exists)
into a single entry.
* configure: Likewise.
gcc/
* config.gcc: Resurrect NetWare as a target. Handle special case of
Novell linker to be used (specified through --with-ld=) and threading
model of either Posix (default) or NKS.
* config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
* config/i386/netware.c, config/i386/netware.h: New.
* config/i386/nwld.c, config/i386/nwld.h: New.
* config/i386/netware-crt0.c: New.
* config/i386/netware-libgcc.c: New.
* config/i386/netware-libgcc.def: New.
* config/i386/netware-libgcc.exp: New.
* config/i386/t-netware, config/i386/t-nwld: New.
* gthr-nks.h: New.
* doc/install.texi: Document NKS threading model.
gcc/cp/
* g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather
than "-lm".
gcc/testsuite/
* g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields.
* g++.old-deja/g++.jason/thunk2.C: xfail for NetWare.
* g++.old-deja/g++.law/profile1.C: xfail for NetWare.
* g++.old-deja/g++.other/store-expr1.C: xfail for NetWare.
* gcc.c-torture/compile/20001109-1.c: xfail for NetWare.
* gcc.c-torture/compile/20001109-2.c: xfail for NetWare.
* gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than
the non-portable bzero.
* gcc.dg/20010912-1.c: xfail for NetWare.
* gcc.dg/20020426-2.c: xfail for NetWare.
* gcc.dg/20021014-1.c: xfail for NetWare.
* gcc.dg/20021018-1.c: xfail for NetWare.
* gcc.dg/20030213-1.c: xfail for NetWare.
* gcc.dg/20030225-1.c: xfail for NetWare.
* gcc.dg/20030708-1.c: xfail for NetWare.
* gcc.dg/builtins-config.h: Also exclude NetWare.
* gcc.dg/format/format.h: Define restrict only if not already defined.
* gcc.dg/nest.c: xfail for NetWare.
* gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare.
* lib/target-supports.exp (check_visibility_available): Exclude
NetWare.
fixincludes/
* inclhack.def: Suppress exception_structure and math_exception
for NetWare headers.
* fixincl.x: Regenerate.
libstdc++-v3/
* crossconfig.m4: Add NetWare as a target.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87040 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 24 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/abi/bitfield5.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/thunk2.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/profile1.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/store-expr1.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20001109-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20001109-2.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/multi-ix.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20010912-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20020426-2.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20021014-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20021018-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20030213-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20030225-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20030708-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/builtins-config.h | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/format/format.h | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/nest.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/special/gcsec-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 10 |
20 files changed, 54 insertions, 4 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c4a03852763..8cae9a8498f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,29 @@ 2004-09-03 Jan Beulich <jbeulich@novell.com> + * g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields. + * g++.old-deja/g++.jason/thunk2.C: xfail for NetWare. + * g++.old-deja/g++.law/profile1.C: xfail for NetWare. + * g++.old-deja/g++.other/store-expr1.C: xfail for NetWare. + * gcc.c-torture/compile/20001109-1.c: xfail for NetWare. + * gcc.c-torture/compile/20001109-2.c: xfail for NetWare. + * gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than + the non-portable bzero. + * gcc.dg/20010912-1.c: xfail for NetWare. + * gcc.dg/20020426-2.c: xfail for NetWare. + * gcc.dg/20021014-1.c: xfail for NetWare. + * gcc.dg/20021018-1.c: xfail for NetWare. + * gcc.dg/20030213-1.c: xfail for NetWare. + * gcc.dg/20030225-1.c: xfail for NetWare. + * gcc.dg/20030708-1.c: xfail for NetWare. + * gcc.dg/builtins-config.h: Also exclude NetWare. + * gcc.dg/format/format.h: Define restrict only if not already defined. + * gcc.dg/nest.c: xfail for NetWare. + * gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare. + * lib/target-supports.exp (check_visibility_available): Exclude + NetWare. + +2004-09-03 Jan Beulich <jbeulich@novell.com> + * gcc.dg/pack-test-2.c: Adjust to permit and check #pragma pack(push). * gcc.dg/c99-flex-array-4.c: Add -fpack-struct=8 to provide a deterministic starting point for the alignment of structure fields. diff --git a/gcc/testsuite/g++.dg/abi/bitfield5.C b/gcc/testsuite/g++.dg/abi/bitfield5.C index e754f0ddf22..53131401434 100644 --- a/gcc/testsuite/g++.dg/abi/bitfield5.C +++ b/gcc/testsuite/g++.dg/abi/bitfield5.C @@ -1,5 +1,6 @@ // { dg-do compile } // { dg-options "-Wabi -fabi-version=1" } +// { dg-options "-Wabi -fabi-version=1 -mno-ms-bitfields" { target i?86-*-* x86_64-*-* } } struct A { virtual void f(); diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk2.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk2.C index 01a2ec696db..5694fa1b270 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/thunk2.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/thunk2.C @@ -1,5 +1,6 @@ // { dg-do run } // { dg-options "-fPIC" } +// { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } // Test that non-variadic function calls using thunks and PIC work right. struct A { diff --git a/gcc/testsuite/g++.old-deja/g++.law/profile1.C b/gcc/testsuite/g++.old-deja/g++.law/profile1.C index 2fa633ba17e..56c52d1ef9a 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/profile1.C +++ b/gcc/testsuite/g++.old-deja/g++.law/profile1.C @@ -2,6 +2,7 @@ // { dg-require-profiling "-pg" } // { dg-options "-pg" } // { dg-options "-pg -static" { target hppa*-*-hpux* } } +// { dg-bogus "\[Uu\]nresolved symbol ._mcount" "Profiling unsupported" { xfail *-*-netware* } 0 } // GROUPS passed profiling #include <stdio.h> main() diff --git a/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C b/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C index 5a376669bd3..f3a682d77f6 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C +++ b/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C @@ -1,5 +1,6 @@ // { dg-do run { target i?86-*-* } } // { dg-options "-mtune=i686 -O2 -fpic" } +// { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } class G {}; struct N { diff --git a/gcc/testsuite/gcc.c-torture/compile/20001109-1.c b/gcc/testsuite/gcc.c-torture/compile/20001109-1.c index cce8047ae8a..6e513c9563f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001109-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20001109-1.c @@ -1,3 +1,5 @@ +/* This does not work on NetWare, which has a default of 1-byte alignment. */ +/* { dg-xfail-if "" { "*-*-netware*" } { "*" } { "" } } */ typedef struct _foo foo; extern foo bar; struct _foo { diff --git a/gcc/testsuite/gcc.c-torture/compile/20001109-2.c b/gcc/testsuite/gcc.c-torture/compile/20001109-2.c index a23e56bd34b..1448215c578 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001109-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20001109-2.c @@ -1,3 +1,5 @@ +/* This does not work on NetWare, which has a default of 1-byte alignment. */ +/* { dg-xfail-if "" { "*-*-netware*" } { "*" } { "" } } */ extern struct foo bar; struct foo { int a; diff --git a/gcc/testsuite/gcc.c-torture/execute/multi-ix.c b/gcc/testsuite/gcc.c-torture/execute/multi-ix.c index 65e9438312b..d61a3136706 100644 --- a/gcc/testsuite/gcc.c-torture/execute/multi-ix.c +++ b/gcc/testsuite/gcc.c-torture/execute/multi-ix.c @@ -161,7 +161,7 @@ void z(int n, ...) while (n--) { int *a = va_arg (list, int *); - bzero (a, sizeof (l)); + __builtin_bzero (a, sizeof (l)); } va_end (list); } diff --git a/gcc/testsuite/gcc.dg/20010912-1.c b/gcc/testsuite/gcc.dg/20010912-1.c index 9d0d2e03e8d..7769b496e55 100644 --- a/gcc/testsuite/gcc.dg/20010912-1.c +++ b/gcc/testsuite/gcc.dg/20010912-1.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -fpic" } */ /* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* cris-*-aout* mmix-*-* } 0 } */ +/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */ extern void abort (void); extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/20020426-2.c b/gcc/testsuite/gcc.dg/20020426-2.c index e38214cd9cf..dd7fa7ff577 100644 --- a/gcc/testsuite/gcc.dg/20020426-2.c +++ b/gcc/testsuite/gcc.dg/20020426-2.c @@ -3,6 +3,7 @@ /* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target i?86-*-* } } */ +/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/20021014-1.c b/gcc/testsuite/gcc.dg/20021014-1.c index dd8614c9f09..6ce62c34666 100644 --- a/gcc/testsuite/gcc.dg/20021014-1.c +++ b/gcc/testsuite/gcc.dg/20021014-1.c @@ -4,6 +4,7 @@ /* { dg-options "-O2 -p -static" { target hppa*-*-hpux* } } */ /* { dg-error "profiler" "No profiler support" { target xstormy16-*-* } 0 } */ /* { dg-error "" "consider using `-pg' instead of `-p' with gprof(1)" { target *-*-freebsd* } 0 } */ +/* { dg-bogus "\[Uu\]nresolved symbol ._mcount" "Profiling unsupported" { xfail *-*-netware* } 0 } */ extern void abort (void); extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/20021018-1.c b/gcc/testsuite/gcc.dg/20021018-1.c index 2fef73f623a..f460e77a1ea 100644 --- a/gcc/testsuite/gcc.dg/20021018-1.c +++ b/gcc/testsuite/gcc.dg/20021018-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -fpic" } */ +/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */ extern void abort (void); extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/20030213-1.c b/gcc/testsuite/gcc.dg/20030213-1.c index c9fe3a40eaf..8394ba054ad 100644 --- a/gcc/testsuite/gcc.dg/20030213-1.c +++ b/gcc/testsuite/gcc.dg/20030213-1.c @@ -2,6 +2,7 @@ /* { dg-do link } */ /* { dg-options "-O -fpic" } */ /* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* cris-*-aout* mmix-*-* } 0 } */ +/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */ int *g; diff --git a/gcc/testsuite/gcc.dg/20030225-1.c b/gcc/testsuite/gcc.dg/20030225-1.c index 7c30898b4ea..ea7736331c8 100644 --- a/gcc/testsuite/gcc.dg/20030225-1.c +++ b/gcc/testsuite/gcc.dg/20030225-1.c @@ -6,7 +6,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -fPIC" } */ /* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* mmix-*-* } 0 } */ - +/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/20030708-1.c b/gcc/testsuite/gcc.dg/20030708-1.c index b9786418ed9..d0b5b2bd2b9 100644 --- a/gcc/testsuite/gcc.dg/20030708-1.c +++ b/gcc/testsuite/gcc.dg/20030708-1.c @@ -1,6 +1,7 @@ /* PR c/11420 */ /* { dg-do link } */ /* { dg-options "-O2 -fpic" } */ +/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */ void (* volatile fn) (void); static void foo (void) diff --git a/gcc/testsuite/gcc.dg/builtins-config.h b/gcc/testsuite/gcc.dg/builtins-config.h index f094774716d..d56cc1fb3a6 100644 --- a/gcc/testsuite/gcc.dg/builtins-config.h +++ b/gcc/testsuite/gcc.dg/builtins-config.h @@ -17,6 +17,8 @@ /* Irix6 doesn't have the entire C99 runtime. */ #elif defined(__FreeBSD__) && (__FreeBSD__ < 5) /* FreeBSD before version 5 doesn't have the entire C99 runtime. */ +#elif defined(__netware__) +/* NetWare doesn't have the entire C99 runtime. */ #else /* Newlib has the "f" variants of the math functions, but not the "l" variants. TARGET_C99_FUNCTIONS is only defined if all C99 diff --git a/gcc/testsuite/gcc.dg/format/format.h b/gcc/testsuite/gcc.dg/format/format.h index 0ded1e0382a..e55d23cd4d3 100644 --- a/gcc/testsuite/gcc.dg/format/format.h +++ b/gcc/testsuite/gcc.dg/format/format.h @@ -31,7 +31,7 @@ typedef ullong u_quad_t; __extension__ typedef __INTMAX_TYPE__ intmax_t; __extension__ typedef __UINTMAX_TYPE__ uintmax_t; -#if __STDC_VERSION__ < 199901L +#if __STDC_VERSION__ < 199901L && !defined(restrict) #define restrict /* "restrict" not in old C standard. */ #endif diff --git a/gcc/testsuite/gcc.dg/nest.c b/gcc/testsuite/gcc.dg/nest.c index 981baece34e..89ecdd58a06 100644 --- a/gcc/testsuite/gcc.dg/nest.c +++ b/gcc/testsuite/gcc.dg/nest.c @@ -5,6 +5,7 @@ /* { dg-options "-O2 -pg -static" { target hppa*-*-hpux* } } */ /* { dg-error "profiler" "No profiler support" { target xstormy16-*-* } 0 } */ /* { dg-error "-pg not supported" "Profiler support missing" { target *-*-sco3.2v5* } 0 } */ +/* { dg-bogus "\[Uu\]nresolved symbol ._mcount" "Profiling unsupported" { xfail *-*-netware* } 0 } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/special/gcsec-1.c b/gcc/testsuite/gcc.dg/special/gcsec-1.c index f2a63d1b520..68d4066fa39 100644 --- a/gcc/testsuite/gcc.dg/special/gcsec-1.c +++ b/gcc/testsuite/gcc.dg/special/gcsec-1.c @@ -5,6 +5,7 @@ /* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections -static" } */ /* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections -static" { target native } } */ +/* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections" { target *-*-netware* } } */ #include <stdlib.h> diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 1ffdebbec84..25d1f8d5837 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -73,6 +73,12 @@ proc check_visibility_available { } { global target_triplet global target_cpu + # On NetWare, support makes no sense. + + if { [string match "*-*-netware*" $target_triplet] } { + return 0 + } + # ELF supports it if the system has recent GNU ld and gas. # As a start we return 1 for all ELF systems; we'll let people # add exceptions as necessary. @@ -157,7 +163,9 @@ proc check_gc_sections_available { } { if {![info exists gc_sections_available_saved]} { # Check if the ld used by gcc supports --gc-sections. - set gcc_ld [lindex [${tool}_target_compile "-print-prog-name=ld" "" "none" ""] 0] + set gcc_spec [${tool}_target_compile "-dumpspecs" "" "none" ""] + regsub ".*\n\*linker:\[ \t\]*\n(\[^ \t\n\]*).*" "$gcc_spec" {\1} linker + set gcc_ld [lindex [${tool}_target_compile "-print-prog-name=$linker" "" "none" ""] 0] set ld_output [remote_exec host "$gcc_ld" "--help"] if { [ string first "--gc-sections" $ld_output ] >= 0 } { set gc_sections_available_saved 1 |