blob: 949a96e4f438202f0ba078ed5c29c3f5fc8fb70e [file] [log] [blame]
Fangrui Songeb75b8f2018-06-26 16:58:191# REQUIRES: x86
Michael J. Spencer2f008242015-09-17 19:58:072# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
Rafael Espindola9c8904f2015-11-18 06:11:013# RUN: ld.lld %t -o %t2
Michael J. Spencer879b5972015-09-17 21:19:564# RUN: llvm-readobj -sections -program-headers %t2 | FileCheck %s
Michael J. Spencer2f008242015-09-17 19:58:075
6# Check that different output sections with the same flags are merged into a
7# single Read/Write PT_LOAD.
8
9.section .r,"a"
10.globl _start
11_start:
12.quad 0
13
14.section .a,"aw"
15.quad 1
16
17.section .b,"aw"
18.quad 2
19
Michael J. Spencer879b5972015-09-17 21:19:5620# CHECK: Name: .r
21# CHECK-NEXT: Type: SHT_PROGBITS
22# CHECK-NEXT: Flags [
23# CHECK-NEXT: SHF_ALLOC
24# CHECK-NEXT: ]
25# CHECK-NEXT: Address:
Rui Ueyama7b19c342015-11-24 18:48:1626# CHECK-NEXT: Offset: 0x158
Michael J. Spencer879b5972015-09-17 21:19:5627# CHECK-NEXT: Size:
28# CHECK-NEXT: Link:
29# CHECK-NEXT: Info:
30# CHECK-NEXT: AddressAlignment:
31# CHECK-NEXT: EntrySize:
32# CHECK-NEXT: }
33
Michael J. Spencer2f008242015-09-17 19:58:0734# CHECK: ProgramHeaders [
35# CHECK-NEXT: ProgramHeader {
Rui Ueyamabf3fd7c2015-10-09 15:31:4936# CHECK-NEXT: Type: PT_PHDR (0x6)
37# CHECK-NEXT: Offset: 0x40
Ed Maste8fd01962016-11-23 17:44:0238# CHECK-NEXT: VirtualAddress: 0x200040
39# CHECK-NEXT: PhysicalAddress: 0x200040
Rui Ueyama7b19c342015-11-24 18:48:1640# CHECK-NEXT: FileSize: 280
41# CHECK-NEXT: MemSize: 280
Rui Ueyamabf3fd7c2015-10-09 15:31:4942# CHECK-NEXT: Flags [ (0x4)
43# CHECK-NEXT: PF_R (0x4)
44# CHECK-NEXT: ]
45# CHECK-NEXT: Alignment: 8
46# CHECK-NEXT: }
47# CHECK-NEXT: ProgramHeader {
Michael J. Spencer2f008242015-09-17 19:58:0748# CHECK-NEXT: Type: PT_LOAD
49# CHECK-NEXT: Offset: 0x0
50# CHECK-NEXT: VirtualAddress:
51# CHECK-NEXT: PhysicalAddress:
Rui Ueyama7b19c342015-11-24 18:48:1652# CHECK-NEXT: FileSize: 352
53# CHECK-NEXT: MemSize: 352
Michael J. Spencer2f008242015-09-17 19:58:0754# CHECK-NEXT: Flags [
55# CHECK-NEXT: PF_R
56# CHECK-NEXT: ]
57# CHECK-NEXT: Alignment:
58# CHECK-NEXT: }
59# CHECK-NEXT: ProgramHeader {
60# CHECK-NEXT: Type: PT_LOAD
61# CHECK-NEXT: Offset:
62# CHECK-NEXT: VirtualAddress:
63# CHECK-NEXT: PhysicalAddress:
Michael J. Spencer2f008242015-09-17 19:58:0764# CHECK-NEXT: FileSize: 16
65# CHECK-NEXT: MemSize: 16
66# CHECK-NEXT: Flags [
67# CHECK-NEXT: PF_R
68# CHECK-NEXT: PF_W
69# CHECK-NEXT: ]
70# CHECK-NEXT: Alignment:
71# CHECK-NEXT: }
Rui Ueyama7b19c342015-11-24 18:48:1672# CHECK-NEXT: ProgramHeader {
73# CHECK-NEXT: Type: PT_GNU_STACK
74# CHECK-NEXT: Offset: 0x0
75# CHECK-NEXT: VirtualAddress: 0x0
76# CHECK-NEXT: PhysicalAddress: 0x0
77# CHECK-NEXT: FileSize: 0
78# CHECK-NEXT: MemSize: 0
79# CHECK-NEXT: Flags [
80# CHECK-NEXT: PF_R
81# CHECK-NEXT: PF_W
82# CHECK-NEXT: ]
83# CHECK-NEXT: Alignment: 0
84# CHECK-NEXT: }
Michael J. Spencer2f008242015-09-17 19:58:0785# CHECK-NEXT: ]