diff options
31 files changed, 287 insertions, 216 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index dee8378..21ba58a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,34 @@ +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. + 2021-01-05 Alan Modra <amodra@gmail.com> * testsuite/ld-scripts/sysroot-prefix.exp: Exclude some targets. diff --git a/ld/testsuite/ld-ctf/array.d b/ld/testsuite/ld-ctf/array.d index 82e9939..e07d63e 100644 --- a/ld/testsuite/ld-ctf/array.d +++ b/ld/testsuite/ld-ctf/array.d @@ -10,7 +10,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Data object section: .* \(0x8 bytes\) @@ -29,7 +29,7 @@ Contents of CTF section .ctf: Types: #... - [0-9a-f]*: .*\[10\] .* + 0x[0-9a-f]*: .*\[10\] .* #... - [0-9a-f]*: .*\[10\] .* + 0x[0-9a-f]*: .*\[10\] .* #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-1.B-1.d b/ld/testsuite/ld-ctf/conflicting-cycle-1.B-1.d index 40636f0..99b0564 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-1.B-1.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-1.B-1.d @@ -14,7 +14,7 @@ CTF archive member: .*/B.c: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Parent name: .ctf @@ -30,12 +30,12 @@ CTF archive member: .*/B.c: Function objects: Variables: - b -> 80000001: struct B \(size 0x[0-9]*\) + b -> 0x80000001: struct B \(size 0x[0-9]*\) Types: - 8[0-9a-f]*: struct B .* - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct B \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* c \(.* + 0x8[0-9a-f]*: struct B .* + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct B \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* c \(.* Strings: #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-1.B-2.d b/ld/testsuite/ld-ctf/conflicting-cycle-1.B-2.d index c6fdceb..32bc5c2 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-1.B-2.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-1.B-2.d @@ -14,7 +14,7 @@ CTF archive member: .*/B-2.c: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Parent name: .ctf @@ -30,13 +30,13 @@ CTF archive member: .*/B-2.c: Function objects: Variables: - b -> 80000001: struct B \(.* + b -> 0x80000001: struct B \(.* Types: - 8[0-9a-f]*: struct B \(.* - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct B \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* c \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 1\) int wombat:32 \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + 0x8[0-9a-f]*: struct B \(.* + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct B \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* c \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 1\) int wombat:32 \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) Strings: #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-1.parent.d b/ld/testsuite/ld-ctf/conflicting-cycle-1.parent.d index 558eb36..4cbe9b6 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-1.parent.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-1.parent.d @@ -13,7 +13,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: .* \(0xac bytes\) @@ -29,8 +29,8 @@ Contents of CTF section .ctf: #... Types: #... - [0-9a-f]*: struct B \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 9\) struct B \(.* + 0x[0-9a-f]*: struct B \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 9\) struct B \(.* #... CTF archive member: .*: #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-2.A-1.d b/ld/testsuite/ld-ctf/conflicting-cycle-2.A-1.d index 79282a2..5e5fade 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-2.A-1.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-2.A-1.d @@ -16,7 +16,7 @@ CTF archive member: .*/A.c: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Parent name: .* @@ -29,13 +29,13 @@ CTF archive member: .*/A.c: Function objects: Variables: - a -> 80000001: struct A \(size 0x[0-9a-f]*\) + a -> 0x80000001: struct A \(size 0x[0-9a-f]*\) Types: - 8[0-9a-f]*: struct A \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct A \(aligned at 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(aligned at 0x[0-9a-f]*\) + 0x8[0-9a-f]*: struct A \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct A \(aligned at 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(aligned at 0x[0-9a-f]*\) Strings: - 0: + 0x0: #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-2.A-2.d b/ld/testsuite/ld-ctf/conflicting-cycle-2.A-2.d index 4f6d44e..ff6785cf 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-2.A-2.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-2.A-2.d @@ -16,7 +16,7 @@ CTF archive member: .*/A-2.c: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Parent name: .* @@ -29,14 +29,14 @@ CTF archive member: .*/A-2.c: Function objects: Variables: - a -> 80000001: struct A \(size 0x[0-9a-f]*\) + a -> 0x80000001: struct A \(size 0x[0-9a-f]*\) Types: - 8[0-9a-f]*: struct A \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct A \(aligned at 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(aligned at 0x[0-9a-f]*\) - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 1\) int wombat:32 \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + 0x8[0-9a-f]*: struct A \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct A \(aligned at 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(aligned at 0x[0-9a-f]*\) + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 1\) int wombat:32 \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) Strings: - 0: + 0x0: #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-2.parent.d b/ld/testsuite/ld-ctf/conflicting-cycle-2.parent.d index 95aa17d..d111ef7 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-2.parent.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-2.parent.d @@ -15,7 +15,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: .* \(0x94 bytes\) @@ -28,13 +28,13 @@ Contents of CTF section .ctf: Function objects: Variables: - cycle_1 -> [0-9a-f]*: struct cycle_1 \* \(size 0x[0-9a-f]*\) -> [0-9a-f]*: struct cycle_1 \(size 0x[0-9a-f]*\) + cycle_1 -> 0x[0-9a-f]*: struct cycle_1 \* \(size 0x[0-9a-f]*\) -> 0x[0-9a-f]*: struct cycle_1 \(size 0x[0-9a-f]*\) Types: #... - [0-9a-f]*: struct cycle_1 \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct cycle_1 \(aligned at 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(aligned at 0x[0-9a-f]*\) - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(aligned at 0x[0-9a-f]*\) - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct cycle_1 \* next \(aligned at 0x[0-9a-f]*\) + 0x[0-9a-f]*: struct cycle_1 \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct cycle_1 \(aligned at 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(aligned at 0x[0-9a-f]*\) + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(aligned at 0x[0-9a-f]*\) + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct cycle_1 \* next \(aligned at 0x[0-9a-f]*\) #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-3.C-1.d b/ld/testsuite/ld-ctf/conflicting-cycle-3.C-1.d index 48078b9..df61153 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-3.C-1.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-3.C-1.d @@ -15,7 +15,7 @@ CTF archive member: .*/C.c: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Parent name: .* @@ -28,13 +28,13 @@ CTF archive member: .*/C.c: Function objects: Variables: - c -> 80000001: struct C \(size 0x[0-9a-f]*\) + c -> 0x80000001: struct C \(size 0x[0-9a-f]*\) Types: - 8[0-9a-f]*: struct C \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct C \(aligned at 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(aligned at 0x[0-9a-f]*\) + 0x8[0-9a-f]*: struct C \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct C \(aligned at 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(aligned at 0x[0-9a-f]*\) Strings: - 0: + 0x0: #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-3.C-2.d b/ld/testsuite/ld-ctf/conflicting-cycle-3.C-2.d index 854a719..e1cfd0c 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-3.C-2.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-3.C-2.d @@ -15,7 +15,7 @@ CTF archive member: .*/C-2.c: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Parent name: .* @@ -28,14 +28,14 @@ CTF archive member: .*/C-2.c: Function objects: Variables: - c -> 80000001: struct C \(size 0x[0-9a-f]*\) + c -> 0x80000001: struct C \(size 0x[0-9a-f]*\) Types: - 8[0-9a-f]*: struct C \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct C \(aligned at 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(aligned at 0x[0-9a-f]*\) - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 1\) int wombat:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + 0x8[0-9a-f]*: struct C \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 6\) struct C \(aligned at 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(aligned at 0x[0-9a-f]*\) + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 1\) int wombat:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) Strings: - 0: + 0x0: #... diff --git a/ld/testsuite/ld-ctf/conflicting-cycle-3.parent.d b/ld/testsuite/ld-ctf/conflicting-cycle-3.parent.d index 28525b6..11d2a04 100644 --- a/ld/testsuite/ld-ctf/conflicting-cycle-3.parent.d +++ b/ld/testsuite/ld-ctf/conflicting-cycle-3.parent.d @@ -14,7 +14,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: 0x0 -- 0x57 \(0x58 bytes\) @@ -30,9 +30,9 @@ Contents of CTF section .ctf: Types: #... - [0-9a-f]*: int \[0x0:0x[0-9a-f]*\] \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + 0x[0-9a-f]*: int \[0x0:0x[0-9a-f]*\] \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) #... Strings: - 0: + 0x0: #... diff --git a/ld/testsuite/ld-ctf/conflicting-enums.d b/ld/testsuite/ld-ctf/conflicting-enums.d index 8b16b4c..b93d812 100644 --- a/ld/testsuite/ld-ctf/conflicting-enums.d +++ b/ld/testsuite/ld-ctf/conflicting-enums.d @@ -10,7 +10,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Types: @@ -20,16 +20,16 @@ Contents of CTF section .ctf: CTF archive member: .*enum.*\.c: #... Types: - 8[0-9a-f]*: enum day_of_the_week \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 8\) enum day_of_the_week \(aligned at 0x[0-9a-f]*\) + 0x8[0-9a-f]*: enum day_of_the_week \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 8\) enum day_of_the_week \(aligned at 0x[0-9a-f]*\) Strings: #... CTF archive member: .*enum.*\.c: #... Types: - 8[0-9a-f]*: enum day_of_the_week \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 8\) enum day_of_the_week \(aligned at 0x[0-9a-f]*\) + 0x8[0-9a-f]*: enum day_of_the_week \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x8[0-9a-f]*\) \(kind 8\) enum day_of_the_week \(aligned at 0x[0-9a-f]*\) Strings: #... diff --git a/ld/testsuite/ld-ctf/conflicting-typedefs.d b/ld/testsuite/ld-ctf/conflicting-typedefs.d index 09d6c3c..309e453 100644 --- a/ld/testsuite/ld-ctf/conflicting-typedefs.d +++ b/ld/testsuite/ld-ctf/conflicting-typedefs.d @@ -10,24 +10,24 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Types: - 1: .*int .* - .* - [0-9]:.*int .* - .* - [0-9]: word .* - \[0x0\] \(ID 0x[0-9]\) \(kind 10\) word \(aligned at 0x[48]\) + 0x1: .*int .* + .* + 0x[0-9]:.*int .* + .* + 0x[0-9]: word .* + *\[0x0\] \(ID 0x[0-9]\) \(kind 10\) word \(aligned at 0x[48]\) Strings: #... CTF archive member: .*typedef.*\.c: #... Types: - 80000001: word .* - \[0x0\] \(ID 0x80000001\) \(kind 10\) word \(aligned at 0x[48]\) + 0x80000001: word .* + *\[0x0\] \(ID 0x80000001\) \(kind 10\) word \(aligned at 0x[48]\) Strings: #... diff --git a/ld/testsuite/ld-ctf/cross-tu-cyclic-conflicting.d b/ld/testsuite/ld-ctf/cross-tu-cyclic-conflicting.d index aa36533..3c975eb 100644 --- a/ld/testsuite/ld-ctf/cross-tu-cyclic-conflicting.d +++ b/ld/testsuite/ld-ctf/cross-tu-cyclic-conflicting.d @@ -14,20 +14,20 @@ Contents of CTF section \.ctf: #... Types: #... - [0-9a-f]*: long int \[0x0:0x[0-9a-f]*\] \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + 0x[0-9a-f]*: long int \[0x0:0x[0-9a-f]*\] \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) #... - [0-9a-f]*: struct B .* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B .* + 0x[0-9a-f]*: struct B .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B .* #... - [0-9a-f]*: int \[0x0:0x[0-9a-f]*\] \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + 0x[0-9a-f]*: int \[0x0:0x[0-9a-f]*\] \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) #... - [0-9a-f]*: struct A .* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 9\) struct A .* + 0x[0-9a-f]*: struct A .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 9\) struct A .* #... - [0-9a-f]*: struct C .* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct C .* + 0x[0-9a-f]*: struct C .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct C .* #... Strings: @@ -36,10 +36,10 @@ Contents of CTF section \.ctf: CTF archive member: .*/ld/testsuite/ld-ctf/cross-tu-cyclic-1\.c: #... Types: - 80.*[0-9a-f]*: struct A .* - \[0x0\] \(ID 0x80.*\) \(kind 6\) struct A .* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int a:.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo .* + 0x80.*[0-9a-f]*: struct A .* + *\[0x0\] \(ID 0x80.*\) \(kind 6\) struct A .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int a:.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo .* Strings: #... @@ -47,11 +47,11 @@ CTF archive member: .*/ld/testsuite/ld-ctf/cross-tu-cyclic-1\.c: CTF archive member: .*/ld/testsuite/ld-ctf/cross-tu-cyclic-2\.c: #... Types: - 80.*[0-9a-f]*: struct A .* - \[0x0\] \(ID 0x80.*\) \(kind 6\) struct A .* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int a:.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo .* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* bar .* + 0x80.*[0-9a-f]*: struct A .* + *\[0x0\] \(ID 0x80.*\) \(kind 6\) struct A .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int a:.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo .* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* bar .* Strings: #... diff --git a/ld/testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d b/ld/testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d index 39f5c18..9b0d738 100644 --- a/ld/testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d +++ b/ld/testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d @@ -14,7 +14,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... @@ -29,22 +29,22 @@ Contents of CTF section .ctf: Types: #... - [0-9a-f]*: struct A \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]\) \(kind 6\) struct A \(aligned at 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int a:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo \(aligned at 0x[0-9a-f]*\) - [0-9a-f]*: long int .* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int:[0-9].* - [0-9a-f]*: struct B \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B \(aligned at 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int foo:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* bar \(aligned at 0x[0-9a-f]*\) - [0-9a-f]*: struct B \* \(size 0x[0-9a-f]*\) -> [0-9a-f]*: struct B \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* \(aligned at 0x[0-9a-f]*\) - [0-9a-f]*: struct A \* \(size 0x[0-9a-f]*\) -> [0-9a-f]*: struct A \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* \(aligned at 0x[0-9a-f]*\) - [0-9a-f]*: int .* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int:.* + 0x[0-9a-f]*: struct A \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]\) \(kind 6\) struct A \(aligned at 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int a:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* foo \(aligned at 0x[0-9a-f]*\) + 0x[0-9a-f]*: long int .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) long int:[0-9].* + 0x[0-9a-f]*: struct B \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B \(aligned at 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int foo:[0-9]* \(aligned at 0x[0-9a-f]*, format 0x1, offset:bits 0x0:0x[0-9a-f]*\) + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* bar \(aligned at 0x[0-9a-f]*\) + 0x[0-9a-f]*: struct B \* \(size 0x[0-9a-f]*\) -> 0x[0-9a-f]*: struct B \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* \(aligned at 0x[0-9a-f]*\) + 0x[0-9a-f]*: struct A \* \(size 0x[0-9a-f]*\) -> 0x[0-9a-f]*: struct A \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* \(aligned at 0x[0-9a-f]*\) + 0x[0-9a-f]*: int .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int:.* Strings: #... diff --git a/ld/testsuite/ld-ctf/cross-tu-into-cycle.d b/ld/testsuite/ld-ctf/cross-tu-into-cycle.d index 6bfdc40..a21fedc 100644 --- a/ld/testsuite/ld-ctf/cross-tu-into-cycle.d +++ b/ld/testsuite/ld-ctf/cross-tu-into-cycle.d @@ -16,7 +16,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... @@ -31,16 +31,16 @@ Contents of CTF section .ctf: conflicty -> .* Types: - [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 .* - [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 .* - [0-9a-f]*: struct B \* .* - \[0x0\] .* - [0-9a-f]*: struct A \* .* - \[0x0\] .* + 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: #... diff --git a/ld/testsuite/ld-ctf/cross-tu-noncyclic.d b/ld/testsuite/ld-ctf/cross-tu-noncyclic.d index 418119a..d96e5d2 100644 --- a/ld/testsuite/ld-ctf/cross-tu-noncyclic.d +++ b/ld/testsuite/ld-ctf/cross-tu-noncyclic.d @@ -12,7 +12,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: .* \(0x74 bytes\) @@ -29,18 +29,18 @@ Contents of CTF section .ctf: 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 .* + 0x[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]* .* + 0x[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 \* .* + 0x[0-9a-f]*: struct B \* \(size 0x[0-9a-f]*\) -> 0x[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 \* .* + 0x[0-9a-f]*: struct A \* \(size 0x[0-9a-f]*\) -> 0x[0-9a-f]*: struct A .* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* .* #... diff --git a/ld/testsuite/ld-ctf/cycle-1.d b/ld/testsuite/ld-ctf/cycle-1.d index 8e9530b..5787093 100644 --- a/ld/testsuite/ld-ctf/cycle-1.d +++ b/ld/testsuite/ld-ctf/cycle-1.d @@ -12,7 +12,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: .* \(0xa8 bytes\) @@ -28,9 +28,9 @@ Contents of CTF section .ctf: #... Types: #... - [0-9a-f]*: struct cycle_1 \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct cycle_1 \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct cycle_1 \* next \(.* + 0x[0-9a-f]*: struct cycle_1 \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct cycle_1 \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct cycle_1 \* next \(.* #... diff --git a/ld/testsuite/ld-ctf/cycle-2.A.d b/ld/testsuite/ld-ctf/cycle-2.A.d index a909b90..ddb5381 100644 --- a/ld/testsuite/ld-ctf/cycle-2.A.d +++ b/ld/testsuite/ld-ctf/cycle-2.A.d @@ -11,7 +11,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: .* \(0x6c bytes\) @@ -25,16 +25,16 @@ Contents of CTF section .ctf: Variables: #... - a -> [0-9a-f]*: struct A \(.* + a -> 0x[0-9a-f]*: struct A \(.* #... Types: #... - [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 \* b \(.* + 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 \* b \(.* #... Strings: - 0: + 0x0: #... - [0-9a-f]*: A + 0x[0-9a-f]*: A #... diff --git a/ld/testsuite/ld-ctf/cycle-2.B.d b/ld/testsuite/ld-ctf/cycle-2.B.d index 320e17c..1d1cdc5 100644 --- a/ld/testsuite/ld-ctf/cycle-2.B.d +++ b/ld/testsuite/ld-ctf/cycle-2.B.d @@ -11,7 +11,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: .* \(0x6c bytes\) @@ -25,16 +25,16 @@ Contents of CTF section .ctf: Variables: #... - b -> [0-9a-f]*: struct B \(.* + b -> 0x[0-9a-f]*: struct B \(.* #... Types: #... - [0-9a-f]*: struct B \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* c \(.* + 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 C \* c \(.* #... Strings: - 0: + 0x0: #... - [0-9a-f]*: B + 0x[0-9a-f]*: B #... diff --git a/ld/testsuite/ld-ctf/cycle-2.C.d b/ld/testsuite/ld-ctf/cycle-2.C.d index df43606..4d8f145 100644 --- a/ld/testsuite/ld-ctf/cycle-2.C.d +++ b/ld/testsuite/ld-ctf/cycle-2.C.d @@ -11,7 +11,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Type section: .* \(0x6c bytes\) @@ -25,16 +25,16 @@ Contents of CTF section .ctf: Variables: #... - c -> [0-9a-f]*: struct C \(.* + c -> 0x[0-9a-f]*: struct C \(.* #... Types: #... - [0-9a-f]*: struct C \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct C \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(.* + 0x[0-9a-f]*: struct C \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct C \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(.* #... Strings: - 0: + 0x0: #... - [0-9a-f]*: C + 0x[0-9a-f]*: C #... diff --git a/ld/testsuite/ld-ctf/data-func-conflicted.d b/ld/testsuite/ld-ctf/data-func-conflicted.d index 1fa8bb2..62855f8 100644 --- a/ld/testsuite/ld-ctf/data-func-conflicted.d +++ b/ld/testsuite/ld-ctf/data-func-conflicted.d @@ -10,7 +10,7 @@ Contents of CTF section \.ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Data object section: .* \(0xc bytes\) @@ -34,7 +34,7 @@ Contents of CTF section \.ctf: CTF archive member: .*/data-func-1\.c: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Parent name: \.ctf @@ -59,5 +59,5 @@ CTF archive member: .*/data-func-1\.c: Variables: Types: - 80000001: foo_t .* -> .* int .* + 0x80000001: foo_t .* -> .* int .* #... diff --git a/ld/testsuite/ld-ctf/diag-cttname-null.d b/ld/testsuite/ld-ctf/diag-cttname-null.d index 4523dbc..00db425 100644 --- a/ld/testsuite/ld-ctf/diag-cttname-null.d +++ b/ld/testsuite/ld-ctf/diag-cttname-null.d @@ -9,7 +9,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Data objects: @@ -17,7 +17,7 @@ Contents of CTF section .ctf: #... Types: #... - [0-9a-f]*: struct \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* + 0x[0-9a-f]*: struct \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* #... diff --git a/ld/testsuite/ld-ctf/diag-cuname.d b/ld/testsuite/ld-ctf/diag-cuname.d index 45e9a7e..19a4bfd 100644 --- a/ld/testsuite/ld-ctf/diag-cuname.d +++ b/ld/testsuite/ld-ctf/diag-cuname.d @@ -9,7 +9,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Compilation unit name: \(\?\) @@ -29,12 +29,12 @@ Contents of CTF section .ctf: Types: #... - [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 \* b \(.* + 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 \* b \(.* #... Strings: - 0: + 0x0: #... - [0-9a-f]*: \(\?\) + 0x[0-9a-f]*: \(\?\) #... diff --git a/ld/testsuite/ld-ctf/diag-parlabel.d b/ld/testsuite/ld-ctf/diag-parlabel.d index f0f4024..b2b047c 100644 --- a/ld/testsuite/ld-ctf/diag-parlabel.d +++ b/ld/testsuite/ld-ctf/diag-parlabel.d @@ -9,7 +9,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Compilation unit name: .*A.c @@ -28,12 +28,12 @@ Contents of CTF section .ctf: Types: #... - [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 \* b \(.* + 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 \* b \(.* #... Strings: - 0: + 0x0: #... - [0-9a-f]*: A + 0x[0-9a-f]*: A #... diff --git a/ld/testsuite/ld-ctf/diag-wrong-magic-number-mixed.d b/ld/testsuite/ld-ctf/diag-wrong-magic-number-mixed.d index cb39498..8fc1cc8 100644 --- a/ld/testsuite/ld-ctf/diag-wrong-magic-number-mixed.d +++ b/ld/testsuite/ld-ctf/diag-wrong-magic-number-mixed.d @@ -10,7 +10,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Variable section: 0x0 -- 0x17 \(0x18 bytes\) @@ -25,16 +25,16 @@ Contents of CTF section .ctf: Variables: #... - b -> [0-9a-f]*: struct B \(.* + b -> 0x[0-9a-f]*: struct B \(.* #... Types: #... - [0-9a-f]*: struct B \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct C \* c \(.* + 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 C \* c \(.* #... Strings: - 0: + 0x0: #... - [0-9a-f]*: B + 0x[0-9a-f]*: B #... diff --git a/ld/testsuite/ld-ctf/function.d b/ld/testsuite/ld-ctf/function.d index f5303d7..241adc2 100644 --- a/ld/testsuite/ld-ctf/function.d +++ b/ld/testsuite/ld-ctf/function.d @@ -9,7 +9,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Compilation unit name: .*function.c @@ -22,6 +22,6 @@ Contents of CTF section .ctf: #... Types: #... - [0-9a-f]*: int \(\*\) \(char, int, float, void \*, void \(\*\)\(\*\) \(int\)\) \(size 0x0\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 5\) int \(\*\) \(char, int[0-9]*, float, void \*, void \(\*\)\(\*\) \(int\)\) \(aligned at 0x[0-9a-f]*\) + 0x[0-9a-f]*: int \(\*\) \(char, int, float, void \*, void \(\*\)\(\*\) \(int\)\) \(size 0x0\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 5\) int \(\*\) \(char, int[0-9]*, float, void \*, void \(\*\)\(\*\) \(int\)\) \(aligned at 0x[0-9a-f]*\) #... diff --git a/ld/testsuite/ld-ctf/slice.d b/ld/testsuite/ld-ctf/slice.d index b493ce0..e42ffdf 100644 --- a/ld/testsuite/ld-ctf/slice.d +++ b/ld/testsuite/ld-ctf/slice.d @@ -9,7 +9,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Compilation unit name: .*slice.c @@ -23,10 +23,10 @@ Contents of CTF section .ctf: #... Types: #... - [0-9a-f]*: struct slices \(size 0x[0-9a-f]*\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct slices \(aligned at 0x1\) - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int one:1 \(aligned at 0x1, format 0x1, offset:bits 0x0:0x1\) - \[0x1\] \(ID 0x[0-9a-f]*\) \(kind 1\) int two:2 \(aligned at 0x1, format 0x1, offset:bits 0x1:0x2\) - \[0x3\] \(ID 0x[0-9a-f]*\) \(kind 1\) int six:6 \(aligned at 0x1, format 0x1, offset:bits 0x3:0x6\) - \[0x9\] \(ID 0x[0-9a-f]*\) \(kind 1\) int ten:10 \(aligned at 0x2, format 0x1, offset:bits 0x9:0xa\) + 0x[0-9a-f]*: struct slices \(size 0x[0-9a-f]*\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct slices \(aligned at 0x1\) + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 1\) int one:1 \(aligned at 0x1, format 0x1, offset:bits 0x0:0x1\) + *\[0x1\] \(ID 0x[0-9a-f]*\) \(kind 1\) int two:2 \(aligned at 0x1, format 0x1, offset:bits 0x1:0x2\) + *\[0x3\] \(ID 0x[0-9a-f]*\) \(kind 1\) int six:6 \(aligned at 0x1, format 0x1, offset:bits 0x3:0x6\) + *\[0x9\] \(ID 0x[0-9a-f]*\) \(kind 1\) int ten:10 \(aligned at 0x2, format 0x1, offset:bits 0x9:0xa\) #... diff --git a/ld/testsuite/ld-ctf/super-sub-cycles.d b/ld/testsuite/ld-ctf/super-sub-cycles.d index e4707d3..65a43a4 100644 --- a/ld/testsuite/ld-ctf/super-sub-cycles.d +++ b/ld/testsuite/ld-ctf/super-sub-cycles.d @@ -9,7 +9,7 @@ Contents of CTF section .ctf: Header: - Magic number: dff2 + Magic number: 0xdff2 Version: 4 \(CTF_VERSION_3\) #... Compilation unit name: .*super-sub-cycles.c @@ -18,18 +18,18 @@ Contents of CTF section .ctf: #... Types: #... - [0-9a-f]*: struct A \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct A \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B b \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct C c \(.* - \[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct D d \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct D d \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct X x \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct Y y \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct Z z \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct Y \* y \(.* - \[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct D \* d \(.* + 0x[0-9a-f]*: struct A \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct A \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct B b \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct C c \(.* + *\[0x0\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct A \* a \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct D d \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct D d \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct B \* b \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct X x \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct Y y \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 6\) struct Z z \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct Y \* y \(.* + *\[0x[0-9a-f]*\] \(ID 0x[0-9a-f]*\) \(kind 3\) struct D \* d \(.* #... diff --git a/libctf/ChangeLog b/libctf/ChangeLog index cc8e34a..99f9022 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,5 +1,17 @@ 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. + +2021-01-05 Nick Alcock <nick.alcock@oracle.com> + * ctf-decl.c (ctf_decl_push): Don't print array decls backwards. 2021-01-04 Nicolas Boulenguez <nicolas@debian.org> diff --git a/libctf/ctf-dump.c b/libctf/ctf-dump.c index 621ff25..ee22f77 100644 --- a/libctf/ctf-dump.c +++ b/libctf/ctf-dump.c @@ -47,6 +47,7 @@ typedef struct ctf_dump_membstate { char **cdm_str; ctf_dict_t *cdm_fp; + char *cdm_toplevel_indent; } ctf_dump_membstate_t; static int @@ -115,7 +116,7 @@ ctf_dump_format_type (ctf_dict_t *fp, ctf_id_t id, int flag) goto err; } - if (asprintf (&bit, " %s%lx: ", nonroot_leader, id) < 0) + if (asprintf (&bit, " %s0x%lx: ", nonroot_leader, id) < 0) goto oom; str = str_append (str, bit); free (bit); @@ -236,7 +237,7 @@ ctf_dump_header (ctf_dict_t *fp, ctf_dump_state_t *state) }; const char *verstr = NULL; - if (asprintf (&str, "Magic number: %x\n", hp->cth_magic) < 0) + if (asprintf (&str, "Magic number: 0x%x\n", hp->cth_magic) < 0) goto err; ctf_dump_append (state, str); @@ -454,26 +455,51 @@ ctf_dump_var (const char *name, ctf_id_t type, void *arg) return 0; } +/* Report the number of digits in the hexadecimal representation of a type + ID. */ + +static int +type_hex_digits (ctf_id_t id) +{ + int i = 0; + + if (id == 0) + return 1; + + for (; id > 0; id >>= 4, i++); + return i; +} + /* Dump a single member into the string in the membstate. */ static int ctf_dump_member (const char *name, ctf_id_t id, unsigned long offset, - int depth, void *arg) + int depth, void *arg) { ctf_dump_membstate_t *state = arg; char *typestr = NULL; char *bit = NULL; ctf_encoding_t ep; int has_encoding = 0; - ssize_t i; - for (i = 0; i < depth; i++) - *state->cdm_str = str_append (*state->cdm_str, " "); + /* Align neatly. */ + + if (depth == 0) + { + if (asprintf (&state->cdm_toplevel_indent, " %*s", + type_hex_digits (id), "") < 0) + goto oom; + } + + if (asprintf (&bit, "%s%*s", state->cdm_toplevel_indent, depth * 4, "") < 0) + goto oom; + *state->cdm_str = str_append (*state->cdm_str, bit); + free (bit); if ((typestr = ctf_type_aname (state->cdm_fp, id)) == NULL) { if (id == 0 || ctf_errno (state->cdm_fp) == ECTF_NONREPRESENTABLE) { - if (asprintf (&bit, " [0x%lx] (type not represented in CTF)", + if (asprintf (&bit, "[0x%lx] (type not represented in CTF)", offset) < 0) goto oom; @@ -491,7 +517,7 @@ ctf_dump_member (const char *name, ctf_id_t id, unsigned long offset, has_encoding = 1; ctf_type_encoding (state->cdm_fp, id, &ep); - if (asprintf (&bit, " [0x%lx] (ID 0x%lx) (kind %i) %s%s%s:%i " + if (asprintf (&bit, "[0x%lx] (ID 0x%lx) (kind %i) %s%s%s:%i " "(aligned at 0x%lx", offset, id, ctf_type_kind (state->cdm_fp, id), typestr, (name[0] != 0 && typestr[0] != 0) ? " " : "", name, @@ -501,7 +527,7 @@ ctf_dump_member (const char *name, ctf_id_t id, unsigned long offset, } else { - if (asprintf (&bit, " [0x%lx] (ID 0x%lx) (kind %i) %s%s%s " + if (asprintf (&bit, "[0x%lx] (ID 0x%lx) (kind %i) %s%s%s " "(aligned at 0x%lx", offset, id, ctf_type_kind (state->cdm_fp, id), typestr, (name[0] != 0 && typestr[0] != 0) ? " " : "", name, @@ -540,7 +566,7 @@ ctf_dump_type (ctf_id_t id, int flag, void *arg) { char *str; ctf_dump_state_t *state = arg; - ctf_dump_membstate_t membstate = { &str, state->cds_fp }; + ctf_dump_membstate_t membstate = { &str, state->cds_fp, NULL }; size_t len; if ((str = ctf_dump_format_type (state->cds_fp, id, flag)) == NULL) @@ -558,6 +584,7 @@ ctf_dump_type (ctf_id_t id, int flag, void *arg) _("cannot visit members dumping type 0x%lx"), id); goto err; } + free (membstate.cdm_toplevel_indent); /* Trim off the last linefeed added by ctf_dump_member(). */ len = strlen (str); @@ -568,6 +595,7 @@ ctf_dump_type (ctf_id_t id, int flag, void *arg) return 0; err: + free (membstate.cdm_toplevel_indent); free (str); return 0; /* Swallow the error. */ } @@ -583,7 +611,7 @@ ctf_dump_str (ctf_dict_t *fp, ctf_dump_state_t *state) fp->ctf_str[CTF_STRTAB_0].cts_len;) { char *str; - if (asprintf (&str, "%lx: %s", + if (asprintf (&str, "0x%lx: %s", (unsigned long) (s - fp->ctf_str[CTF_STRTAB_0].cts_strs), s) < 0) return (ctf_set_errno (fp, errno)); |