[lld] 9ba265c - [LLD][MachO] Remove eh-frame test binaries (#217107)

via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 19 11:16:13 PDT 2026


Author: Ellis Hoag
Date: 2026-08-19T11:16:08-07:00
New Revision: 9ba265c2fde9296ccf547fcfddd198f0992ed263

URL: https://github.com/llvm/llvm-project/commit/9ba265c2fde9296ccf547fcfddd198f0992ed263
DIFF: https://github.com/llvm/llvm-project/commit/9ba265c2fde9296ccf547fcfddd198f0992ed263.diff

LOG: [LLD][MachO] Remove eh-frame test binaries (#217107)

Use `update_test_body.py` to generate `.yaml` files that can be
converted to `.o` files to be used in the test. This allows us to delete
the `eh-frame-{arm64,x86_64}-r.o` binaries, and makes it much easier to
update the data (note that it needs to run on a mac). I check the output
of `obj2yaml` and saw the only difference from the inline `.yaml` files
are the version numbers.

Added: 
    

Modified: 
    lld/test/MachO/eh-frame.s

Removed: 
    lld/test/MachO/Inputs/eh-frame-arm64-r.o
    lld/test/MachO/Inputs/eh-frame-x86_64-r.o


################################################################################
diff  --git a/lld/test/MachO/Inputs/eh-frame-arm64-r.o b/lld/test/MachO/Inputs/eh-frame-arm64-r.o
deleted file mode 100644
index 15e73cacf71d0..0000000000000
Binary files a/lld/test/MachO/Inputs/eh-frame-arm64-r.o and /dev/null 
diff er

diff  --git a/lld/test/MachO/Inputs/eh-frame-x86_64-r.o b/lld/test/MachO/Inputs/eh-frame-x86_64-r.o
deleted file mode 100644
index 0da6b0fa750d5..0000000000000
Binary files a/lld/test/MachO/Inputs/eh-frame-x86_64-r.o and /dev/null 
diff er

diff  --git a/lld/test/MachO/eh-frame.s b/lld/test/MachO/eh-frame.s
index 64fd364c87a59..9020dc01675aa 100644
--- a/lld/test/MachO/eh-frame.s
+++ b/lld/test/MachO/eh-frame.s
@@ -1,33 +1,30 @@
+# NOTE: Code has been autogenerated by utils/update_test_body.py
 # REQUIRES: x86, aarch64
-# RUN: rm -rf %t; mkdir %t
+# RUN: rm -rf %t && split-file %s %t
 
-# RUN: llvm-mc -emit-compact-unwind-non-canonical=true -filetype=obj -triple=x86_64-apple-macos10.15 %s -o %t/eh-frame-x86_64.o
+# RUN: yaml2obj %t/eh-frame-x86_64-r.yaml -o %t/eh-frame-x86_64-r.o
+# RUN: yaml2obj %t/eh-frame-arm64-r.yaml -o %t/eh-frame-arm64-r.o
+
+# RUN: llvm-mc -emit-compact-unwind-non-canonical=true -filetype=obj -triple=x86_64-apple-macos10.15 %t/a.s -o %t/eh-frame-x86_64.o
 # RUN: %lld -lSystem -lc++ %t/eh-frame-x86_64.o -o %t/eh-frame-x86_64
 # RUN: llvm-objdump --macho --syms --indirect-symbols --unwind-info \
 # RUN:   --dwarf=frames %t/eh-frame-x86_64 | FileCheck %s -D#BASE=0x100000000 -D#DWARF_ENC=4
 # RUN: llvm-nm -m %t/eh-frame-x86_64 | FileCheck %s --check-prefix NO-EH-SYMS
 # RUN: llvm-readobj --section-headers %t/eh-frame-x86_64 | FileCheck %s --check-prefix=ALIGN -D#ALIGN=3
 
-## Test that we correctly handle the output of `ld -r`, which emits EH frames
-## using subtractor relocations instead of implicitly encoding the offsets.
-## In order to keep this test cross-platform, we check in ld64's output rather
-## than invoking ld64 directly. NOTE: whenever this test is updated, the
-## checked-in copy of `ld -r`'s output should be updated too!
-# COM: ld -r %t/eh-frame-x86_64.o -o %S/Inputs/eh-frame-x86_64-r.o
-# RUN: %lld -lSystem -lc++ %S/Inputs/eh-frame-x86_64-r.o -o %t/eh-frame-x86_64-r
+# RUN: %lld -lSystem -lc++ %t/eh-frame-x86_64-r.o -o %t/eh-frame-x86_64-r
 # RUN: llvm-objdump --macho --syms --indirect-symbols --unwind-info \
 # RUN:   --dwarf=frames %t/eh-frame-x86_64-r | FileCheck %s -D#BASE=0x100000000 -D#DWARF_ENC=4
 # RUN: llvm-nm -m %t/eh-frame-x86_64-r | FileCheck %s --check-prefix NO-EH-SYMS
 # RUN: llvm-readobj --section-headers %t/eh-frame-x86_64-r | FileCheck %s --check-prefix=ALIGN -D#ALIGN=3
 
-# RUN: llvm-mc -filetype=obj -emit-compact-unwind-non-canonical=true -triple=arm64-apple-macos11.0 %s -o %t/eh-frame-arm64.o
+# RUN: llvm-mc -filetype=obj -emit-compact-unwind-non-canonical=true -triple=arm64-apple-macos11.0 %t/a.s -o %t/eh-frame-arm64.o
 # RUN: %lld -arch arm64 -lSystem -lc++ %t/eh-frame-arm64.o -o %t/eh-frame-arm64
 # RUN: llvm-objdump --macho --syms --indirect-symbols --unwind-info \
 # RUN:   --dwarf=frames %t/eh-frame-arm64 | FileCheck %s -D#BASE=0x100000000 -D#DWARF_ENC=3
 # RUN: llvm-nm -m %t/eh-frame-arm64 | FileCheck %s --check-prefix NO-EH-SYMS
 
-# COM: ld -r %t/eh-frame-arm64.o -o %S/Inputs/eh-frame-arm64-r.o
-# RUN: %lld -arch arm64 -lSystem -lc++ %S/Inputs/eh-frame-arm64-r.o -o %t/eh-frame-arm64-r
+# RUN: %lld -arch arm64 -lSystem -lc++ %t/eh-frame-arm64-r.o -o %t/eh-frame-arm64-r
 # RUN: llvm-objdump --macho --syms --indirect-symbols --unwind-info \
 # RUN:   --dwarf=frames %t/eh-frame-arm64-r | FileCheck %s -D#BASE=0x100000000 -D#DWARF_ENC=3
 # RUN: llvm-nm -m %t/eh-frame-arm64-r | FileCheck %s --check-prefix NO-EH-SYMS
@@ -107,6 +104,7 @@
 # CHECK:   DW_CFA_def_cfa_offset: +8
 # CHECK:   0x[[#%x,H]]:
 
+#--- a.s
 .globl _my_personality, _main
 
 .text
@@ -170,3 +168,812 @@ Lexception2:
   .byte 255
 
 .subsections_via_symbols
+
+#--- gen
+# Test that we correctly handle the output of `ld -r`, which emits EH frames
+# using subtractor relocations instead of implicitly encoding the offsets.
+# NOTE: Must be run on a mac
+llvm-mc -emit-compact-unwind-non-canonical=true -filetype=obj -triple=x86_64-apple-macos10.15 a.s -o eh-frame-x86_64.o
+ld -r eh-frame-x86_64.o -o eh-frame-x86_64-r.o
+obj2yaml eh-frame-x86_64-r.o -o -
+echo '#--- eh-frame-arm64-r.yaml'
+llvm-mc -emit-compact-unwind-non-canonical=true -filetype=obj -triple=arm64-apple-macos11.0 a.s -o eh-frame-arm64.o
+ld -r eh-frame-arm64.o -o eh-frame-arm64-r.o
+obj2yaml eh-frame-arm64-r.o -o -
+#--- eh-frame-x86_64-r.yaml
+--- !mach-o
+FileHeader:
+  magic:           0xFEEDFACF
+  cputype:         0x1000007
+  cpusubtype:      0x3
+  filetype:        0x1
+  ncmds:           4
+  sizeofcmds:      544
+  flags:           0x2000
+  reserved:        0x0
+LoadCommands:
+  - cmd:             LC_SEGMENT_64
+    cmdsize:         472
+    segname:         ''
+    vmaddr:          0
+    vmsize:          304
+    fileoff:         608
+    filesize:        304
+    maxprot:         7
+    initprot:        7
+    nsects:          5
+    flags:           0
+    Sections:
+      - sectname:        __text
+        segname:         __TEXT
+        addr:            0x0
+        size:            21
+        offset:          0x260
+        align:           2
+        reloff:          0x0
+        nreloc:          0
+        flags:           0x80000400
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         C30F1F00C30F1F00C30F1F00C30F1F00C30F1F00C3
+      - sectname:        __gcc_except_tab
+        segname:         __TEXT
+        addr:            0x15
+        size:            2
+        offset:          0x275
+        align:           0
+        reloff:          0x0
+        nreloc:          0
+        flags:           0x0
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         FFFF
+      - sectname:        custom_except
+        segname:         __TEXT
+        addr:            0x17
+        size:            1
+        offset:          0x277
+        align:           0
+        reloff:          0x0
+        nreloc:          0
+        flags:           0x0
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         FF
+      - sectname:        __eh_frame
+        segname:         __TEXT
+        addr:            0x18
+        size:            184
+        offset:          0x278
+        align:           3
+        reloff:          0x390
+        nreloc:          20
+        flags:           0x0
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         1C00000000000000017A504C5200017810079B0400000010100C0708900100002400000004000000F8FFFFFFFFFFFFFF010000000000000008E7FFFFFFFFFFFFFF0E0800000000002400000004000000F8FFFFFFFFFFFFFF010000000000000008E7FFFFFFFFFFFFFF0E082E100000001C00000000000000017A504C5200017810079B0400000010100C0708900100002400000004000000F8FFFFFFFFFFFFFF010000000000000008E7FFFFFFFFFFFFFF0E082E10000000
+        relocations:
+          - address:         0x13
+            symbolnum:       14
+            pcrel:           true
+            length:          2
+            extern:          true
+            type:            4
+            scattered:       false
+            value:           0
+          - address:         0x24
+            symbolnum:       7
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x24
+            symbolnum:       8
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x28
+            symbolnum:       8
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x28
+            symbolnum:       0
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x39
+            symbolnum:       8
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x39
+            symbolnum:       4
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x4C
+            symbolnum:       7
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x4C
+            symbolnum:       9
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x50
+            symbolnum:       9
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x50
+            symbolnum:       2
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x61
+            symbolnum:       9
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x61
+            symbolnum:       5
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x83
+            symbolnum:       13
+            pcrel:           true
+            length:          2
+            extern:          true
+            type:            4
+            scattered:       false
+            value:           0
+          - address:         0x94
+            symbolnum:       10
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x94
+            symbolnum:       11
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x98
+            symbolnum:       11
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0x98
+            symbolnum:       3
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0xA9
+            symbolnum:       11
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            5
+            scattered:       false
+            value:           0
+          - address:         0xA9
+            symbolnum:       6
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+      - sectname:        __compact_unwind
+        segname:         __LD
+        addr:            0xD0
+        size:            96
+        offset:          0x330
+        align:           3
+        reloff:          0x430
+        nreloc:          8
+        flags:           0x2000000
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         '000000000000000004000000000001420000000000000000000000000000000000000000000000000400000000000004000000000000000000000000000000000000000000000000040000000000000400000000000000000000000000000000'
+        relocations:
+          - address:         0x0
+            symbolnum:       0
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x18
+            symbolnum:       4
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x10
+            symbolnum:       14
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x18
+            symbolnum:       4
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x20
+            symbolnum:       2
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x38
+            symbolnum:       5
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x40
+            symbolnum:       3
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x58
+            symbolnum:       6
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+  - cmd:             LC_SYMTAB
+    cmdsize:         24
+    symoff:          1136
+    nsyms:           15
+    stroff:          1376
+    strsize:         144
+  - cmd:             LC_BUILD_VERSION
+    cmdsize:         32
+    platform:        1
+    minos:           659200
+    sdk:             0
+    ntools:          1
+    Tools:
+      - tool:            3
+        version:         62718208
+  - cmd:             LC_DATA_IN_CODE
+    cmdsize:         16
+    dataoff:         1136
+    datasize:        0
+LinkEditData:
+  NameList:
+    - n_strx:          46
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         0
+    - n_strx:          49
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         4
+    - n_strx:          60
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         8
+    - n_strx:          63
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         12
+    - n_strx:          66
+      n_type:          0xE
+      n_sect:          2
+      n_desc:          0
+      n_value:         21
+    - n_strx:          84
+      n_type:          0xE
+      n_sect:          2
+      n_desc:          0
+      n_value:         22
+    - n_strx:          102
+      n_type:          0xE
+      n_sect:          3
+      n_desc:          0
+      n_value:         23
+    - n_strx:          123
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         24
+    - n_strx:          133
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         56
+    - n_strx:          133
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         96
+    - n_strx:          123
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         136
+    - n_strx:          133
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         168
+    - n_strx:          2
+      n_type:          0xF
+      n_sect:          1
+      n_desc:          0
+      n_value:         20
+    - n_strx:          8
+      n_type:          0xF
+      n_sect:          1
+      n_desc:          0
+      n_value:         16
+    - n_strx:          24
+      n_type:          0x1
+      n_sect:          0
+      n_desc:          0
+      n_value:         0
+  StringTable:
+    - ' '
+    - _main
+    - _my_personality
+    - ___gxx_personality_v0
+    - _f
+    - _no_unwind
+    - _g
+    - _h
+    - GCC_except_table0
+    - GCC_except_table1
+    - custom_except_table2
+    - EH_Frame1
+    - func.eh
+    - ''
+    - ''
+    - ''
+...
+#--- eh-frame-arm64-r.yaml
+--- !mach-o
+FileHeader:
+  magic:           0xFEEDFACF
+  cputype:         0x100000C
+  cpusubtype:      0x0
+  filetype:        0x1
+  ncmds:           4
+  sizeofcmds:      544
+  flags:           0x2000
+  reserved:        0x0
+LoadCommands:
+  - cmd:             LC_SEGMENT_64
+    cmdsize:         472
+    segname:         ''
+    vmaddr:          0
+    vmsize:          272
+    fileoff:         608
+    filesize:        272
+    maxprot:         7
+    initprot:        7
+    nsects:          5
+    flags:           0
+    Sections:
+      - sectname:        __text
+        segname:         __TEXT
+        addr:            0x0
+        size:            24
+        offset:          0x260
+        align:           2
+        reloff:          0x0
+        nreloc:          0
+        flags:           0x80000400
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         C0035FD6C0035FD6C0035FD6C0035FD6C0035FD6C0035FD6
+      - sectname:        __gcc_except_tab
+        segname:         __TEXT
+        addr:            0x18
+        size:            2
+        offset:          0x278
+        align:           0
+        reloff:          0x0
+        nreloc:          0
+        flags:           0x0
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         FFFF
+      - sectname:        custom_except
+        segname:         __TEXT
+        addr:            0x1A
+        size:            1
+        offset:          0x27A
+        align:           0
+        reloff:          0x0
+        nreloc:          0
+        flags:           0x0
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         FF
+      - sectname:        __eh_frame
+        segname:         __TEXT
+        addr:            0x20
+        size:            144
+        offset:          0x280
+        align:           3
+        reloff:          0x370
+        nreloc:          14
+        flags:           0x0
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         1800000000000000017A504C520001781E079B0000000010100C1F002800000004000000F8FFFFFFFFFFFFFF040000000000000008E7FFFFFFFFFFFFFF0E082E10000000000000001800000000000000017A504C520001781E079B0000000010100C1F002800000004000000F8FFFFFFFFFFFFFF040000000000000008E7FFFFFFFFFFFFFF0E082E1000000000000000
+        relocations:
+          - address:         0x13
+            symbolnum:       13
+            pcrel:           true
+            length:          2
+            extern:          true
+            type:            7
+            scattered:       false
+            value:           0
+          - address:         0x20
+            symbolnum:       7
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            1
+            scattered:       false
+            value:           0
+          - address:         0x20
+            symbolnum:       8
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x24
+            symbolnum:       8
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            1
+            scattered:       false
+            value:           0
+          - address:         0x24
+            symbolnum:       2
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x35
+            symbolnum:       8
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            1
+            scattered:       false
+            value:           0
+          - address:         0x35
+            symbolnum:       5
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x5B
+            symbolnum:       12
+            pcrel:           true
+            length:          2
+            extern:          true
+            type:            7
+            scattered:       false
+            value:           0
+          - address:         0x68
+            symbolnum:       9
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            1
+            scattered:       false
+            value:           0
+          - address:         0x68
+            symbolnum:       10
+            pcrel:           false
+            length:          2
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x6C
+            symbolnum:       10
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            1
+            scattered:       false
+            value:           0
+          - address:         0x6C
+            symbolnum:       3
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x7D
+            symbolnum:       10
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            1
+            scattered:       false
+            value:           0
+          - address:         0x7D
+            symbolnum:       6
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+      - sectname:        __compact_unwind
+        segname:         __LD
+        addr:            0xB0
+        size:            96
+        offset:          0x310
+        align:           3
+        reloff:          0x3E0
+        nreloc:          7
+        flags:           0x2000000
+        reserved1:       0x0
+        reserved2:       0x0
+        reserved3:       0x0
+        content:         '000000000000000004000000000000420000000000000000000000000000000000000000000000000400000000000003000000000000000000000000000000000000000000000000040000000000000300000000000000000000000000000000'
+        relocations:
+          - address:         0x0
+            symbolnum:       0
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x18
+            symbolnum:       4
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x10
+            symbolnum:       13
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x20
+            symbolnum:       2
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x38
+            symbolnum:       5
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x40
+            symbolnum:       3
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+          - address:         0x58
+            symbolnum:       6
+            pcrel:           false
+            length:          3
+            extern:          true
+            type:            0
+            scattered:       false
+            value:           0
+  - cmd:             LC_SYMTAB
+    cmdsize:         24
+    symoff:          1048
+    nsyms:           14
+    stroff:          1272
+    strsize:         144
+  - cmd:             LC_BUILD_VERSION
+    cmdsize:         32
+    platform:        1
+    minos:           720896
+    sdk:             0
+    ntools:          1
+    Tools:
+      - tool:            3
+        version:         62718208
+  - cmd:             LC_DATA_IN_CODE
+    cmdsize:         16
+    dataoff:         1048
+    datasize:        0
+LinkEditData:
+  NameList:
+    - n_strx:          46
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         0
+    - n_strx:          49
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         4
+    - n_strx:          60
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         8
+    - n_strx:          63
+      n_type:          0xE
+      n_sect:          1
+      n_desc:          0
+      n_value:         12
+    - n_strx:          66
+      n_type:          0xE
+      n_sect:          2
+      n_desc:          0
+      n_value:         24
+    - n_strx:          84
+      n_type:          0xE
+      n_sect:          2
+      n_desc:          0
+      n_value:         25
+    - n_strx:          102
+      n_type:          0xE
+      n_sect:          3
+      n_desc:          0
+      n_value:         26
+    - n_strx:          123
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         32
+    - n_strx:          133
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         60
+    - n_strx:          123
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         104
+    - n_strx:          133
+      n_type:          0xE
+      n_sect:          4
+      n_desc:          0
+      n_value:         132
+    - n_strx:          2
+      n_type:          0xF
+      n_sect:          1
+      n_desc:          0
+      n_value:         20
+    - n_strx:          8
+      n_type:          0xF
+      n_sect:          1
+      n_desc:          0
+      n_value:         16
+    - n_strx:          24
+      n_type:          0x1
+      n_sect:          0
+      n_desc:          0
+      n_value:         0
+  StringTable:
+    - ' '
+    - _main
+    - _my_personality
+    - ___gxx_personality_v0
+    - _f
+    - _no_unwind
+    - _g
+    - _h
+    - GCC_except_table0
+    - GCC_except_table1
+    - custom_except_table2
+    - EH_Frame1
+    - func.eh
+    - ''
+    - ''
+    - ''
+...


        


More information about the llvm-commits mailing list