From: Nick Alcock Date: Tue, 19 Jan 2021 12:45:18 +0000 (+0000) Subject: libctf, ld: fix data symbol test with newer GCC X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c98de297b37ffee7bdb48682eec73e4a608c3974;p=binutils-gdb.git libctf, ld: fix data symbol test with newer GCC GCC 11+ spots that the extern var_1 and var_666 declarations in this test are unused, and removes them, thus stopping them from appearing as conflicted data symbols and rendering the test pointless. Use them in a function unique to this TU to prevent them from being eliminated. ld/ChangeLog 2021-01-19 Nick Alcock * testsuite/ld-ctf/data-func-2.c: Stop removal of the extern foo_t symbols by the optimizer. * testsuite/ld-ctf/data-func-conflicted.d: Adjust accordingly. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 035e6aa3fdc..aae89381fc2 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2021-01-19 Nick Alcock + + * testsuite/ld-ctf/data-func-2.c: Stop removal of the extern foo_t + symbols by the optimizer. + * testsuite/ld-ctf/data-func-conflicted.d: Adjust accordingly. + 2021-01-19 Nelson Chu * testsuite/ld-elf/elf.exp (riscv_little_endian): Added. Return true diff --git a/ld/testsuite/ld-ctf/data-func-2.c b/ld/testsuite/ld-ctf/data-func-2.c index d00d2309692..575b06ef30c 100644 --- a/ld/testsuite/ld-ctf/data-func-2.c +++ b/ld/testsuite/ld-ctf/data-func-2.c @@ -3,3 +3,7 @@ typedef char foo_t; /* Conflicting, and indexed. */ extern foo_t var_1; extern foo_t *var_666; + +int other_func(foo_t *); + +int ignore (void) { other_func (&var_1); other_func (var_666); } diff --git a/ld/testsuite/ld-ctf/data-func-conflicted.d b/ld/testsuite/ld-ctf/data-func-conflicted.d index 6b1e9145a02..1e7c19a5b36 100644 --- a/ld/testsuite/ld-ctf/data-func-conflicted.d +++ b/ld/testsuite/ld-ctf/data-func-conflicted.d @@ -14,9 +14,9 @@ Contents of CTF section \.ctf: Version: 4 \(CTF_VERSION_3\) #... Data object section: .* \(0xc bytes\) - Function info section: .* \(0x40 bytes\) + Function info section: .* \(0x44 bytes\) Object index section: .* \(0xc bytes\) - Type section: .* \(0xe8 bytes\) + Type section: .* \(0xf4 bytes\) String section: .* #... Data objects: