mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 03:56:16 +08:00
Its PR34712, GNU linkers recently changed default values to "both" of "sysv". Patch do the same for all targets except MIPS, where .gnu.hash section is not yet supported. Code suggested by Rui Ueyama. Differential revision: https://reviews.llvm.org/D38407 llvm-svn: 315051
39 lines
999 B
ArmAsm
39 lines
999 B
ArmAsm
# 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
|
|
# REQUIRES: x86
|
|
|
|
# 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
|