[all-commits] [llvm/llvm-project] ab930e: [llvm-readobj][ELF] Alter JSON/LLVM output on note...

Fred Grim via All-commits all-commits at lists.llvm.org
Wed Jul 3 09:19:39 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ab930ee7cad8b8bf7968bb8d0c0d72524e2313c4
      https://github.com/llvm/llvm-project/commit/ab930ee7cad8b8bf7968bb8d0c0d72524e2313c4
  Author: Fred Grim <fgrim at apple.com>
  Date:   2024-07-03 (Wed, 03 Jul 2024)

  Changed paths:
    M lld/test/ELF/gnu-property-align-32.s
    M lld/test/ELF/gnu-property-align.s
    M lld/test/ELF/partition-notes.s
    M llvm/test/tools/llvm-objcopy/ELF/add-note.test
    M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
    M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-note-gnu-property.s
    M llvm/test/tools/llvm-readobj/ELF/AArch64/memtag.test
    M llvm/test/tools/llvm-readobj/ELF/AArch64/note-android-unknown.test
    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-invalid-v2.test
    M llvm/test/tools/llvm-readobj/ELF/note-amd-invalid-v3.test
    M llvm/test/tools/llvm-readobj/ELF/note-amd-valid-v2.test
    M llvm/test/tools/llvm-readobj/ELF/note-amd-valid-v3.s
    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/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-core.test
    M llvm/test/tools/llvm-readobj/ELF/note-freebsd.test
    M llvm/test/tools/llvm-readobj/ELF/note-generic.s
    M llvm/test/tools/llvm-readobj/ELF/note-gnu-property.s
    M llvm/test/tools/llvm-readobj/ELF/note-gnu-property2.s
    M llvm/test/tools/llvm-readobj/ELF/note-llvmompoffload.test
    A llvm/test/tools/llvm-readobj/ELF/note-multiple-sections.test
    M llvm/test/tools/llvm-readobj/ELF/note-netbsd-core.test
    M llvm/test/tools/llvm-readobj/ELF/note-openbsd-core.test
    M llvm/test/tools/llvm-readobj/ELF/note-unknown.s
    M llvm/test/tools/llvm-readobj/archive.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj][ELF] Alter JSON/LLVM output on note sections to allow for multiple notes per section in JSON (#96813)

It turns out that the notes section for corefiles (or really any elf
file with multiple notes) is set up in such a way for LLVM formatted
output that the JSON equivalent only has the last note since the notes
are held in a dictionary with every key being Note. This pr alters the
layout for the notes to a list of dictionaries to sidestep this issue
for JSON output. Prior to this pr a note section in the output looked
like (for LLVM output):

```
Notes [
  NoteSection {
    Name: <?>
    Offset: 0x2148
    Size: 0x1F864
    Note {
      Owner: CORE
      Data size: 0x150
      Type: NT_PRSTATUS (prstatus structure)
      Description data (
        0000: 06000000 00000000 00000000 06000000  |................|
        ...
      )
    }
    Note {
      Owner: CORE
      Data size: 0x88
      Type: NT_PRPSINFO (prpsinfo structure)
      Description data (
        0000: 02440000 00000000 04054040 00000000  |.D........@@....|
	....
```

But is now:

```
NoteSections [
  NoteSection {
    Name: <?>
    Offset: 0x2148
    Size: 0x1F864
    Notes [
      {
        Owner: CORE
        Data size: 0x150
        Type: NT_PRSTATUS (prstatus structure)
        Description data (
          0000: 06000000 00000000 00000000 06000000  |................|
          ...
        )
      }
      {
        Owner: CORE
        Data size: 0x88
        Type: NT_PRPSINFO (prpsinfo structure)
        Description data (
          0000: 02440000 00000000 04054040 00000000  |.D........@@....|
	  ...
```



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list