brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · 628d985 Raw
115 lines · plain
1## Show that llvm-objcopy adds a new section into a 32-bit object file if2## --add-section is given.3 4# RUN: yaml2obj %s -o %t5# RUN: echo -n abcdefg > %t.data6 7## Case 1: Add a new section into an existing segment.8# RUN: llvm-objcopy --add-section __TEXT,__bar=%t.data %t %t.out19# RUN: llvm-readobj --sections --section-data %t.out1 \10# RUN:   | FileCheck %s --check-prefixes=COMMON,CASE111 12## Case 2: Add a new section into a nonexistent segment.13# RUN: llvm-objcopy --add-section __FOO,__bar=%t.data %t %t.out214# RUN: llvm-readobj --sections --section-data %t.out2 \15# RUN:   | FileCheck %s --check-prefixes=COMMON,CASE216 17## Case 3: Add a new section into an existing segment using /dev/null as an input.18# RUN: llvm-objcopy --add-section __TEXT,__bar=/dev/null %t %t.out319# RUN: llvm-readobj --sections --section-data %t.out3 \20# RUN:   | FileCheck %s --check-prefixes=COMMON,CASE321 22--- !mach-o23FileHeader:24  magic:           0xFEEDFACE25  cputype:         0x0000000726  cpusubtype:      0x0000000327  filetype:        0x0000000128  ncmds:           129  sizeofcmds:      12430  flags:           0x0000200031LoadCommands:32  - cmd:             LC_SEGMENT33    cmdsize:         12434    segname:         __TEXT35    vmaddr:          036    vmsize:          437    fileoff:         18438    filesize:        439    maxprot:         740    initprot:        741    nsects:          142    flags:           043    Sections:44      - sectname:        __text45        segname:         __TEXT46        addr:            0x000000000000000047        content:         'AABBCCDD'48        size:            449        offset:          18450        align:           051        reloff:          0x0000000052        nreloc:          053        flags:           0x8000040054        reserved1:       0x0000000055        reserved2:       0x0000000056        reserved3:       0x0000000057 58# COMMON:         Index: 059# COMMON-NEXT:    Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)60# COMMON-NEXT:    Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)61# COMMON-NEXT:    Address: 0x062# COMMON-NEXT:    Size: 0x463# COMMON-NEXT:    Offset:64# COMMON-NEXT:    Alignment: 065# COMMON-NEXT:    RelocationOffset: 0x066# COMMON-NEXT:    RelocationCount: 067# COMMON-NEXT:    Type: Regular (0x0)68# COMMON-NEXT:    Attributes [ (0x800004)69# COMMON-NEXT:      PureInstructions (0x800000)70# COMMON-NEXT:      SomeInstructions (0x4)71# COMMON-NEXT:    ]72# COMMON-NEXT:    Reserved1: 0x073# COMMON-NEXT:    Reserved2: 0x074# COMMON-NEXT:    SectionData (75# COMMON-NEXT:      0000: AABBCCDD                             |....|76# COMMON-NEXT:    )77 78# COMMON:         Index: 179# COMMON-NEXT:    Name: __bar (5F 5F 62 61 72 00 00 00 00 00 00 00 00 00 00 00)80 81# CASE1-NEXT:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)82# CASE1-NEXT:     Address: 0x483# CASE1-NEXT:     Size: 0x784# CASE1-NEXT:     Offset: 22485 86# CASE2-NEXT:     Segment: __FOO (5F 5F 46 4F 4F 00 00 00 00 00 00 00 00 00 00 00)87# CASE2-NEXT:     Address: 0x9888# CASE2-NEXT:     Size: 0x789# CASE2-NEXT:     Offset: 28090 91# CASE3-NEXT:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)92# CASE3-NEXT:     Address: 0x493# CASE3-NEXT:     Size: 0x094# CASE3-NEXT:     Offset: 22495 96# COMMON-NEXT:    Alignment: 097# COMMON-NEXT:    RelocationOffset: 0x098# COMMON-NEXT:    RelocationCount: 099# COMMON-NEXT:    Type: Regular (0x0)100# COMMON-NEXT:    Attributes [ (0x0)101# COMMON-NEXT:    ]102# COMMON-NEXT:    Reserved1: 0x0103# COMMON-NEXT:    Reserved2: 0x0104 105# CASE1-NEXT:     SectionData (106# CASE1-NEXT:       0000: 61626364 656667                      |abcdefg|107# CASE1-NEXT:     )108 109# CASE2-NEXT:     SectionData (110# CASE2-NEXT:       0000: 61626364 656667                      |abcdefg|111# CASE2-NEXT:     )112 113# CASE3-NEXT:     SectionData (114# CASE3-NEXT:     )115