forked from OSchip/llvm-project
Add the -just-symbol-name (aka -j) flag to llvm-nm to just print the
symbol’s name. On darwin the -j flag is used (often in combinations with other flags) to produce a complete list of symbol names which than can then be reorder and used with ld(1)’s -order_file. llvm-svn: 212294
This commit is contained in:
parent
a37a2fc81f
commit
0fd8aac5da
|
@ -18,6 +18,8 @@ RUN: llvm-nm %p/Inputs/trivial-object-test.macho-x86-64 \
|
|||
RUN: | FileCheck %s -check-prefix macho64
|
||||
RUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
||||
RUN: | FileCheck %s -check-prefix macho-tdb
|
||||
RUN: llvm-nm -j %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
||||
RUN: | FileCheck %s -check-prefix macho-j
|
||||
RUN: llvm-nm -r %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
||||
RUN: | FileCheck %s -check-prefix macho-r
|
||||
RUN: llvm-nm %p/Inputs/common.coff-i386 \
|
||||
|
@ -85,6 +87,12 @@ macho-tdb: 000000000000000c D _d
|
|||
macho-tdb: 0000000000000000 T _t
|
||||
macho-tdb: 0000000000000048 S _t.eh
|
||||
|
||||
macho-j: EH_frame0
|
||||
macho-j: _b
|
||||
macho-j: _d
|
||||
macho-j: _t
|
||||
macho-j: _t.eh
|
||||
|
||||
macho-r: 0000000000000048 S _t.eh
|
||||
macho-r-NEXT: 0000000000000000 T _t
|
||||
macho-r-NEXT: 000000000000000c D _d
|
||||
|
|
|
@ -131,6 +131,11 @@ cl::opt<bool> WithoutAliases("without-aliases", cl::Hidden,
|
|||
cl::opt<bool> ArchiveMap("print-armap", cl::desc("Print the archive map"));
|
||||
cl::alias ArchiveMaps("s", cl::desc("Alias for --print-armap"),
|
||||
cl::aliasopt(ArchiveMap));
|
||||
|
||||
cl::opt<bool> JustSymbolName("just-symbol-name",
|
||||
cl::desc("Print just the symbol's name"));
|
||||
cl::alias JustSymbolNames("j", cl::desc("Alias for --just-symbol-name"),
|
||||
cl::aliasopt(JustSymbolName));
|
||||
bool PrintAddress = true;
|
||||
|
||||
bool MultipleFiles = false;
|
||||
|
@ -446,6 +451,10 @@ static void sortAndPrintSymbolList(SymbolicFile *Obj, bool printName) {
|
|||
continue;
|
||||
if (SizeSort && !PrintAddress && I->Size == UnknownAddressOrSize)
|
||||
continue;
|
||||
if (JustSymbolName) {
|
||||
outs() << I->Name << "\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
char SymbolAddrStr[18] = "";
|
||||
char SymbolSizeStr[18] = "";
|
||||
|
|
Loading…
Reference in New Issue