llvm-project/llvm/test/tools/llvm-objcopy/MachO/dump-section-before-add-remove.test
Sameer Arora 12e5b02687 [llvm-objcopy] Reorder --dump-section for MachO
Reorder `DumpSection` under `handleArgs` in file `MachOObjcopy.cpp`. The
operation to dump a section is now performed before both add and remove
section operations for MachO file format.

Change for the ELF format at D81097. Together fixes
https://bugs.llvm.org/show_bug.cgi?id=44283

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D81123
2020-06-05 10:49:22 -07:00

63 lines
1.7 KiB
Plaintext

# RUN: yaml2obj %s -o %t
## Verify that section is dumped before it is removed.
# RUN: llvm-objcopy --dump-section __TEXT,__text=%t1.dump --remove-section __TEXT,__text %t %t1
# RUN: FileCheck %s --input-file=%t1.dump --check-prefix=CONTENTS --implicit-check-not={{.}}
# CONTENTS: abcd
## Verify that the newly added section is not dumped.
# RUN: echo CAFE > %t2.txt
# RUN: not llvm-objcopy --dump-section __TEXT,__const=%t2.dump --add-section __TEXT,__const=%t2.txt %t %t2 2>&1 | \
# RUN: FileCheck %s --check-prefix=NODUMP -DINPUT=%t
# NODUMP: error: '[[INPUT]]': section '__TEXT,__const' not found
--- !mach-o
FileHeader:
magic: 0xFEEDFACF
cputype: 0x01000007
cpusubtype: 0x00000003
filetype: 0x00000001
ncmds: 1
sizeofcmds: 312
flags: 0x00002000
reserved: 0x00000000
LoadCommands:
- cmd: LC_SEGMENT_64
cmdsize: 312
segname: ''
vmaddr: 0
vmsize: 12
fileoff: 344
filesize: 12
maxprot: 7
initprot: 7
nsects: 3
flags: 0
Sections:
- sectname: __text
segname: __TEXT
addr: 0x0000000000000000
content: '61626364'
size: 4
offset: 344
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x80000400
reserved1: 0x00000000
reserved2: 0x00000000
- sectname: __data
segname: __DATA
addr: 0x0000000000000004
content: 'EEFFEEFF'
size: 4
offset: 348
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x00000000
reserved1: 0x00000000
reserved2: 0x00000000