blob: f2251bbeefc25f3162129c182ce321f1776727e6 [file] [log] [blame]
Peter Collingbourne4cdade62016-04-04 22:29:241// REQUIRES: x86
2// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
3// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/relocation-copy-alias.s -o %t2.o
George Rimard46753e2017-10-06 09:37:444// RUN: ld.lld --hash-style=sysv -shared %t2.o -o %t.so
5// RUN: ld.lld --hash-style=sysv %t.o %t.so -o %t3
Peter Collingbourne4cdade62016-04-04 22:29:246// RUN: llvm-readobj --dyn-symbols -r --expand-relocs %t3 | FileCheck %s
Rafael Espindola57ef60f2017-11-28 20:13:127// RUN: ld.lld --hash-style=sysv --gc-sections %t.o %t.so -o %t3
8// RUN: llvm-readobj --dyn-symbols -r --expand-relocs %t3 | FileCheck %s
Peter Collingbourne4cdade62016-04-04 22:29:249
10.global _start
11_start:
12movl $5, a1
13movl $5, b1
14movl $5, b2
15
16// CHECK: .rela.dyn {
17// CHECK-NEXT: Relocation {
18// CHECK-NEXT: Offset:
19// CHECK-NEXT: Type: R_X86_64_COPY
20// CHECK-NEXT: Symbol: a1
21// CHECK-NEXT: Addend: 0x0
22// CHECK-NEXT: }
23// CHECK-NEXT: Relocation {
24// CHECK-NEXT: Offset:
25// CHECK-NEXT: Type: R_X86_64_COPY
26// CHECK-NEXT: Symbol: b1
27// CHECK-NEXT: Addend: 0x0
28// CHECK-NEXT: }
29// CHECK-NEXT: }
30
31// CHECK: Name: a1
32// CHECK-NEXT: Value: [[A:.*]]
33// CHECK-NEXT: Size: 1
34// CHECK-NEXT: Binding: Global (0x1)
35// CHECK-NEXT: Type: Object (0x1)
36// CHECK-NEXT: Other: 0
37// CHECK-NEXT: Section: .bss (0x7)
38
39// CHECK: Name: b1
40// CHECK-NEXT: Value: [[B:.*]]
41// CHECK-NEXT: Size: 1
Rafael Espindola9e32e4f2016-04-26 13:50:4642// CHECK-NEXT: Binding: Global
Peter Collingbourne4cdade62016-04-04 22:29:2443// CHECK-NEXT: Type: Object (0x1)
44// CHECK-NEXT: Other: 0
45// CHECK-NEXT: Section: .bss
46
47// CHECK: Name: b2
48// CHECK-NEXT: Value: [[B]]
49// CHECK-NEXT: Size: 1
Rafael Espindola9e32e4f2016-04-26 13:50:4650// CHECK-NEXT: Binding: Global
Peter Collingbourne4cdade62016-04-04 22:29:2451// CHECK-NEXT: Type: Object (0x1)
52// CHECK-NEXT: Other: 0
53// CHECK-NEXT: Section: .bss
54
55// CHECK: Name: a2
56// CHECK-NEXT: Value: [[A]]
57// CHECK-NEXT: Size: 1
Peter Collingbourne4f952702016-05-01 04:55:0358// CHECK-NEXT: Binding: Weak
Peter Collingbourne4cdade62016-04-04 22:29:2459// CHECK-NEXT: Type: Object (0x1)
60// CHECK-NEXT: Other: 0
61// CHECK-NEXT: Section: .bss
62
63// CHECK: Name: b3
64// CHECK-NEXT: Value: [[B]]
65// CHECK-NEXT: Size: 1
Rafael Espindola9e3381e2017-11-28 01:04:5166// CHECK-NEXT: Binding: Global
Peter Collingbourne4cdade62016-04-04 22:29:2467// CHECK-NEXT: Type: Object (0x1)
68// CHECK-NEXT: Other: 0
69// CHECK-NEXT: Section: .bss