[PATCH] D92217: [llvm-objdump] Remove -mcpu=help from help text

David Spickett via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 27 03:34:04 PST 2020

DavidSpickett added a comment.

I figured it needed a file at least to know which target it should list cpus for, but now I see what I was doing wrong:

  $ ./bin/llvm-objdump --mcpu=help /tmp/arm64.o -d
  /tmp/arm64.o:   file format elf64-littleaarch64
  Available CPUs for this target:
    a64fx         - Select the a64fx processor.
  Disassembly of section .init:

The cpus are printed to stderr and I just piped it into less to see the first bit easily so all I saw was the disassembly.

  $ ./bin/llvm-objdump --mcpu=help /tmp/arm64.o -d 2>/dev/null
  /tmp/arm64.o:   file format elf64-littleaarch64
  Disassembly of section .init:

I see that --mattr=help also works this way. I assume that's because if you pass an invalid name it also prints to stderr,
but it's not an error, so you would still disassemble:

  $ ./bin/llvm-objdump --mcpu=abcdef /tmp/arm64.o -d 1>/dev/null
  'abcdef' is not a recognized processor for this target (ignoring processor)
  'abcdef' is not a recognized processor for this target (ignoring processor)
  $ $?
  -bash: 0: command not found

(why it prints twice is another matter, --mattr doesn't)

Seems to me that:

- --mattr=help should be documented too
- The "--mcpu/attr=help" output should be on stdout (which is probably more tricky than I think it is)
- llvm-objdump shouldn't disassemble the file if you use those options (like `llvm-objdump -d foo.o --help` doesn't)

Which is probably easier said than done but does the logic make sense to you? At least I can do the first one point quickly.

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list