diff options
author | Ramesh Peri <rvperi@fb.com> | 2021-08-05 10:04:28 -0700 |
---|---|---|
committer | Hongtao Yu <hoy@fb.com> | 2021-08-05 10:06:34 -0700 |
commit | 976bd2361237f2fafc736d26dc78d1b95cd80d94 (patch) | |
tree | bb453897da112854e634fc6e666bea97cbd92f29 /lldb/source/Commands/CommandObjectSource.cpp | |
parent | b4c0307d598004cfd96c770d2a4a84a37c838ba9 (diff) | |
download | llvm-976bd2361237f2fafc736d26dc78d1b95cd80d94.zip llvm-976bd2361237f2fafc736d26dc78d1b95cd80d94.tar.gz llvm-976bd2361237f2fafc736d26dc78d1b95cd80d94.tar.bz2 |
[llvm-ar] Fix for handling thin archive with SYM64 and a test case for it
WHen thin archives are created which have symbol table of type SYM64 then all the tools will not work since they cannot read the files properly.
One can reproduce the problem as follows:
1. Take a hello world program and create an archive out of it. The SYM64_THRESHOLD=0 will force the generation of SYM64 symbol table.
clang -c hello.cpp
SYM64_THRESHOLD=0 llvm-ar crsT mylib.a hello.o
2. Now try to use any of the tools on this mylib.a and it will fail.
llvm-nm -M mylib.a
THis fix will eliminate these failures. A regression test is created in llvm/test/Object/archive-symtab.test
Reviewed By: MaskRay, Ramesh
Differential Revision: https://reviews.llvm.org/D107322
Diffstat (limited to 'lldb/source/Commands/CommandObjectSource.cpp')
0 files changed, 0 insertions, 0 deletions