Peter Collingbourne | 4cdade6 | 2016-04-04 22:29:24 | [diff] [blame] | 1 | // 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 Rimar | d46753e | 2017-10-06 09:37:44 | [diff] [blame] | 4 | // 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 Collingbourne | 4cdade6 | 2016-04-04 22:29:24 | [diff] [blame] | 6 | // RUN: llvm-readobj --dyn-symbols -r --expand-relocs %t3 | FileCheck %s |
Rafael Espindola | 57ef60f | 2017-11-28 20:13:12 | [diff] [blame] | 7 | // 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 Collingbourne | 4cdade6 | 2016-04-04 22:29:24 | [diff] [blame] | 9 | |
| 10 | .global _start |
| 11 | _start: |
| 12 | movl $5, a1 |
| 13 | movl $5, b1 |
| 14 | movl $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 Espindola | 9e32e4f | 2016-04-26 13:50:46 | [diff] [blame] | 42 | // CHECK-NEXT: Binding: Global |
Peter Collingbourne | 4cdade6 | 2016-04-04 22:29:24 | [diff] [blame] | 43 | // 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 Espindola | 9e32e4f | 2016-04-26 13:50:46 | [diff] [blame] | 50 | // CHECK-NEXT: Binding: Global |
Peter Collingbourne | 4cdade6 | 2016-04-04 22:29:24 | [diff] [blame] | 51 | // 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 Collingbourne | 4f95270 | 2016-05-01 04:55:03 | [diff] [blame] | 58 | // CHECK-NEXT: Binding: Weak |
Peter Collingbourne | 4cdade6 | 2016-04-04 22:29:24 | [diff] [blame] | 59 | // 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 Espindola | 9e3381e | 2017-11-28 01:04:51 | [diff] [blame] | 66 | // CHECK-NEXT: Binding: Global |
Peter Collingbourne | 4cdade6 | 2016-04-04 22:29:24 | [diff] [blame] | 67 | // CHECK-NEXT: Type: Object (0x1) |
| 68 | // CHECK-NEXT: Other: 0 |
| 69 | // CHECK-NEXT: Section: .bss |