libctf, ld: CTF dumper changes for consistency
authorNick Alcock <nick.alcock@oracle.com>
Tue, 5 Jan 2021 13:25:56 +0000 (13:25 +0000)
committerNick Alcock <nick.alcock@oracle.com>
Tue, 5 Jan 2021 14:53:39 +0000 (14:53 +0000)
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.

31 files changed:
ld/ChangeLog
ld/testsuite/ld-ctf/array.d
ld/testsuite/ld-ctf/conflicting-cycle-1.B-1.d
ld/testsuite/ld-ctf/conflicting-cycle-1.B-2.d
ld/testsuite/ld-ctf/conflicting-cycle-1.parent.d
ld/testsuite/ld-ctf/conflicting-cycle-2.A-1.d
ld/testsuite/ld-ctf/conflicting-cycle-2.A-2.d
ld/testsuite/ld-ctf/conflicting-cycle-2.parent.d
ld/testsuite/ld-ctf/conflicting-cycle-3.C-1.d
ld/testsuite/ld-ctf/conflicting-cycle-3.C-2.d
ld/testsuite/ld-ctf/conflicting-cycle-3.parent.d
ld/testsuite/ld-ctf/conflicting-enums.d
ld/testsuite/ld-ctf/conflicting-typedefs.d
ld/testsuite/ld-ctf/cross-tu-cyclic-conflicting.d
ld/testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d
ld/testsuite/ld-ctf/cross-tu-into-cycle.d
ld/testsuite/ld-ctf/cross-tu-noncyclic.d
ld/testsuite/ld-ctf/cycle-1.d
ld/testsuite/ld-ctf/cycle-2.A.d
ld/testsuite/ld-ctf/cycle-2.B.d
ld/testsuite/ld-ctf/cycle-2.C.d
ld/testsuite/ld-ctf/data-func-conflicted.d
ld/testsuite/ld-ctf/diag-cttname-null.d
ld/testsuite/ld-ctf/diag-cuname.d
ld/testsuite/ld-ctf/diag-parlabel.d
ld/testsuite/ld-ctf/diag-wrong-magic-number-mixed.d
ld/testsuite/ld-ctf/function.d
ld/testsuite/ld-ctf/slice.d
ld/testsuite/ld-ctf/super-sub-cycles.d
libctf/ChangeLog
libctf/ctf-dump.c

index dee8378bcc765397ba8fd6c2248b33de94211826..21ba58a0bfdd9e9e31a5a52d4f7cf8919ca03e84 100644 (file)
@@ -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.
index 82e9939783f6b405a6a5299e757369a5d3e25bcf..e07d63e22435437cf4966016caf5dffd782a5462 100644 (file)
@@ -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\] .*
 #...
index 40636f062f52e260da70a7ccbe50232aee0cf3fb..99b0564bad7c439287fe071909d13da0b04bc3c2 100644 (file)
@@ -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:
 #...
index c6fdceb8cf897bae03f33d887447c980e08453af..32bc5c24f0522b99f39bf695f1f82a7800a7477c 100644 (file)
@@ -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:
 #...
index 558eb36f2fefcafb91b47af4078a3c2860b8a00d..4cbe9b61f3c26f9809640eed7699a586e34b8b52 100644 (file)
@@ -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: .*:
 #...
index 79282a248e69634528446b8a1b3c9f51a839a5ed..5e5fade0af8104a95cdc9ce5a5dae66ec11bda59 100644 (file)
@@ -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
 #...
index 4f6d44e357799dfea2738b200d3f1ef3acadd268..ff6785cfde216c7059ef523ef27b857bf3d9ab3c 100644 (file)
@@ -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
 #...
index 95aa17d4dd20299c3e8fcdd355ec80740fc52b86..d111ef7b9946d7d03c26f4025564a862c30bff81 100644 (file)
@@ -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]*\)
 #...
index 48078b93c9715a27ecef980d8365f98ca17ddea0..df61153db2a8dd72dcba61de8ffead67056aefcd 100644 (file)
@@ -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
 #...
index 854a71938e441983beca29e9fe480d468fe4d6d4..e1cfd0cf771492d4dcb9b6bf9906c05862bf0739 100644 (file)
@@ -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
 #...
index 28525b6c4fa210cd8c2bfb428159a52245420367..11d2a048618d4aec17b14ad7f8e50f36a505da9e 100644 (file)
@@ -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
 #...
index 8b16b4cb9e1d086a240bfd9db86efac29c77cafc..b93d8124f36a2e6b99336222b146d7f770e441cd 100644 (file)
@@ -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:
 #...
index 09d6c3cf54e19322c73909f88c631bbaf87416a0..309e4535d7fa147b0cdd7a5e4649afc428e36b3b 100644 (file)
 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:
 #...
index aa36533ea37bcfc45d857a2734604316c0c21ccd..3c975ebaa510824538eda4880360db2f72bab713 100644 (file)
@@ -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:
 #...
index 39f5c187e5419b18f886cf5b74eaf242e9fc38ec..9b0d738434a36d84749a081ecd3a4a19b511365c 100644 (file)
@@ -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:
 #...
index 6bfdc40a800bc0251e2e9919a40bd45c39cb4ce2..a21fedc8126eedff5cad91cce9bcf80238cb4bf3 100644 (file)
@@ -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:
 #...
index 418119a736732d51b66e98b644beaf191e4da989..d96e5d20ee84f822d078c61959bb9cc0c6faaadd 100644 (file)
@@ -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 \* .*
 #...
index 8e9530b31469eb4b601da5727fe4446ff2e79bb5..578709349faba29ece3e76792ff9f73e7a1df7fc 100644 (file)
@@ -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 \(.*
 #...
index a909b90e73868af7e6e05c66119d40b4164c3739..ddb5381e93cf5b5b2ae1f97696dd7cd7a39e5ad5 100644 (file)
@@ -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
 #...
index 320e17cc767d125f85da57c324ad4e9fd44cd8b8..1d1cdc5377db20533cd072cd303b22be33b414be 100644 (file)
@@ -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
 #...
index df436062bd32c358c9b9e698105a5e76c3c584d6..4d8f14513dd936858e8c3942f69a353a71dba763 100644 (file)
@@ -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
 #...
index 1fa8bb2fe5f4d5da2ea2cb1c6655c84ccef0524f..62855f8189ee540b24b154163060c6aa69e4162a 100644 (file)
@@ -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 .*
 #...
index 4523dbc5e2f830d94b01e31fab65407c4b6ea576..00db4251a4d705539767c484dae50dcd1a2fad8f 100644 (file)
@@ -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 \(.*
 #...
index 45e9a7e6771370d213e19d094a92f4fa9f92acec..19a4bfd80fa90ae803b787a235659053b7282202 100644 (file)
@@ -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]*: \(\?\)
 #...
index f0f40243310e8c5eccb97cd90ed03b6fd87a5ef2..b2b047cb10f7f815838e64215e0acc1d5bebce7a 100644 (file)
@@ -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
 #...
index cb394985d93d1a3958aada4203cca98335a47d79..8fc1cc883da37704b14707b261fb011cc328e5d4 100644 (file)
@@ -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
 #...
index f5303d7c3baeb3fa18ce4cf5e16b8d4d4a7c816c..241adc2fb3abf3731ad803a5d32571c7a6318266 100644 (file)
@@ -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]*\)
 #...
index b493ce05c7572374d1bfe5e1dcf18489e2c22584..e42ffdf4b654b56848f0b1767da4e0033a0e2467 100644 (file)
@@ -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\)
 #...
index e4707d331e663168187c4a5608b74d51a5319b70..65a43a4de9ca653c6d68f6e0d76692ba73641784 100644 (file)
@@ -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 \(.*
 #...
index cc8e34a3a22ddfa61197776c63b29f8ed1f47a15..99f9022ecf09960cdc49a5d26347fa7c0bebb4f8 100644 (file)
@@ -1,3 +1,15 @@
+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.
index 621ff25b98320b6699b5347ffd1bf3745a588730..ee22f77f832a102f5555f7fd8d9657bcb5196454 100644 (file)
@@ -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));