brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 8b8dc16 Raw
55 lines · plain
1# REQUIRES: mips2 3# Check addend adjustment in case of generating a relocatable object4# if some input files have non-zero GP0 value.5 6# We have to use GNU as and ld.bfd 2.28 to generate relocatable object7# files with non-zero GP0 value using the following command lines:8#9# as -mips32 -o test.o \10#   && ld.bfd -m elf32btsmip -r test.o -o mips-gp0-non-zero.o11# as -mips64 -o test.o \12#   && ld.bfd -m elf64btsmip -r test.o -o mips-n64-gp0-non-zero.o13 14# Source code for mips-gp0-non-zero.o:15#   .text16#   .global  __start17# __start:18#   lw      $t0,%call16(__start)($gp)19# foo:20#   nop21# bar:22#   nop23#24#   .section .rodata, "a"25# v:26#   .gpword foo27#   .gpword bar28 29# Source code for mips-n64-gp0-non-zero.o and mips-micro-gp0-non-zero.o:30#   .text31#   .global  __start32# __start:33# foo:34#   lui     $gp,%hi(%neg(%gp_rel(foo)))35 36# RUN: ld.lld -r -o %t-32.r %S/Inputs/mips-gp0-non-zero.o37# RUN: llvm-readobj -A %t-32.r | FileCheck --check-prefix=GPVAL %s38# RUN: llvm-objdump -s %t-32.r | FileCheck --check-prefix=ADDEND32 %s39 40# RUN: ld.lld -r -o %t-64.r %S/Inputs/mips-n64-gp0-non-zero.o41# RUN: llvm-readobj -A %t-64.r | FileCheck --check-prefix=GPVAL %s42# RUN: llvm-readobj -r %S/Inputs/mips-n64-gp0-non-zero.o %t-64.r \43# RUN:   | FileCheck --check-prefix=ADDEND64 %s44 45# GPVAL: GP: 0x046 47# ADDEND32:      Contents of section .rodata:48# ADDEND32-NEXT:  0000 00007ff4 00007ff849#                      ^ 4+GP0  ^ 8+GP050 51# ADDEND64: File: {{.*}}{{/|\\}}mips-n64-gp0-non-zero.o52# ADDEND64: .text 0xFFFFFFFFFFFF801153# ADDEND64: File: {{.*}}{{/|\\}}mips-non-zero-gp0.s.tmp-64.r54# ADDEND64: .text 0x055