87 lines · plain
1## Show that llvm-objcopy extracts section contents into files specified by2## --dump-section.3 4# RUN: yaml2obj %s -o %t5 6## Extract section contents into files.7# RUN: llvm-objcopy --dump-section __TEXT,__text=%t.dump.text \8# RUN: --dump-section __DATA,__data=%t.dump.data %t9# RUN: od -t x1 %t.dump.text | FileCheck %s --check-prefix=TEXT-CONTENT10# RUN: wc -c %t.dump.text | FileCheck %s --check-prefix=TEXT-SIZE11# RUN: od -t x1 %t.dump.data | FileCheck %s --check-prefix=DATA-CONTENT12# RUN: wc -c %t.dump.data | FileCheck %s --check-prefix=DATA-SIZE13 14# TEXT-CONTENT: 0000000 aa bb cc dd15# TEXT-SIZE: 416# DATA-CONTENT: 0000000 ee ff ee ff17# DATA-SIZE: 418 19## Error case: A non-existent section name.20# RUN: not llvm-objcopy --dump-section __TEXT,__foo=%t.no-such-section %t 2>&1 \21# RUN: | FileCheck %s -DINPUT=%t --check-prefix=NO-SUCH-SECTION22# NO-SUCH-SECTION: error: '[[INPUT]]': section '__TEXT,__foo' not found23 24# RUN: not llvm-objcopy --dump-section __TEXT,__text=not_exists/text-section %t 2>&1 \25# RUN: | FileCheck -DMSG=%errc_ENOENT %s -DINPUT=%t --check-prefix=NO-SUCH-PATH26# NO-SUCH-PATH: error: 'not_exists/text-section': [[MSG]]27 28--- !mach-o29FileHeader:30 magic: 0xFEEDFACF31 cputype: 0x0100000732 cpusubtype: 0x0000000333 filetype: 0x0000000134 ncmds: 135 sizeofcmds: 31236 flags: 0x0000200037 reserved: 0x0000000038LoadCommands:39 - cmd: LC_SEGMENT_6440 cmdsize: 31241 segname: ''42 vmaddr: 043 vmsize: 1244 fileoff: 34445 filesize: 1246 maxprot: 747 initprot: 748 nsects: 349 flags: 050 Sections:51 - sectname: __text52 segname: __TEXT53 addr: 0x000000000000000054 content: 'AABBCCDD'55 size: 456 offset: 34457 align: 058 reloff: 0x0000000059 nreloc: 060 flags: 0x8000040061 reserved1: 0x0000000062 reserved2: 0x0000000063 - sectname: __data64 segname: __DATA65 addr: 0x000000000000000466 content: 'EEFFEEFF'67 size: 468 offset: 34869 align: 070 reloff: 0x0000000071 nreloc: 072 flags: 0x0000000073 reserved1: 0x0000000074 reserved2: 0x0000000075 - sectname: __const76 segname: __TEXT77 addr: 0x000000000000000878 content: 'EEFFEEFF'79 size: 480 offset: 35281 align: 082 reloff: 0x0000000083 nreloc: 084 flags: 0x0000000085 reserved1: 0x0000000086 reserved2: 0x0000000087