155c81d42SFangrui Song# RUN: yaml2obj %s -o %t 26e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy -O binary -j .text %t %t2 3298ea3f5SJordan Rupprecht# RUN: llvm-objcopy -O binary --only-section .text %t %t3 46e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy --dump-section .text=%t4 %t %t5 56e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy --dump-section .foo=%t6 %t %t7 6ada9d2d8SSeiya Nuta# RUN: not llvm-objcopy --dump-section .bar=%t8 %t %t9 2>&1 | FileCheck %s --check-prefix=NOBITS -DINPUT=%t 71562e455SJames Henderson# RUN: llvm-objcopy --dump-section .text=%t10 --dump-section .foo=%t11 %t /dev/null 832b19334SFangrui Song# RUN: llvm-objcopy --dump-section .empty=%t.empty %t /dev/null 942b7cd58SKai Nacke# RUN: od -t x1 %t2 | FileCheck %s --ignore-case 1042b7cd58SKai Nacke# RUN: od -t x1 %t6 | FileCheck %s --ignore-case --check-prefix=NON-ALLOC 116e4dc6f2SAlexander Shaposhnikov# RUN: wc -c %t2 | FileCheck %s --check-prefix=SIZE 1232b19334SFangrui Song# RUN: wc -c %t.empty | FileCheck %s --check-prefix=EMPTY 136e4dc6f2SAlexander Shaposhnikov# RUN: diff %t2 %t3 146e4dc6f2SAlexander Shaposhnikov# RUN: diff %t4 %t3 151562e455SJames Henderson# RUN: diff %t10 %t3 161562e455SJames Henderson# RUN: diff %t11 %t6 176e4dc6f2SAlexander Shaposhnikov 186e4dc6f2SAlexander Shaposhnikov!ELF 196e4dc6f2SAlexander ShaposhnikovFileHeader: 206e4dc6f2SAlexander Shaposhnikov Class: ELFCLASS64 216e4dc6f2SAlexander Shaposhnikov Data: ELFDATA2LSB 226e4dc6f2SAlexander Shaposhnikov Type: ET_EXEC 236e4dc6f2SAlexander Shaposhnikov Machine: EM_X86_64 246e4dc6f2SAlexander ShaposhnikovSections: 256e4dc6f2SAlexander Shaposhnikov - Name: .text 266e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 276e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 286e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x0000000000001000 296e4dc6f2SAlexander Shaposhnikov Content: "DEADBEEF" 306e4dc6f2SAlexander Shaposhnikov - Name: .foo 316e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 326e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_WRITE ] 336e4dc6f2SAlexander Shaposhnikov Content: "CAFE" 3432b19334SFangrui Song - Name: .empty 3532b19334SFangrui Song Type: SHT_PROGBITS 3632b19334SFangrui Song Flags: [ SHF_ALLOC ] 376e4dc6f2SAlexander Shaposhnikov - Name: .bar 386e4dc6f2SAlexander Shaposhnikov Type: SHT_NOBITS 396e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_WRITE ] 406e4dc6f2SAlexander ShaposhnikovProgramHeaders: 416e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 426e4dc6f2SAlexander Shaposhnikov Flags: [ PF_X, PF_R ] 43a7a447beSGeorgii Rymar FirstSec: .text 44a7a447beSGeorgii Rymar LastSec: .text 456e4dc6f2SAlexander Shaposhnikov 466e4dc6f2SAlexander Shaposhnikov# CHECK: 0000000 de ad be ef 476e4dc6f2SAlexander Shaposhnikov 486e4dc6f2SAlexander Shaposhnikov# NON-ALLOC: 0000000 ca fe 496e4dc6f2SAlexander Shaposhnikov 506e4dc6f2SAlexander Shaposhnikov# SIZE: 4 516e4dc6f2SAlexander Shaposhnikov 52ada9d2d8SSeiya Nuta# NOBITS: error: '[[INPUT]]': cannot dump section '.bar': it has no contents 5332b19334SFangrui Song 5432b19334SFangrui Song# EMPTY: 0 551562e455SJames Henderson 561562e455SJames Henderson# RUN: not llvm-objcopy --dump-section =/dev/null %t /dev/null 2>&1 | \ 571562e455SJames Henderson# RUN: FileCheck %s --check-prefix=ERR -DFILE=%t "-DSECTION=" 581562e455SJames Henderson# RUN: not llvm-objcopy --dump-section .missing=/dev/null %t /dev/null 2>&1 | \ 591562e455SJames Henderson# RUN: FileCheck %s --check-prefix=ERR -DFILE=%t -DSECTION=.missing 601562e455SJames Henderson 611562e455SJames Henderson# ERR: error: '[[FILE]]': section '[[SECTION]]' not found 62*96f3a630SFangrui Song 63*96f3a630SFangrui Song# RUN: not llvm-objcopy --dump-section .text %t /dev/null 2>&1 | FileCheck %s --check-prefix=ERR2 64*96f3a630SFangrui Song# RUN: not llvm-objcopy --dump-section .text= %t /dev/null 2>&1 | FileCheck %s --check-prefix=ERR2 65*96f3a630SFangrui Song 66*96f3a630SFangrui Song# ERR2: error: bad format for --dump-section, expected section=file 67