As we don't sort local symbols, don't sort non-local symbols. This makes non-local symbols appear in their register order, which matches GNU as. The register order is nice in that you can write tests with interleaved CHECK prefixes, e.g. ``` // CHECK: something about foo .globl foo foo: // CHECK: something about bar .globl bar bar: ``` With the lexicographical order, the user needs to place lexicographical smallest symbol first or keep CHECK prefixes in one place.
20 lines
658 B
ArmAsm
20 lines
658 B
ArmAsm
// REQUIRES: x86
|
|
|
|
// Verifies that .rela_iplt_{start,end} point to a dummy section
|
|
// if .rela.iplt does not exist.
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
|
// RUN: ld.lld -static %t.o -o %t.exe
|
|
// RUN: llvm-readelf -S -s %t.exe | FileCheck %s
|
|
|
|
// CHECK: Name Type Address Off
|
|
// CHECK: .text PROGBITS 0000000000201120 000120
|
|
// CHECK: Value Size Type Bind Vis Ndx Name
|
|
// CHECK: 0000000000200000 0 NOTYPE LOCAL HIDDEN 1 __rela_iplt_start
|
|
// CHECK: 0000000000200000 0 NOTYPE LOCAL HIDDEN 1 __rela_iplt_end
|
|
|
|
.globl _start
|
|
_start:
|
|
movl $__rela_iplt_start, %edx
|
|
movl $__rela_iplt_end, %edx
|