ctf-front-end: Add test for alias symbols
authorGuillermo E. Martinez <guillermo.e.martinez@oracle.com>
Wed, 21 Dec 2022 20:12:33 +0000 (14:12 -0600)
committerDodji Seketeli <dodji@redhat.com>
Thu, 22 Dec 2022 09:59:05 +0000 (10:59 +0100)
This patch adds a new test case in the ctf-front-end test suite to
to test for alias symbols support.

* tests/data/test-read-ctf/test-alias.o: New binary test input file.
* tests/data/test-read-ctf/test-alias.o.abi: New exported abixml file.
* tests/data/Makefile.am: Add the new test input above
* tests/test-read-ctf.cc: Add the new test input above to the test
harness.

Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
tests/data/Makefile.am
tests/data/test-read-ctf/test-alias.o [new file with mode: 0644]
tests/data/test-read-ctf/test-alias.o.abi
tests/test-read-ctf.cc

index e994aff3d05b94a814607a3e6cf8a4302167bd9c..0f1f4e2696b6bf57c4ef84bf7771a71cbe9c7fb3 100644 (file)
@@ -643,6 +643,7 @@ test-read-ctf/test9.c               \
 test-read-ctf/test9.o          \
 test-read-ctf/test9.o.abi      \
 test-read-ctf/test-alias.c     \
+test-read-ctf/test-alias.o     \
 test-read-ctf/test-alias.o.abi \
 test-read-ctf/test-ambiguous-struct-A.c        \
 test-read-ctf/test-ambiguous-struct-A.o        \
diff --git a/tests/data/test-read-ctf/test-alias.o b/tests/data/test-read-ctf/test-alias.o
new file mode 100644 (file)
index 0000000..18549b7
Binary files /dev/null and b/tests/data/test-read-ctf/test-alias.o differ
index 1fe61b8f429317f48b7a14ce2e126aec0094ff83..b5fd92ad25cb58f753baf7082b0e5bbb2d14389d 100644 (file)
@@ -1,19 +1,19 @@
 <abi-corpus version='2.1' path='data/test-read-ctf/test-alias.o'>
   <elf-function-symbols>
     <elf-symbol name='alias_func' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='main_func' type='func-type' binding='global-binding' visibility='default-visibility' alias='alias_func,main_var,alias_var' is-defined='yes'/>
+    <elf-symbol name='main_func' type='func-type' binding='global-binding' visibility='default-visibility' alias='alias_func' is-defined='yes'/>
   </elf-function-symbols>
   <elf-variable-symbols>
     <elf-symbol name='alias_var' size='4' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='main_var' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='main_var' size='4' type='object-type' binding='global-binding' visibility='default-visibility' alias='alias_var' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr address-size='64' language='LANG_C'>
-    <type-decl name='int' size-in-bits='32' alignment-in-bits='32' id='95e97e5e'/>
-    <function-decl name='main_func' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='8'>
-      <return type-id='48b5725f'/>
+    <type-decl name='int' size-in-bits='32' alignment-in-bits='32' id='type-id-1'/>
+    <function-decl name='main_func' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='8' elf-symbol-id='main_func'>
+      <return type-id='type-id-2'/>
     </function-decl>
-    <var-decl name='alias_var' type-id='95e97e5e' mangled-name='alias_var' visibility='default'/>
-    <var-decl name='main_var' type-id='95e97e5e' mangled-name='main_var' visibility='default'/>
-    <type-decl name='void' id='48b5725f'/>
+    <var-decl name='alias_var' type-id='type-id-1' mangled-name='alias_var' visibility='default' elf-symbol-id='alias_var'/>
+    <var-decl name='main_var' type-id='type-id-1' mangled-name='main_var' visibility='default' elf-symbol-id='main_var'/>
+    <type-decl name='void' id='type-id-2'/>
   </abi-instr>
 </abi-corpus>
index 236ccbf2771a0074bdc7671c1a2922adb91d755c..f618e0fdffd1fbb8d5b7ba5118c8f07fbca5943e 100644 (file)
@@ -335,6 +335,14 @@ static InOutSpec in_out_specs[] =
     "output/test-read-ctf/test-linux-module.abi",
     "--ctf"
   },
+  {
+    "data/test-read-ctf/test-alias.o",
+    "",
+    "",
+    SEQUENCE_TYPE_ID_STYLE,
+    "data/test-read-ctf/test-alias.o.abi",
+    "output/test-read-ctf/test-alias.o.abi",
+  },
   // CTF fallback feature.
   {
     "data/test-read-ctf/test-fallback.o",