72 lines
1.6 KiB
ArmAsm
72 lines
1.6 KiB
ArmAsm
# REQUIRES: arm
|
|
|
|
# RUN: split-file %s %t
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple=armv7-unknown-linux %t/small.s -o %t.small.o
|
|
# RUN: llvm-mc -filetype=obj -triple=armv7-unknown-linux %t/large.s -o %t.large.o
|
|
# RUN: llvm-objcopy --set-section-flags .bar=alloc,readonly %t.large.o %t.large.RO.o
|
|
|
|
# RUN: echo ordered > %t_order.txt
|
|
|
|
# RUN: ld.lld --symbol-ordering-file %t_order.txt %t.small.o -o %t2.small.out
|
|
# RUN: ld.lld --symbol-ordering-file %t_order.txt %t.large.o -o %t2.large.out
|
|
# RUN: ld.lld --symbol-ordering-file %t_order.txt %t.large.RO.o -o %t2.large.RO.out
|
|
# RUN: llvm-nm -n %t2.small.out | FileCheck --check-prefix=SMALL %s
|
|
# RUN: llvm-nm -n %t2.large.out | FileCheck --check-prefix=LARGE %s
|
|
# RUN: llvm-nm -n %t2.large.RO.out | FileCheck --check-prefix=SMALL %s
|
|
# RUN: rm -f %t.*.o %t2.*.out
|
|
|
|
# SMALL: ordered
|
|
# SMALL-NEXT: unordered1
|
|
# SMALL-NEXT: unordered2
|
|
# SMALL-NEXT: unordered3
|
|
# SMALL-NEXT: unordered4
|
|
|
|
# LARGE: unordered1
|
|
# LARGE-NEXT: unordered2
|
|
# LARGE-NEXT: ordered
|
|
# LARGE-NEXT: unordered3
|
|
# LARGE-NEXT: unordered4
|
|
|
|
#--- small.s
|
|
.section .foo,"ax",%progbits,unique,1
|
|
unordered1:
|
|
.zero 1
|
|
|
|
.section .foo,"ax",%progbits,unique,2
|
|
unordered2:
|
|
.zero 1
|
|
|
|
.section .foo,"ax",%progbits,unique,3
|
|
unordered3:
|
|
.zero 2
|
|
|
|
.section .foo,"ax",%progbits,unique,4
|
|
unordered4:
|
|
.zero 4
|
|
|
|
.section .foo,"ax",%progbits,unique,5
|
|
ordered:
|
|
.zero 1
|
|
|
|
#--- large.s
|
|
.section .bar,"ax",%progbits,unique,1
|
|
unordered1:
|
|
.zero 0xC00000
|
|
|
|
.section .bar,"ax",%progbits,unique,2
|
|
unordered2:
|
|
.zero 0xC00000
|
|
|
|
.section .bar,"ax",%progbits,unique,3
|
|
unordered3:
|
|
.zero 0xC00000
|
|
|
|
.section .bar,"ax",%progbits,unique,4
|
|
unordered4:
|
|
.zero 0xC00000
|
|
|
|
.section .bar,"ax",%progbits,unique,5
|
|
ordered:
|
|
.zero 8
|