[llvm] [llvm-symbolizer] Recognize AIX big archive (PR #150401)
James Henderson via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 12 00:58:01 PST 2025
================
@@ -0,0 +1,62 @@
+## Test archive member recognition by name (GNU archive format).
+
+# RUN: rm -rf %t.dir && mkdir %t.dir && cd %t.dir
+
+# RUN: yaml2obj -DSYMBOL=foo1 %s -o 1.o
+# RUN: yaml2obj -DSYMBOL=foo2 %s -o 2.o
+
+# RUN: llvm-ar --format=gnu crv archive.a 1.o 2.o
+
+## Test symbolization by member name with architecture via --default-arch flag.
+# RUN: llvm-symbolizer --default-arch=ppc64 --obj="archive.a(1.o)" 0x0 | FileCheck %s --check-prefix=CHECK-1
+# RUN: llvm-symbolizer --default-arch=ppc64 --obj="archive.a(2.o)" 0x0 | FileCheck %s --check-prefix=CHECK-2
+
+## Test architecture specified via :arch suffix notation.
+# RUN: llvm-symbolizer --obj="archive.a(1.o):ppc64" 0x0 | FileCheck %s --check-prefix=CHECK-1
+# RUN: llvm-symbolizer --obj="archive.a(2.o):ppc64" 0x0 | FileCheck %s --check-prefix=CHECK-2
+
+# CHECK-1: foo1
+# CHECK-2: foo2
+
+## Test error cases.
+# RUN: not llvm-symbolizer --default-arch=ppc64 --obj="archive.a(nonexistent.o)" 0x1000 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
+# CHECK-ERROR: error: 'archive.a(nonexistent.o)': no matching member 'nonexistent.o' with arch 'ppc64' in 'archive.a'
+
+# RUN: not llvm-symbolizer --obj="1.o(1.o)" 0x1000 2>&1 | FileCheck %s --check-prefix=CHECK-NOTARCHIVE
+# CHECK-NOTARCHIVE: error: '1.o(1.o)': '1.o' is not a valid archive
+
+# RUN: not llvm-symbolizer --obj="archive.a():ppc64" 0x1000 2>&1 | FileCheck %s --check-prefix=CHECK-NOSYMBOL
----------------
jh7370 wrote:
`NOSYMBOL` -> `NONAME`
https://github.com/llvm/llvm-project/pull/150401
More information about the llvm-commits
mailing list