diff options
author | Hans-Peter Nilsson <hp@bitrange.com> | 2020-07-26 02:44:02 +0200 |
---|---|---|
committer | Hans-Peter Nilsson <hp@bitrange.com> | 2020-07-26 02:44:02 +0200 |
commit | b5087b28b09c84c69fa5e80021be026f297cb31d (patch) | |
tree | db4b6dd13fbedfbe1e5078ee6d8e55a69c7b7bf4 | |
parent | ae2e0bc19b92ef167869dfe0c77246c46c1b5152 (diff) | |
download | gcc-b5087b28b09c84c69fa5e80021be026f297cb31d.zip gcc-b5087b28b09c84c69fa5e80021be026f297cb31d.tar.gz gcc-b5087b28b09c84c69fa5e80021be026f297cb31d.tar.bz2 |
gcc.dg/torture/pr59330.c: Disable for mmix
With the dejagnu status-wrapper, there's a reference to write in
each executable, which for mmix in newlib has a reference to a
variable defined in open, which for mmix in newlib has a
reference to sprintf (oops!) and the dependency-chain goes on;
ad finitum there's a reference to malloc, which in default
newlib is colocated with free; the same file
newlib/libc/stdlib/malloc.c.
Not being compiled with -ffunction-sections, they're emitted in
the same section (.text) and thus inseparable: you can't
override just one of them as in this test, or else you'll get:
<X>/pre/mmix/bin/ld: <X>/gccobj/mmix/./newlib/libc.a(lib_a-malloc.o): in function `free':
<X>/gcc/newlib/libc/stdlib/malloc.c:169: multiple definition of `free'; /tmp/ccvRA0zb.o:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
compiler exited with status 1
FAIL: gcc.dg/torture/pr59330.c -O0 (test for excess errors)
I'm using a dg-skip-if here instead of starting a hardly
scalable dg-do target selector. I'm not keying on
effective-target unwrapped because the dependency-chain is
target-specific rather than dejagnu status-wrapper-specific.
gcc/testsuite:
* gcc.dg/torture/pr59330.c: Disable for mmix.
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr59330.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr59330.c b/gcc/testsuite/gcc.dg/torture/pr59330.c index 74b832e..536171e 100644 --- a/gcc/testsuite/gcc.dg/torture/pr59330.c +++ b/gcc/testsuite/gcc.dg/torture/pr59330.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-skip-if "free inseparable from malloc when wrapped" { mmix-knuth-mmixware } } */ void free(void *ptr) { |