aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/ObjectYAML/MachO
diff options
context:
space:
mode:
authorVincent Lee <leevince@fb.com>2021-11-22 19:56:56 -0800
committerVincent Lee <leevince@fb.com>2021-11-30 16:15:33 -0800
commitb83a4222b1ab5f4ddab19d83995a43646af56bfe (patch)
treea6dee7a1c6e9939261f1434318e2a9c37ee26e05 /llvm/test/ObjectYAML/MachO
parent41a681ce096d7abcf5cb867bd6ec06ac5e8d948f (diff)
downloadllvm-b83a4222b1ab5f4ddab19d83995a43646af56bfe.zip
llvm-b83a4222b1ab5f4ddab19d83995a43646af56bfe.tar.gz
llvm-b83a4222b1ab5f4ddab19d83995a43646af56bfe.tar.bz2
[ObjectYAML/obj2yaml/yaml2obj][MachO] Support indirect symbol table
Tools such as `llvm-objdump` or `llvm-readobj` support indirect symbol tables. Here, support it for `obj2yaml` and `yaml2obj`. Reviewed By: jhenderson, drodriguez Differential Revision: https://reviews.llvm.org/D114410
Diffstat (limited to 'llvm/test/ObjectYAML/MachO')
-rw-r--r--llvm/test/ObjectYAML/MachO/dsymtab.yaml259
1 files changed, 259 insertions, 0 deletions
diff --git a/llvm/test/ObjectYAML/MachO/dsymtab.yaml b/llvm/test/ObjectYAML/MachO/dsymtab.yaml
new file mode 100644
index 0000000..2b993d4
--- /dev/null
+++ b/llvm/test/ObjectYAML/MachO/dsymtab.yaml
@@ -0,0 +1,259 @@
+# RUN: yaml2obj %s | obj2yaml | FileCheck %s
+
+--- !mach-o
+FileHeader:
+ magic: 0xFEEDFACF
+ cputype: 0x1000007
+ cpusubtype: 0x3
+ filetype: 0x2
+ ncmds: 16
+ sizeofcmds: 1368
+ flags: 0x200085
+ reserved: 0x0
+LoadCommands:
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: __PAGEZERO
+ vmaddr: 0
+ vmsize: 4294967296
+ fileoff: 0
+ filesize: 0
+ maxprot: 0
+ initprot: 0
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 472
+ segname: __TEXT
+ vmaddr: 4294967296
+ vmsize: 16384
+ fileoff: 0
+ filesize: 16384
+ maxprot: 5
+ initprot: 5
+ nsects: 5
+ flags: 0
+ Sections:
+ - sectname: __text
+ segname: __TEXT
+ addr: 0x100003F60
+ size: 37
+ offset: 0x3F60
+ align: 4
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x80000400
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 554889E54883EC10C745FC00000000488D3D30000000B000E80900000031C04883C4105DC3
+ - sectname: __stubs
+ segname: __TEXT
+ addr: 0x100003F86
+ size: 6
+ offset: 0x3F86
+ align: 1
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x80000408
+ reserved1: 0x0
+ reserved2: 0x6
+ reserved3: 0x0
+ content: FF2574400000
+ - sectname: __stub_helper
+ segname: __TEXT
+ addr: 0x100003F8C
+ size: 26
+ offset: 0x3F8C
+ align: 2
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x80000400
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 4C8D1D754000004153FF2565000000906800000000E9E6FFFFFF
+ - sectname: __cstring
+ segname: __TEXT
+ addr: 0x100003FA6
+ size: 13
+ offset: 0x3FA6
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x2
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 68656C6C6F20776F726C640A00
+ - sectname: __unwind_info
+ segname: __TEXT
+ addr: 0x100003FB4
+ size: 72
+ offset: 0x3FB4
+ align: 2
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 010000001C000000000000001C000000000000001C00000002000000603F00003400000034000000863F00000000000034000000030000000C000100100001000000000000000001
+ - cmd: LC_SEGMENT_64
+ cmdsize: 152
+ segname: __DATA_CONST
+ vmaddr: 4294983680
+ vmsize: 16384
+ fileoff: 16384
+ filesize: 16384
+ maxprot: 3
+ initprot: 3
+ nsects: 1
+ flags: 16
+ Sections:
+ - sectname: __got
+ segname: __DATA_CONST
+ addr: 0x100004000
+ size: 8
+ offset: 0x4000
+ align: 3
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x6
+ reserved1: 0x1
+ reserved2: 0x0
+ reserved3: 0x0
+ content: '0000000000000000'
+ - cmd: LC_SEGMENT_64
+ cmdsize: 232
+ segname: __DATA
+ vmaddr: 4295000064
+ vmsize: 16384
+ fileoff: 32768
+ filesize: 16384
+ maxprot: 3
+ initprot: 3
+ nsects: 2
+ flags: 0
+ Sections:
+ - sectname: __la_symbol_ptr
+ segname: __DATA
+ addr: 0x100008000
+ size: 8
+ offset: 0x8000
+ align: 3
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x7
+ reserved1: 0x2
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 9C3F000001000000
+ - sectname: __data
+ segname: __DATA
+ addr: 0x100008008
+ size: 8
+ offset: 0x8008
+ align: 3
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: '0000000000000000'
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: __LINKEDIT
+ vmaddr: 4295016448
+ vmsize: 16384
+ fileoff: 49152
+ filesize: 272
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_DYLD_INFO_ONLY
+ cmdsize: 48
+ rebase_off: 49152
+ rebase_size: 8
+ bind_off: 49160
+ bind_size: 24
+ weak_bind_off: 0
+ weak_bind_size: 0
+ lazy_bind_off: 49184
+ lazy_bind_size: 16
+ export_off: 49200
+ export_size: 48
+ - cmd: LC_SYMTAB
+ cmdsize: 24
+ symoff: 49256
+ nsyms: 5
+ stroff: 49352
+ strsize: 72
+ - cmd: LC_DYSYMTAB
+ cmdsize: 80
+ ilocalsym: 0
+ nlocalsym: 1
+ iextdefsym: 1
+ nextdefsym: 2
+ iundefsym: 3
+ nundefsym: 2
+ tocoff: 0
+ ntoc: 0
+ modtaboff: 0
+ nmodtab: 0
+ extrefsymoff: 0
+ nextrefsyms: 0
+ indirectsymoff: 49336
+ nindirectsyms: 3
+ extreloff: 0
+ nextrel: 0
+ locreloff: 0
+ nlocrel: 0
+ - cmd: LC_LOAD_DYLINKER
+ cmdsize: 32
+ name: 12
+ Content: '/usr/lib/dyld'
+ ZeroPadBytes: 7
+ - cmd: LC_UUID
+ cmdsize: 24
+ uuid: FF5FAB50-C79A-3B66-AD3A-DE2F26398050
+ - cmd: LC_BUILD_VERSION
+ cmdsize: 32
+ platform: 1
+ minos: 720896
+ sdk: 721664
+ ntools: 1
+ Tools:
+ - tool: 3
+ version: 46596096
+ - cmd: LC_SOURCE_VERSION
+ cmdsize: 16
+ version: 0
+ - cmd: LC_MAIN
+ cmdsize: 24
+ entryoff: 16224
+ stacksize: 0
+ - cmd: LC_LOAD_DYLIB
+ cmdsize: 56
+ dylib:
+ name: 24
+ timestamp: 2
+ current_version: 84698117
+ compatibility_version: 65536
+ Content: '/usr/lib/libSystem.B.dylib'
+ ZeroPadBytes: 6
+ - cmd: LC_FUNCTION_STARTS
+ cmdsize: 16
+ dataoff: 49248
+ datasize: 8
+ - cmd: LC_DATA_IN_CODE
+ cmdsize: 16
+ dataoff: 49256
+ datasize: 0
+LinkEditData:
+ IndirectSymbols: [ 0x3, 0x4, 0x3 ]
+...
+
+#CHECK: IndirectSymbols: [ 0x3, 0x4, 0x3 ]