brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · d773e67 Raw
126 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o3# RUN: %lld -o %t %t.o4# RUN: llvm-readobj --section-headers --macho-segment %t | FileCheck %s5 6## Check that __bss takes up zero file size, is at file offset zero, and appears7## at the end of its segment. Also check that __tbss is placed immediately8## before it.9## Zerofill sections in other segments (i.e. not __DATA) should also be placed10## at the end.11 12# CHECK:        Index: 113# CHECK-NEXT:   Name: __data14# CHECK-NEXT:   Segment: __DATA15# CHECK-NEXT:   Address:16# CHECK-NEXT:   Size: 0x817# CHECK-NEXT:   Offset: 409618# CHECK-NEXT:   Alignment: 019# CHECK-NEXT:   RelocationOffset: 0x020# CHECK-NEXT:   RelocationCount: 021# CHECK-NEXT:   Type: Regular (0x0)22# CHECK-NEXT:   Attributes [ (0x0)23# CHECK-NEXT:   ]24# CHECK-NEXT:   Reserved1: 0x025# CHECK-NEXT:   Reserved2: 0x026# CHECK-NEXT:   Reserved3: 0x027 28# CHECK:        Index: 229# CHECK-NEXT:   Name: __thread_bss30# CHECK-NEXT:   Segment: __DATA31# CHECK-NEXT:   Address:32# CHECK-NEXT:   Size: 0x433# CHECK-NEXT:   Offset: 034# CHECK-NEXT:   Alignment: 035# CHECK-NEXT:   RelocationOffset: 0x036# CHECK-NEXT:   RelocationCount: 037# CHECK-NEXT:   Type: ThreadLocalZerofill (0x12)38# CHECK-NEXT:   Attributes [ (0x0)39# CHECK-NEXT:   ]40# CHECK-NEXT:   Reserved1: 0x041# CHECK-NEXT:   Reserved2: 0x042# CHECK-NEXT:   Reserved3: 0x043 44# CHECK:        Index: 345# CHECK-NEXT:   Name: __bss46# CHECK-NEXT:   Segment: __DATA47# CHECK-NEXT:   Address:48# CHECK-NEXT:   Size: 0x1000049# CHECK-NEXT:   Offset: 050# CHECK-NEXT:   Alignment: 051# CHECK-NEXT:   RelocationOffset: 0x052# CHECK-NEXT:   RelocationCount: 053# CHECK-NEXT:   Type: ZeroFill (0x1)54# CHECK-NEXT:   Attributes [ (0x0)55# CHECK-NEXT:   ]56# CHECK-NEXT:   Reserved1: 0x057# CHECK-NEXT:   Reserved2: 0x058# CHECK-NEXT:   Reserved3: 0x059 60# CHECK:        Index: 461# CHECK-NEXT:   Name: foo62# CHECK-NEXT:   Segment: FOO63# CHECK-NEXT:   Address:64# CHECK-NEXT:   Size: 0x865# CHECK-NEXT:   Offset: 819266# CHECK-NEXT:   Alignment: 067# CHECK-NEXT:   RelocationOffset: 0x068# CHECK-NEXT:   RelocationCount: 069# CHECK-NEXT:   Type: Regular (0x0)70# CHECK-NEXT:   Attributes [ (0x0)71# CHECK-NEXT:   ]72# CHECK-NEXT:   Reserved1: 0x073# CHECK-NEXT:   Reserved2: 0x074# CHECK-NEXT:   Reserved3: 0x075 76# CHECK:        Index: 577# CHECK-NEXT:   Name: bss78# CHECK-NEXT:   Segment: FOO79# CHECK-NEXT:   Address:80# CHECK-NEXT:   Size: 0x881# CHECK-NEXT:   Offset: 082# CHECK-NEXT:   Alignment: 083# CHECK-NEXT:   RelocationOffset: 0x084# CHECK-NEXT:   RelocationCount: 085# CHECK-NEXT:   Type: ZeroFill (0x1)86# CHECK-NEXT:   Attributes [ (0x0)87# CHECK-NEXT:   ]88# CHECK-NEXT:   Reserved1: 0x089# CHECK-NEXT:   Reserved2: 0x090# CHECK-NEXT:   Reserved3: 0x091 92# CHECK:      Name: __DATA93# CHECK-NEXT: Size:94# CHECK-NEXT: vmaddr:95# CHECK-NEXT: vmsize: 0x1100096# CHECK-NEXT: fileoff:97# CHECK-NEXT: filesize: 409698 99# CHECK:      Name: FOO100# CHECK-NEXT: Size:101# CHECK-NEXT: vmaddr:102# CHECK-NEXT: vmsize: 0x9000103# CHECK-NEXT: fileoff:104# CHECK-NEXT: filesize: 4096105 106.globl _main107 108.text109_main:110  movq $0, %rax111  retq112 113.bss114.zero 0x8000115 116.tbss _foo, 4117.zero 0x8000118 119.data120.quad 0x1234121 122.zerofill FOO,bss,_zero_foo,0x8000123 124.section FOO,foo125.quad 123126