aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@bitrange.com>2020-07-26 02:44:02 +0200
committerHans-Peter Nilsson <hp@bitrange.com>2020-07-26 02:44:02 +0200
commitb5087b28b09c84c69fa5e80021be026f297cb31d (patch)
treedb4b6dd13fbedfbe1e5078ee6d8e55a69c7b7bf4
parentae2e0bc19b92ef167869dfe0c77246c46c1b5152 (diff)
downloadgcc-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.c1
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)
{