diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2021-01-19 12:45:18 +0000 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2021-01-19 12:45:18 +0000 |
commit | c98de297b37ffee7bdb48682eec73e4a608c3974 (patch) | |
tree | 899d9d782bd3e1f5aa6be02f4350933de686d9e8 | |
parent | 148521232871c8017c973b3c0cc29c8ac7b96134 (diff) | |
download | gdb-c98de297b37ffee7bdb48682eec73e4a608c3974.zip gdb-c98de297b37ffee7bdb48682eec73e4a608c3974.tar.gz gdb-c98de297b37ffee7bdb48682eec73e4a608c3974.tar.bz2 |
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 <nick.alcock@oracle.com>
* 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.
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-ctf/data-func-2.c | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-ctf/data-func-conflicted.d | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 035e6aa..aae8938 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2021-01-19 Nick Alcock <nick.alcock@oracle.com> + + * 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 <nelson.chu@sifive.com> * 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 d00d230..575b06e 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 6b1e914..1e7c19a 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: |