1ef762f26SRafael Espindola// REQUIRES: x86 2ef762f26SRafael Espindola// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3ef762f26SRafael Espindola// RUN: ld.lld %t -o %tout 4b159906aSFangrui Song// RUN: llvm-readobj -l %tout | FileCheck %s 5ef762f26SRafael Espindola 6ef762f26SRafael Espindola.global _start 7ef762f26SRafael Espindola_start: 8ef762f26SRafael Espindola retq 9ef762f26SRafael Espindola 10ef762f26SRafael Espindola.section .tbss,"awT",@nobits 11ef762f26SRafael Espindola .zero 4 12ef762f26SRafael Espindola// FIXME: Test that we don't create unecessary empty PT_LOAD and PT_GNU_RELRO 13ef762f26SRafael Espindola// for the .tbss section. 14ef762f26SRafael Espindola 15ef762f26SRafael Espindola// CHECK: ProgramHeaders [ 16ef762f26SRafael Espindola// CHECK-NEXT: ProgramHeader { 17ef762f26SRafael Espindola// CHECK-NEXT: Type: PT_PHDR (0x6) 18ef762f26SRafael Espindola// CHECK-NEXT: Offset: 0x40 198fd0196cSEd Maste// CHECK-NEXT: VirtualAddress: 0x200040 208fd0196cSEd Maste// CHECK-NEXT: PhysicalAddress: 0x200040 21ef762f26SRafael Espindola// CHECK-NEXT: FileSize: 280 22ef762f26SRafael Espindola// CHECK-NEXT: MemSize: 280 23ef762f26SRafael Espindola// CHECK-NEXT: Flags [ (0x4) 24ef762f26SRafael Espindola// CHECK-NEXT: PF_R (0x4) 25ef762f26SRafael Espindola// CHECK-NEXT: ] 26ef762f26SRafael Espindola// CHECK-NEXT: Alignment: 8 27ef762f26SRafael Espindola// CHECK-NEXT: } 28ef762f26SRafael Espindola// CHECK-NEXT: ProgramHeader { 29ef762f26SRafael Espindola// CHECK-NEXT: Type: PT_LOAD (0x1) 30ef762f26SRafael Espindola// CHECK-NEXT: Offset: 0x0 318fd0196cSEd Maste// CHECK-NEXT: VirtualAddress: 0x200000 328fd0196cSEd Maste// CHECK-NEXT: PhysicalAddress: 0x200000 33ef762f26SRafael Espindola// CHECK-NEXT: FileSize: 344 34ef762f26SRafael Espindola// CHECK-NEXT: MemSize: 344 35ef762f26SRafael Espindola// CHECK-NEXT: Flags [ (0x4) 36ef762f26SRafael Espindola// CHECK-NEXT: PF_R (0x4) 37ef762f26SRafael Espindola// CHECK-NEXT: ] 38ef762f26SRafael Espindola// CHECK-NEXT: Alignment: 4096 39ef762f26SRafael Espindola// CHECK-NEXT: } 40ef762f26SRafael Espindola// CHECK-NEXT: ProgramHeader { 41ef762f26SRafael Espindola// CHECK-NEXT: Type: PT_LOAD (0x1) 42*d4306e90SFangrui Song// CHECK-NEXT: Offset: 0x158 43*d4306e90SFangrui Song// CHECK-NEXT: VirtualAddress: 0x201158 44*d4306e90SFangrui Song// CHECK-NEXT: PhysicalAddress: 0x201158 455391f158SFangrui Song// CHECK-NEXT: FileSize: 1 465391f158SFangrui Song// CHECK-NEXT: MemSize: 1 47ef762f26SRafael Espindola// CHECK-NEXT: Flags [ (0x5) 48ef762f26SRafael Espindola// CHECK-NEXT: PF_R (0x4) 49ef762f26SRafael Espindola// CHECK-NEXT: PF_X (0x1) 50ef762f26SRafael Espindola// CHECK-NEXT: ] 51ef762f26SRafael Espindola// CHECK-NEXT: Alignment: 4096 52ef762f26SRafael Espindola// CHECK-NEXT: } 53ef762f26SRafael Espindola// CHECK-NEXT: ProgramHeader { 54ef762f26SRafael Espindola// CHECK-NEXT: Type: PT_TLS (0x7) 55*d4306e90SFangrui Song// CHECK-NEXT: Offset: 0x159 56*d4306e90SFangrui Song// CHECK-NEXT: VirtualAddress: 0x201159 57*d4306e90SFangrui Song// CHECK-NEXT: PhysicalAddress: 0x201159 58ef762f26SRafael Espindola// CHECK-NEXT: FileSize: 0 59ef762f26SRafael Espindola// CHECK-NEXT: MemSize: 4 60ef762f26SRafael Espindola// CHECK-NEXT: Flags [ (0x4) 61ef762f26SRafael Espindola// CHECK-NEXT: PF_R (0x4) 62ef762f26SRafael Espindola// CHECK-NEXT: ] 63ef762f26SRafael Espindola// CHECK-NEXT: Alignment: 1 64ef762f26SRafael Espindola// CHECK-NEXT: } 65ef762f26SRafael Espindola// CHECK-NEXT: ProgramHeader { 66ef762f26SRafael Espindola// CHECK-NEXT: Type: PT_GNU_STACK (0x6474E551) 67ef762f26SRafael Espindola// CHECK-NEXT: Offset: 0x0 68ef762f26SRafael Espindola// CHECK-NEXT: VirtualAddress: 0x0 69ef762f26SRafael Espindola// CHECK-NEXT: PhysicalAddress: 0x0 70ef762f26SRafael Espindola// CHECK-NEXT: FileSize: 0 71ef762f26SRafael Espindola// CHECK-NEXT: MemSize: 0 72ef762f26SRafael Espindola// CHECK-NEXT: Flags [ (0x6) 73ef762f26SRafael Espindola// CHECK-NEXT: PF_R (0x4) 74ef762f26SRafael Espindola// CHECK-NEXT: PF_W (0x2) 75ef762f26SRafael Espindola// CHECK-NEXT: ] 76ef762f26SRafael Espindola// CHECK-NEXT: Alignment: 0 77ef762f26SRafael Espindola// CHECK-NEXT: } 78ef762f26SRafael Espindola// CHECK-NEXT: ] 79