blob: 6f1ef3a8079de320cfd9f9ca8ea9a89490e05dfd [file] [log] [blame]
Michael J. Spencer2f008242015-09-17 19:58:071# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
Rui Ueyama60fe7fc2015-10-07 17:31:392# RUN: ld.lld2 %t -o %t2
Michael J. Spencer879b5972015-09-17 21:19:563# RUN: llvm-readobj -sections -program-headers %t2 | FileCheck %s
Michael J. Spencer2f008242015-09-17 19:58:074# REQUIRES: x86
5
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:
Rafael Espindola61362ce2015-11-03 22:08:0826# CHECK-NEXT: Offset: 0x120
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
38# CHECK-NEXT: VirtualAddress: 0x10040
39# CHECK-NEXT: PhysicalAddress: 0x10040
Rafael Espindola61362ce2015-11-03 22:08:0840# CHECK-NEXT: FileSize: 224
41# CHECK-NEXT: MemSize: 224
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:
Rafael Espindola61362ce2015-11-03 22:08:0852# CHECK-NEXT: FileSize: 296
53# CHECK-NEXT: MemSize: 296
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:
Rafael Espindola61362ce2015-11-03 22:08:0864# CHECK-NEXT: FileSize: 0
65# CHECK-NEXT: MemSize: 0
66# CHECK-NEXT: Flags [
67# CHECK-NEXT: PF_R
68# CHECK-NEXT: PF_X
69# CHECK-NEXT: ]
70# CHECK-NEXT: Alignment:
71# CHECK-NEXT: }
72# CHECK-NEXT: ProgramHeader {
73# CHECK-NEXT: Type: PT_LOAD
74# CHECK-NEXT: Offset:
75# CHECK-NEXT: VirtualAddress:
76# CHECK-NEXT: PhysicalAddress:
Michael J. Spencer2f008242015-09-17 19:58:0777# CHECK-NEXT: FileSize: 16
78# CHECK-NEXT: MemSize: 16
79# CHECK-NEXT: Flags [
80# CHECK-NEXT: PF_R
81# CHECK-NEXT: PF_W
82# CHECK-NEXT: ]
83# CHECK-NEXT: Alignment:
84# CHECK-NEXT: }
85# CHECK-NEXT: ]