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.
This commit is contained in:
parent
1485212328
commit
c98de297b3
@ -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>
|
2021-01-19 Nelson Chu <nelson.chu@sifive.com>
|
||||||
|
|
||||||
* testsuite/ld-elf/elf.exp (riscv_little_endian): Added. Return true
|
* testsuite/ld-elf/elf.exp (riscv_little_endian): Added. Return true
|
||||||
|
@ -3,3 +3,7 @@ typedef char foo_t;
|
|||||||
/* Conflicting, and indexed. */
|
/* Conflicting, and indexed. */
|
||||||
extern foo_t var_1;
|
extern foo_t var_1;
|
||||||
extern foo_t *var_666;
|
extern foo_t *var_666;
|
||||||
|
|
||||||
|
int other_func(foo_t *);
|
||||||
|
|
||||||
|
int ignore (void) { other_func (&var_1); other_func (var_666); }
|
||||||
|
@ -14,9 +14,9 @@ Contents of CTF section \.ctf:
|
|||||||
Version: 4 \(CTF_VERSION_3\)
|
Version: 4 \(CTF_VERSION_3\)
|
||||||
#...
|
#...
|
||||||
Data object section: .* \(0xc bytes\)
|
Data object section: .* \(0xc bytes\)
|
||||||
Function info section: .* \(0x40 bytes\)
|
Function info section: .* \(0x44 bytes\)
|
||||||
Object index section: .* \(0xc bytes\)
|
Object index section: .* \(0xc bytes\)
|
||||||
Type section: .* \(0xe8 bytes\)
|
Type section: .* \(0xf4 bytes\)
|
||||||
String section: .*
|
String section: .*
|
||||||
#...
|
#...
|
||||||
Data objects:
|
Data objects:
|
||||||
|
Loading…
Reference in New Issue
Block a user