forked from Imagelibrary/binutils-gdb
In most places in CTF dumper output, we emit 0x... for hex strings, but in three places (top-level type IDs, string table offsets, and the file magic number) we don't emit the 0x. This is very confusing if by chance there are no hex digits in the output. Add 0x consistently to everything, and adjust tests accordingly. While we're at it, improve the indentation of the output so that subsequent lines in aggregate output are indented by at least as many columns as the colon in the type output. (Subsequent indentation is still 4 spaces at a time.) ld/ChangeLog 2021-01-05 Nick Alcock <nick.alcock@oracle.com> * testsuite/ld-ctf/array.d: Adjust for dumper changes. * testsuite/ld-ctf/conflicting-cycle-1.B-1.d: Likewise. * 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/conflicting-enums.d: Likewise. * testsuite/ld-ctf/conflicting-typedefs.d: Likewise. * testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Likewise. * testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d: Likewise. * testsuite/ld-ctf/cross-tu-into-cycle.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/data-func-conflicted.d: Likewise. * 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/diag-wrong-magic-number-mixed.d: Likewise. * testsuite/ld-ctf/function.d: Likewise. * testsuite/ld-ctf/slice.d: Likewise. * testsuite/ld-ctf/super-sub-cycles.d: Likewise. libctf/ChangeLog 2021-01-05 Nick Alcock <nick.alcock@oracle.com> * ctf-dump.c (ctf_dump_format_type): Add 0x to hex type IDs. (ctf_dump_header): Add 0x to the hex magic number. (ctf_dump_str): Add 0x to the hex string offsets. (ctf_dump_membstate_t) <cdm_toplevel_indent>: New. (ctf_dump_type): Adjust. Free it when we're done. (type_hex_digits): New. (ctf_dump_member): Align output depending on the width of the type ID being generated. Use printf padding, not a loop, to generate indentation.
65 lines
1.3 KiB
Makefile
65 lines
1.3 KiB
Makefile
# Check that a type outside a cycle pointing into a cycle
|
|
# in another TU does not cause the whole cycle to show up
|
|
# as conflicted. (Here, we do that by forcing conflicts
|
|
# in the variable section alone, so that we can assert that
|
|
# the type section of any conflicted dicts is empty.)
|
|
# Minimized from libbfd itself.
|
|
#as:
|
|
#source: cross-tu-cyclic-3.c
|
|
#source: cross-tu-cyclic-4.c
|
|
#objdump: --ctf=.ctf
|
|
#ld: -shared --ctf-variables
|
|
#name: cross-TU-into-cycle
|
|
|
|
.*: file format .*
|
|
|
|
Contents of CTF section .ctf:
|
|
|
|
Header:
|
|
Magic number: 0xdff2
|
|
Version: 4 \(CTF_VERSION_3\)
|
|
#...
|
|
|
|
Labels:
|
|
|
|
Data objects:
|
|
|
|
Function objects:
|
|
|
|
Variables:
|
|
a -> .*
|
|
conflicty -> .*
|
|
|
|
Types:
|
|
0x[0-9a-f]*: struct A .*
|
|
*\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct A .*
|
|
*\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo .*
|
|
0x[0-9a-f]*: struct B .*
|
|
*\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B .*
|
|
*\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* next .*
|
|
0x[0-9a-f]*: struct B \* .*
|
|
*\[0x0\] .*
|
|
0x[0-9a-f]*: struct A \* .*
|
|
*\[0x0\] .*
|
|
|
|
Strings:
|
|
#...
|
|
|
|
CTF archive member: .*/ld/testsuite/ld-ctf/cross-tu-cyclic-[34].c:
|
|
|
|
Header:
|
|
#...
|
|
Labels:
|
|
|
|
Data objects:
|
|
|
|
Function objects:
|
|
|
|
Variables:
|
|
conflicty -> .*
|
|
|
|
Types:
|
|
|
|
Strings:
|
|
#...
|