[PATCH] D60411: Filter out irrelevant llvm-nm option

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 10 13:19:11 PDT 2019


serge-sans-paille updated this revision to Diff 194578.
serge-sans-paille added a comment.

alias don"t need to be marked as part of a category, this makes the diff shorter. Same for positional argument. New output:

  OVERVIEW: llvm symbol table dumper
  
  USAGE: llvm-nm [options] <input files> --s Dump only symbols from this segment and section name, Mach-O only
  
  OPTIONS:
  
  Generic Options:
  
    -help             - Display available options (-help-hidden for more)
    -help-list        - Display list of available options (-help-list-hidden for more)
    -version          - Display the version of this program
  
  llvm-nm Options:
  
    -B                - Alias for --format=bsd
    -P                - Alias for --format=posix
    -add-dyldinfo     - Add symbols from the dyldinfo not already in the symbol table, Mach-O only
    -arch=<string>    - architecture(s) from a Mach-O file to dump
    -debug-syms       - Show all symbols, even debugger only
    -defined-only     - Show only defined symbols
    -demangle         - Demangle C++ symbol names
    -dyldinfo-only    - Show only symbols from the dyldinfo, Mach-O only
    -dynamic          - Display the dynamic symbols instead of normal symbols.
    -extern-only      - Show only external symbols
    -format=<value>   - Specify output format
      =bsd            -   BSD format
      =sysv           -   System V format
      =posix          -   POSIX.2 format
      =darwin         -   Darwin -m format
    -just-symbol-name - Print just the symbol's name
    -m                - Alias for --format=darwin
    -no-demangle      - Don't demangle symbol names
    -no-dyldinfo      - Don't add any symbols from the dyldinfo, Mach-O only
    -no-llvm-bc       - Disable LLVM bitcode reader
    -no-sort          - Show symbols in order encountered
    -no-weak          - Show only non-weak symbols
    -numeric-sort     - Sort symbols by address
    -print-armap      - Print the archive map
    -print-file-name  - Precede each symbol with the object file it came from
    -print-size       - Show symbol size instead of address
    -radix=<value>    - Radix (o/d/x) for printing symbol Values
      =d              -   decimal
      =o              -   octal
      =x              -   hexadecimal
    -reverse-sort     - Sort in reverse order
    -size-sort        - Sort symbols by size
    -undefined-only   - Show only undefined symbols
    -x                - Print symbol entry in hex, Mach-O only
  
  Pass @FILE as argument to read options from FILE.

Note the `USAGE: llvm-nm [options] <input files> --s Dump only symbols from this segment and section name, Mach-O only` line, which is not perfect. That's due to the -s flag which is flagged as a positional argument, because it takes two arguments.

I let it as is, I may invest time in the future to fix the real source of the problem.

Question: instead of having -s require two argument, we could require one argument and split on space character, or comma?


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60411/new/

https://reviews.llvm.org/D60411

Files:
  test/tools/llvm-nm/help.test
  tools/llvm-nm/llvm-nm.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60411.194578.patch
Type: text/x-patch
Size: 10776 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190410/eacba408/attachment-0001.bin>


More information about the llvm-commits mailing list