summaryrefslogtreecommitdiffstats
path: root/llvm/test/ObjectYAML/MachO
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2016-05-18 16:17:23 +0000
committerChris Bieneman <beanz@apple.com>2016-05-18 16:17:23 +0000
commit2de17d49dd0fef25849c7c4b0843dbef8a0062e3 (patch)
tree42401a5108c103c569169d0c66cf241c0cdb01b2 /llvm/test/ObjectYAML/MachO
parent5a6d2985d747223350f93274187be97e3073c1e4 (diff)
downloadbcm5719-llvm-2de17d49dd0fef25849c7c4b0843dbef8a0062e3.tar.gz
bcm5719-llvm-2de17d49dd0fef25849c7c4b0843dbef8a0062e3.zip
Re-apply: [obj2yaml] [yaml2obj] Support MachO section and section_64
This re-applies r269845, r269846, and r269850 with an included fix for a crash reported by zturner. llvm-svn: 269953
Diffstat (limited to 'llvm/test/ObjectYAML/MachO')
-rw-r--r--llvm/test/ObjectYAML/MachO/load_commands.yaml12
-rw-r--r--llvm/test/ObjectYAML/MachO/sections.yaml284
2 files changed, 292 insertions, 4 deletions
diff --git a/llvm/test/ObjectYAML/MachO/load_commands.yaml b/llvm/test/ObjectYAML/MachO/load_commands.yaml
index b8b3407aa7a..6de6b3ce1a1 100644
--- a/llvm/test/ObjectYAML/MachO/load_commands.yaml
+++ b/llvm/test/ObjectYAML/MachO/load_commands.yaml
@@ -59,10 +59,12 @@ LoadCommands:
cmdsize: 48
rebase_off: 12288
rebase_size: 8
- bind_off: 96
+ bind_off: 12296
+ bind_size: 96
weak_bind_off: 0
weak_bind_size: 0
- lazy_bind_off: 624
+ lazy_bind_off: 12392
+ lazy_bind_size: 624
export_off: 13016
export_size: 48
- cmd: LC_SYMTAB
@@ -184,10 +186,12 @@ LoadCommands:
#CHECK: cmdsize: 48
#CHECK: rebase_off: 12288
#CHECK: rebase_size: 8
-#CHECK: bind_off: 96
+#CHECK: bind_off: 12296
+#CHECK: bind_size: 96
#CHECK: weak_bind_off: 0
#CHECK: weak_bind_size: 0
-#CHECK: lazy_bind_off: 624
+#CHECK: lazy_bind_off: 12392
+#CHECK: lazy_bind_size: 624
#CHECK: export_off: 13016
#CHECK: export_size: 48
#CHECK: - cmd: LC_SYMTAB
diff --git a/llvm/test/ObjectYAML/MachO/sections.yaml b/llvm/test/ObjectYAML/MachO/sections.yaml
new file mode 100644
index 00000000000..6e00a5883f1
--- /dev/null
+++ b/llvm/test/ObjectYAML/MachO/sections.yaml
@@ -0,0 +1,284 @@
+# RUN: yaml2obj -format=macho %s | obj2yaml | FileCheck %s
+
+--- !mach-o
+FileHeader:
+ magic: 0xFEEDFACF
+ cputype: 0x01000007
+ cpusubtype: 0x80000003
+ filetype: 0x00000002
+ ncmds: 16
+ sizeofcmds: 1408
+ flags: 0x00218085
+ reserved: 0x00000000
+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: 552
+ segname: __TEXT
+ vmaddr: 4294967296
+ vmsize: 8192
+ fileoff: 0
+ filesize: 8192
+ maxprot: 7
+ initprot: 5
+ nsects: 6
+ flags: 0
+ Sections:
+ - sectname: __text
+ segname: __TEXT
+ addr: 0x0000000100001160
+ size: 3099
+ offset: 0x00001160
+ align: 4
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x80000400
+ reserved1: 0x00000000
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - sectname: __stubs
+ segname: __TEXT
+ addr: 0x0000000100001D7C
+ size: 90
+ offset: 0x00001D7C
+ align: 1
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x80000408
+ reserved1: 0x00000000
+ reserved2: 0x00000006
+ reserved3: 0x00000000
+ - sectname: __stub_helper
+ segname: __TEXT
+ addr: 0x0000000100001DD8
+ size: 166
+ offset: 0x00001DD8
+ align: 2
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x80000400
+ reserved1: 0x00000000
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - sectname: __gcc_except_tab
+ segname: __TEXT
+ addr: 0x0000000100001E80
+ size: 240
+ offset: 0x00001E80
+ align: 2
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x00000000
+ reserved1: 0x00000000
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - sectname: __cstring
+ segname: __TEXT
+ addr: 0x0000000100001F70
+ size: 15
+ offset: 0x00001F70
+ align: 0
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x00000002
+ reserved1: 0x00000000
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - sectname: __unwind_info
+ segname: __TEXT
+ addr: 0x0000000100001F80
+ size: 120
+ offset: 0x00001F80
+ align: 2
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x00000000
+ reserved1: 0x00000000
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - cmd: LC_SEGMENT_64
+ cmdsize: 312
+ segname: __DATA
+ vmaddr: 4294975488
+ vmsize: 4096
+ fileoff: 8192
+ filesize: 4096
+ maxprot: 7
+ initprot: 3
+ nsects: 3
+ flags: 0
+ Sections:
+ - sectname: __got
+ segname: __DATA
+ addr: 0x0000000100002000
+ size: 24
+ offset: 0x00002000
+ align: 3
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x00000006
+ reserved1: 0x0000000F
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - sectname: __nl_symbol_ptr
+ segname: __DATA
+ addr: 0x0000000100002018
+ size: 16
+ offset: 0x00002018
+ align: 3
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x00000006
+ reserved1: 0x00000012
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - sectname: __la_symbol_ptr
+ segname: __DATA
+ addr: 0x0000000100002028
+ size: 120
+ offset: 0x00002028
+ align: 3
+ reloff: 0x00000000
+ nreloc: 0
+ flags: 0x00000007
+ reserved1: 0x00000014
+ reserved2: 0x00000000
+ reserved3: 0x00000000
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: __LINKEDIT
+ vmaddr: 4294979584
+ vmsize: 4096
+ fileoff: 12288
+ filesize: 2508
+ maxprot: 7
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_DYLD_INFO_ONLY
+ cmdsize: 48
+ rebase_off: 12288
+ rebase_size: 8
+ bind_off: 12296
+ bind_size: 96
+ weak_bind_off: 0
+ weak_bind_size: 0
+ lazy_bind_off: 12392
+ lazy_bind_size: 624
+ export_off: 13016
+ export_size: 48
+ - cmd: LC_SYMTAB
+ cmdsize: 24
+ symoff: 13080
+ nsyms: 30
+ stroff: 13700
+ strsize: 1096
+ - cmd: LC_DYSYMTAB
+ cmdsize: 80
+ ilocalsym: 0
+ nlocalsym: 9
+ iextdefsym: 9
+ nextdefsym: 2
+ iundefsym: 11
+ nundefsym: 19
+ tocoff: 0
+ ntoc: 0
+ modtaboff: 0
+ nmodtab: 0
+ extrefsymoff: 0
+ nextrefsyms: 0
+ indirectsymoff: 13560
+ nindirectsyms: 35
+ extreloff: 0
+ nextrel: 0
+ locreloff: 0
+ nlocrel: 0
+ - cmd: LC_LOAD_DYLINKER
+ cmdsize: 32
+ name: 12
+ - cmd: LC_UUID
+ cmdsize: 24
+ cmdsize: 24
+ uuid: 461A1B28-822F-3F38-B670-645419E636F5
+ - cmd: LC_VERSION_MIN_MACOSX
+ cmdsize: 16
+ version: 658176
+ sdk: 658176
+ - cmd: LC_SOURCE_VERSION
+ cmdsize: 16
+ version: 0
+ - cmd: LC_MAIN
+ cmdsize: 24
+ entryoff: 4448
+ stacksize: 0
+ - cmd: LC_LOAD_DYLIB
+ cmdsize: 48
+ dylib:
+ name: 24
+ timestamp: 2
+ current_version: 7864576
+ compatibility_version: 65536
+ - cmd: LC_LOAD_DYLIB
+ cmdsize: 56
+ dylib:
+ name: 24
+ timestamp: 2
+ current_version: 80349697
+ compatibility_version: 65536
+ - cmd: LC_FUNCTION_STARTS
+ cmdsize: 16
+ dataoff: 13064
+ datasize: 16
+ - cmd: LC_DATA_IN_CODE
+ cmdsize: 16
+ dataoff: 13080
+ datasize: 0
+...
+
+
+#CHECK: - cmd: LC_SEGMENT_64
+#CHECK: segname: __PAGEZERO
+#CHECK: - cmd: LC_SEGMENT_64
+#CHECK: segname: __TEXT
+#CHECK: Sections:
+#CHECK: - sectname: __text
+#CHECK: segname: __TEXT
+#CHECK: addr: 0x0000000100001160
+#CHECK: size: 3099
+#CHECK: offset: 0x00001160
+#CHECK: align: 4
+#CHECK: reloff: 0x00000000
+#CHECK: nreloc: 0
+#CHECK: flags: 0x80000400
+#CHECK: reserved1: 0x00000000
+#CHECK: reserved2: 0x00000000
+#CHECK: reserved3: 0x00000000
+#CHECK: - sectname: __stubs
+#CHECK: segname: __TEXT
+#CHECK: - sectname: __stub_helper
+#CHECK: segname: __TEXT
+#CHECK: - sectname: __gcc_except_tab
+#CHECK: segname: __TEXT
+#CHECK: - sectname: __cstring
+#CHECK: segname: __TEXT
+#CHECK: - sectname: __unwind_info
+#CHECK: segname: __TEXT
+#CHECK: - cmd: LC_SEGMENT_64
+#CHECK: segname: __DATA
+#CHECK: Sections:
+#CHECK: - sectname: __got
+#CHECK: segname: __DATA
+#CHECK: - sectname: __nl_symbol_ptr
+#CHECK: segname: __DATA
+#CHECK: - sectname: __la_symbol_ptr
+#CHECK: segname: __DATA
OpenPOWER on IntegriCloud