[all-commits] [llvm/llvm-project] f4670f: [llvm-readobj] Print empty line between note secti...

Alexander Richardson via All-commits all-commits at lists.llvm.org
Tue Feb 9 09:00:06 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f4670fbfff228554006828bf6a66ebc472340c61
      https://github.com/llvm/llvm-project/commit/f4670fbfff228554006828bf6a66ebc472340c61
  Author: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/note-amd.s
    M llvm/test/tools/llvm-readobj/ELF/note-amdgpu-invalid.s
    M llvm/test/tools/llvm-readobj/ELF/note-core-ntfile.test
    M llvm/test/tools/llvm-readobj/ELF/note-core.test
    M llvm/test/tools/llvm-readobj/ELF/note-freebsd.s
    M llvm/test/tools/llvm-readobj/ELF/note-generic.s
    M llvm/test/tools/llvm-readobj/ELF/note-unknown.s
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Print empty line between note sections in GNU mode

This matches GNU binutils.

Reviewed By: rupprecht, jhenderson, MaskRay

Differential Revision: https://reviews.llvm.org/D96010


  Commit: d613d8eb0eb84ad3cc494a5b45ad9f1f37eca88b
      https://github.com/llvm/llvm-project/commit/d613d8eb0eb84ad3cc494a5b45ad9f1f37eca88b
  Author: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/ObjectYAML/ELFYAML.h
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml
    M llvm/tools/obj2yaml/elf2yaml.cpp

  Log Message:
  -----------
  [yaml2obj] Handle NT_* string values in for ELF note types

This is required for D74393.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D95953


  Commit: 135df21248985579710e0cd3013d369de52dd354
      https://github.com/llvm/llvm-project/commit/135df21248985579710e0cd3013d369de52dd354
  Author: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/gnu-note-size.test
    M llvm/test/tools/llvm-readobj/ELF/gnu-notes.test
    M llvm/test/tools/llvm-readobj/ELF/note-amd.s
    M llvm/test/tools/llvm-readobj/ELF/note-amdgpu-invalid.s
    M llvm/test/tools/llvm-readobj/ELF/note-amdgpu.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readelf] Print raw ELF note contents if we can't parse it

Currently, if the note name is known, but the value isn't we don't print
the contents.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D74367


  Commit: 7dc31360339268b25d49680d23268731b33f51aa
      https://github.com/llvm/llvm-project/commit/7dc31360339268b25d49680d23268731b33f51aa
  Author: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    A llvm/test/tools/llvm-readobj/ELF/note-freebsd-core.test
    R llvm/test/tools/llvm-readobj/ELF/note-freebsd.s
    A llvm/test/tools/llvm-readobj/ELF/note-freebsd.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Add support for decoding FreeBSD ELF notes

The current support only printed coredump notes, but most binaries also
contain notes. This change adds names for four FreeBSD-specific notes and
pretty-prints three of them:

NT_FREEBSD_ABI_TAG:
This note holds a 32-bit (decimal) integer containing the value of the
__FreeBSD_version macro, which is defined in crt1.o and will hold a value
such as 1300076 for a binary build on a FreeBSD 13 system.

NT_FREEBSD_ARCH_TAG:
A string containing the value of the build-time MACHINE_ARCH

NT_FREEBSD_FEATURE_CTL: A 32-bit flag that indicates to the kernel that
the binary wants certain bevahiour. Examples include setting
NT_FREEBSD_FCTL_ASLR_DISABLE which tells the kernel to disable ASLR.

After this change llvm-readobj also no longer decodes coredump-only
FreeBSD notes in non-coredump files. I've also converted the
note-freebsd.s test to use yaml2obj instead of llvm-mc.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D74393


Compare: https://github.com/llvm/llvm-project/compare/46cc7ce35ade...7dc313603392


More information about the All-commits mailing list