relocatable-bss.s 1.15 KB
# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o
# RUN: ld.lld -r %t1.o -o %t
# RUN: llvm-readobj --file-headers --sections -l --symbols -r %t | FileCheck %s

## We check here that .bss does not occupy the space in file.
## If it would, the SectionHeaderOffset would have offset about 5 megabytes.
# CHECK:       ElfHeader {
# CHECK-NEXT:  Ident {
# CHECK-NEXT:    Magic: (7F 45 4C 46)
# CHECK-NEXT:    Class: 64-bit
# CHECK-NEXT:    DataEncoding: LittleEndian
# CHECK-NEXT:    FileVersion: 1
# CHECK-NEXT:    OS/ABI: SystemV
# CHECK-NEXT:    ABIVersion: 0
# CHECK-NEXT:    Unused: (00 00 00 00 00 00 00)
# CHECK-NEXT:  }
# CHECK-NEXT:  Type: Relocatable
# CHECK-NEXT:  Machine: EM_X86_64
# CHECK-NEXT:  Version:
# CHECK-NEXT:  Entry:
# CHECK-NEXT:   ProgramHeaderOffset:
# CHECK-NEXT:   SectionHeaderOffset: 0xE8
# CHECK-NEXT:  Flags [
# CHECK-NEXT:  ]
# CHECK-NEXT:  HeaderSize:
# CHECK-NEXT:  ProgramHeaderEntrySize:
# CHECK-NEXT:  ProgramHeaderCount:
# CHECK-NEXT:  SectionHeaderEntrySize:
# CHECK-NEXT:  SectionHeaderCount:
# CHECK-NEXT:  StringTableSectionIndex:
# CHECK-NEXT:  }

.text
.globl _start
_start:
 nop

.bss
 .space 5242880