binutils-gdb/ld/testsuite/ld-ctf/cross-tu-noncyclic.d
Nick Alcock 0ad70c536a ld, ctf: new and adjusted CTF tests due to func info / object data sections
The flags word is nonzero now (so all the tests have been adjusted to
not depend on its content): some of them have data objects and functions
in the data object and function info sections now, rather than in the
variable section or recorded nowhere.  There is a new test for
parent/child relationships and index section emission.

ld/ChangeLog
2020-11-20  Nick Alcock  <nick.alcock@oracle.com>

	* testsuite/ld-ctf/array.d: Adjust for nonzero flags word and
	public symbols in the data section rather than variables: use
	sysv hash style to keep test results the same on non-GNU targets.
	* testsuite/ld-ctf/diag-cttname-null.d: Likewise.
	* testsuite/ld-ctf/diag-cuname.d: Likewise.
	* testsuite/ld-ctf/diag-parlabel.d: Likewise.
	* testsuite/ld-ctf/slice.d: Likewise.
	* testsuite/ld-ctf/function.d: Likewise, but in the function section.
	* testsuite/ld-ctf/conflicting-cycle-1.B-1.d:  Adjust for nonzero
	flags word.
	* testsuite/ld-ctf/conflicting-cycle-1.B-2.d: Likewise.
	* testsuite/ld-ctf/conflicting-cycle-1.parent.d: Likewise.
	* testsuite/ld-ctf/conflicting-cycle-2.A-1.d: Likewise.
	* testsuite/ld-ctf/conflicting-cycle-2.A-2.d: Likewise.
	* testsuite/ld-ctf/conflicting-cycle-2.parent.d: Likewise.
	* testsuite/ld-ctf/conflicting-cycle-3.C-1.d: Likewise.
	* testsuite/ld-ctf/conflicting-cycle-3.C-2.d: Likewise.
	* testsuite/ld-ctf/conflicting-cycle-3.parent.d: Likewise.
	* testsuite/ld-ctf/cross-tu-noncyclic.d: Likewise.
	* testsuite/ld-ctf/cycle-1.d: Likewise.
	* testsuite/ld-ctf/cycle-2.A.d: Likewise.
	* testsuite/ld-ctf/cycle-2.B.d: Likewise.
	* testsuite/ld-ctf/cycle-2.C.d: Likewise.
	* testsuite/ld-ctf/diag-wrong-magic-number-mixed.d:  Likewise.
	* testsuite/ld-ctf/super-sub-cycles.d:  Likewise.
	* testsuite/ld-ctf/data-func-1.c: New test.
	* testsuite/ld-ctf/data-func-2.c: Likewise.
	* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
2020-11-20 13:34:10 +00:00

47 lines
1.2 KiB
Makefile

# Check that noncyclic cross-TU matching-up works.
# We can guarantee the order of emitted structures, too.
#as:
#source: cross-tu-1.c
#source: cross-tu-2.c
#objdump: --ctf=.ctf
#ld: -shared --ctf-variables
#name: cross-TU-noncyclic
.*: +file format .*
Contents of CTF section .ctf:
Header:
Magic number: dff2
Version: 4 \(CTF_VERSION_3\)
#...
Type section: .* \(0x74 bytes\)
String section: .*
Labels:
Data objects:
#...
Function objects:
Variables:
#...
Types:
#...
[0-9a-f]*: struct A .*
\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct A .*
\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int a:[0-9]* .*
\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo .*
#...
[0-9a-f]*: struct B .*
\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B .*
\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int foo:[0-9]* .*
#...
[0-9a-f]*: struct B \* \(size 0x[0-9a-f]*\) -\> [0-9a-f]*: struct B .*
\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* .*
#...
[0-9a-f]*: struct A \* \(size 0x[0-9a-f]*\) -> [0-9a-f]*: struct A .*
\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* .*
#...