| # REQUIRES: x86 |
| # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t1.o |
| # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/resolution-end.s -o %t2.o |
| # RUN: ld.lld -shared -o %t2.so %t2.o |
| # RUN: ld.lld --hash-style=sysv %t1.o %t2.so -o %t |
| # RUN: llvm-readobj -t -s -section-data %t | FileCheck %s |
| |
| # Test that we resolve _end to the this executable. |
| |
| # CHECK: Name: .text |
| # CHECK-NEXT: Type: SHT_PROGBITS |
| # CHECK-NEXT: Flags [ |
| # CHECK-NEXT: SHF_ALLOC |
| # CHECK-NEXT: SHF_EXECINSTR |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: Address: |
| # CHECK-NEXT: Offset: |
| # CHECK-NEXT: Size: |
| # CHECK-NEXT: Link: |
| # CHECK-NEXT: Info: |
| # CHECK-NEXT: AddressAlignment: |
| # CHECK-NEXT: EntrySize: |
| # CHECK-NEXT: SectionData ( |
| # CHECK-NEXT: 0000: 80202000 00000000 80202000 00000000 |
| # CHECK-NEXT: ) |
| |
| # CHECK: Symbol { |
| # CHECK: Name: _end |
| # CHECK-NEXT: Value: 0x202080 |
| |
| # CHECK: Symbol { |
| # CHECK: Name: end |
| # CHECK-NEXT: Value: 0x202080 |
| |
| .global _start |
| _start: |
| .quad _end |
| .quad end |