From: Fangrui Song Date: Thu, 25 Jul 2019 07:12:23 +0000 (+0000) Subject: [ELF][MIPS] Improve tests X-Git-Tag: llvmorg-11-init~13604 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e023a6dbceca8dba9763d102079aff0d9861e05;p=platform%2Fupstream%2Fllvm.git [ELF][MIPS] Improve tests * Add --no-show-raw-insn to llvm-objdump -d tests * When linking an executable with %t.so, the path %t.so will be recorded in the DT_NEEDED entry if %t.so doesn't have DT_SONAME. .dynstr will have varying lengths on different systems. Add -soname to make tests more robust. llvm-svn: 366988 --- diff --git a/lld/test/ELF/mips-26-mask.s b/lld/test/ELF/mips-26-mask.s index eee682a..fc549a0 100644 --- a/lld/test/ELF/mips-26-mask.s +++ b/lld/test/ELF/mips-26-mask.s @@ -3,12 +3,12 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld %t.o -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s +# RUN: llvm-objdump -d --no-show-raw-insn --print-imm-hex %t.exe | FileCheck %s # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK: __start: -# CHECK-NEXT: 20000: 0e 00 80 00 jal 134348800 +# CHECK-NEXT: 20000: jal 0x8020000 .text .global __start diff --git a/lld/test/ELF/mips-26.s b/lld/test/ELF/mips-26.s index b4cbdb6..5f7373b 100644 --- a/lld/test/ELF/mips-26.s +++ b/lld/test/ELF/mips-26.s @@ -6,41 +6,41 @@ # RUN: %S/Inputs/mips-dynamic.s -o %t2.o # RUN: ld.lld %t2.o -shared -o %t.so # RUN: ld.lld %t1.o %t.so -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s # RUN: llvm-readobj --dynamic-table -S -r --mips-plt-got %t.exe \ # RUN: | FileCheck -check-prefix=REL %s # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: bar: -# CHECK-NEXT: 20000: 0c 00 80 06 jal 131096 -# CHECK-NEXT: 20004: 00 00 00 00 nop +# CHECK-NEXT: 20000: jal 131096 +# CHECK-NEXT: 20004: nop # # CHECK: __start: -# CHECK-NEXT: 20008: 0c 00 80 00 jal 131072 -# CHECK-NEXT: 2000c: 00 00 00 00 nop -# CHECK-NEXT: 20010: 0c 00 80 10 jal 131136 -# ^-- 0x20040 gotplt[foo0] -# CHECK-NEXT: 20014: 00 00 00 00 nop +# CHECK-NEXT: 20008: jal 131072 +# CHECK-NEXT: 2000c: nop +# CHECK-NEXT: 20010: jal 131136 +# ^-- 0x20040 gotplt[foo0] +# CHECK-NEXT: 20014: nop # # CHECK: loc: -# CHECK-NEXT: 20018: 00 00 00 00 nop +# CHECK-NEXT: 20018: nop # CHECK-EMPTY: # CHECK-NEXT: Disassembly of section .plt: # CHECK-EMPTY: # CHECK-NEXT: .plt: -# CHECK-NEXT: 20020: 3c 1c 00 03 lui $gp, 3 -# CHECK-NEXT: 20024: 8f 99 00 04 lw $25, 4($gp) -# CHECK-NEXT: 20028: 27 9c 00 04 addiu $gp, $gp, 4 -# CHECK-NEXT: 2002c: 03 1c c0 23 subu $24, $24, $gp -# CHECK-NEXT: 20030: 03 e0 78 25 move $15, $ra -# CHECK-NEXT: 20034: 00 18 c0 82 srl $24, $24, 2 -# CHECK-NEXT: 20038: 03 20 f8 09 jalr $25 -# CHECK-NEXT: 2003c: 27 18 ff fe addiu $24, $24, -2 -# CHECK-NEXT: 20040: 3c 0f 00 03 lui $15, 3 -# CHECK-NEXT: 20044: 8d f9 00 0c lw $25, 12($15) -# CHECK-NEXT: 20048: 03 20 00 08 jr $25 -# CHECK-NEXT: 2004c: 25 f8 00 0c addiu $24, $15, 12 +# CHECK-NEXT: 20020: lui $gp, 3 +# CHECK-NEXT: 20024: lw $25, 4($gp) +# CHECK-NEXT: 20028: addiu $gp, $gp, 4 +# CHECK-NEXT: 2002c: subu $24, $24, $gp +# CHECK-NEXT: 20030: move $15, $ra +# CHECK-NEXT: 20034: srl $24, $24, 2 +# CHECK-NEXT: 20038: jalr $25 +# CHECK-NEXT: 2003c: addiu $24, $24, -2 +# CHECK-NEXT: 20040: lui $15, 3 +# CHECK-NEXT: 20044: lw $25, 12($15) +# CHECK-NEXT: 20048: jr $25 +# CHECK-NEXT: 2004c: addiu $24, $15, 12 # REL: Name: .plt # REL-NEXT: Type: SHT_PROGBITS diff --git a/lld/test/ELF/mips-64-disp.s b/lld/test/ELF/mips-64-disp.s index 1d9b393..5e2b413 100644 --- a/lld/test/ELF/mips-64-disp.s +++ b/lld/test/ELF/mips-64-disp.s @@ -4,17 +4,17 @@ # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \ # RUN: %p/Inputs/mips-pic.s -o %t.so.o # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t.exe.o -# RUN: ld.lld %t.so.o -shared -o %t.so +# RUN: ld.lld %t.so.o -shared -soname=t.so -o %t.so # RUN: ld.lld %t.exe.o %t.so -o %t.exe -# RUN: llvm-objdump -d -t %t.exe | FileCheck %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.exe | FileCheck %s # RUN: llvm-readelf -r --mips-plt-got %t.exe | FileCheck -check-prefix=GOT %s # CHECK: __start: -# CHECK-NEXT: 20000: 24 42 80 40 addiu $2, $2, -32704 -# CHECK-NEXT: 20004: 24 42 80 20 addiu $2, $2, -32736 -# CHECK-NEXT: 20008: 24 42 80 28 addiu $2, $2, -32728 -# CHECK-NEXT: 2000c: 24 42 80 30 addiu $2, $2, -32720 -# CHECK-NEXT: 20010: 24 42 80 38 addiu $2, $2, -32712 +# CHECK-NEXT: 20000: addiu $2, $2, -32704 +# CHECK-NEXT: 20004: addiu $2, $2, -32736 +# CHECK-NEXT: 20008: addiu $2, $2, -32728 +# CHECK-NEXT: 2000c: addiu $2, $2, -32720 +# CHECK-NEXT: 20010: addiu $2, $2, -32712 # CHECK: 0000000000020014 .text 00000000 foo # CHECK: 0000000000020000 .text 00000000 __start diff --git a/lld/test/ELF/mips-64-got.s b/lld/test/ELF/mips-64-got.s index e9e1133..7de4b95 100644 --- a/lld/test/ELF/mips-64-got.s +++ b/lld/test/ELF/mips-64-got.s @@ -4,18 +4,18 @@ # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \ # RUN: %p/Inputs/mips-pic.s -o %t.so.o # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t.exe.o -# RUN: ld.lld %t.so.o -shared -o %t.so +# RUN: ld.lld %t.so.o -shared -soname=t.so -o %t.so # RUN: ld.lld %t.exe.o %t.so -o %t.exe -# RUN: llvm-objdump -d -t %t.exe | FileCheck %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.exe | FileCheck %s # RUN: llvm-readelf -r --mips-plt-got %t.exe | FileCheck -check-prefix=GOT %s # CHECK: __start: -# CHECK-NEXT: 20000: df 82 80 20 ld $2, -32736($gp) -# CHECK-NEXT: 20004: 64 42 00 18 daddiu $2, $2, 24 -# CHECK-NEXT: 20008: 24 42 80 40 addiu $2, $2, -32704 -# CHECK-NEXT: 2000c: 24 42 80 30 addiu $2, $2, -32720 -# CHECK-NEXT: 20010: 24 42 80 38 addiu $2, $2, -32712 +# CHECK-NEXT: 20000: ld $2, -32736($gp) +# CHECK-NEXT: 20004: daddiu $2, $2, 24 +# CHECK-NEXT: 20008: addiu $2, $2, -32704 +# CHECK-NEXT: 2000c: addiu $2, $2, -32720 +# CHECK-NEXT: 20010: addiu $2, $2, -32712 # CHECK: 0000000000020018 .text 00000000 foo # CHECK: 0000000000020000 .text 00000000 __start diff --git a/lld/test/ELF/mips-64-rels.s b/lld/test/ELF/mips-64-rels.s index e641b32..72e9260 100644 --- a/lld/test/ELF/mips-64-rels.s +++ b/lld/test/ELF/mips-64-rels.s @@ -4,19 +4,19 @@ # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t.o # RUN: ld.lld %t.o -o %t.exe -# RUN: llvm-objdump -d -s -t %t.exe | FileCheck %s +# RUN: llvm-objdump -d -s -t --no-show-raw-insn %t.exe | FileCheck %s # RUN: llvm-readobj -r %t.exe | FileCheck -check-prefix=REL %s # CHECK: __start: -# CHECK-NEXT: 20000: 3c 1c 00 01 lui $gp, 1 -# ^-- 0x20000 - 0x37ff0 -# ^-- 0 - 0xfffffffffffe8010 -# ^-- %hi(0x17ff0) +# CHECK-NEXT: 20000: lui $gp, 1 +# ^-- 0x20000 - 0x37ff0 +# ^-- 0 - 0xfffffffffffe8010 +# ^-- %hi(0x17ff0) # CHECK: loc: -# CHECK-NEXT: 20004: 67 9c 7f f0 daddiu $gp, $gp, 32752 -# ^-- 0x20000 - 0x37ff0 -# ^-- 0 - 0xfffffffffffe8010 -# ^-- %lo(0x17ff0) +# CHECK-NEXT: 20004: daddiu $gp, $gp, 32752 +# ^-- 0x20000 - 0x37ff0 +# ^-- 0 - 0xfffffffffffe8010 +# ^-- %lo(0x17ff0) # CHECK: Contents of section .rodata: # CHECK-NEXT: {{[0-9a-f]+}} ffffffff fffe8014 diff --git a/lld/test/ELF/mips-call16.s b/lld/test/ELF/mips-call16.s index 508c499..298c070 100644 --- a/lld/test/ELF/mips-call16.s +++ b/lld/test/ELF/mips-call16.s @@ -2,9 +2,9 @@ # Check R_MIPS_CALL16 relocation calculation. # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o -# RUN: ld.lld %t.o -shared -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s -# RUN: llvm-readobj --mips-plt-got --symbols %t.exe \ +# RUN: ld.lld %t.o -shared -o %t.so +# RUN: llvm-objdump -d --no-show-raw-insn %t.so | FileCheck %s +# RUN: llvm-readobj --mips-plt-got --symbols %t.so \ # RUN: | FileCheck -check-prefix=GOT %s .text @@ -20,7 +20,7 @@ g1: # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 10000: 8f 88 80 18 lw $8, -32744 +# CHECK-NEXT: 10000: lw $8, -32744 # GOT: Name: g1 # GOT-NEXT: Value: 0x[[ADDR:[0-9A-F]+]] diff --git a/lld/test/ELF/mips-got16-relocatable.s b/lld/test/ELF/mips-got16-relocatable.s index b92a9d5..ee7781f 100644 --- a/lld/test/ELF/mips-got16-relocatable.s +++ b/lld/test/ELF/mips-got16-relocatable.s @@ -4,29 +4,29 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux -o %t.o %s # RUN: ld.lld -r -o %t %t.o %t.o -# RUN: llvm-objdump -d -r %t | FileCheck -check-prefix=OBJ %s +# RUN: llvm-objdump -d -r --no-show-raw-insn %t | FileCheck -check-prefix=OBJ %s # RUN: ld.lld -shared -o %t.so %t -# RUN: llvm-objdump -d %t.so | FileCheck -check-prefix=SO %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.so | FileCheck -check-prefix=SO %s # OBJ: Disassembly of section .text: # OBJ-EMPTY: # OBJ-NEXT: .text: -# OBJ-NEXT: 0: 8f 99 00 00 lw $25, 0($gp) +# OBJ-NEXT: 0: lw $25, 0($gp) # OBJ-NEXT: 00000000: R_MIPS_GOT16 .data -# OBJ-NEXT: 4: 27 24 00 00 addiu $4, $25, 0 +# OBJ-NEXT: 4: addiu $4, $25, 0 # OBJ-NEXT: 00000004: R_MIPS_LO16 .data -# OBJ: 10: 8f 99 00 00 lw $25, 0($gp) +# OBJ: 10: lw $25, 0($gp) # OBJ-NEXT: 00000010: R_MIPS_GOT16 .data -# OBJ-NEXT: 14: 27 24 00 10 addiu $4, $25, 16 +# OBJ-NEXT: 14: addiu $4, $25, 16 # OBJ-NEXT: 00000014: R_MIPS_LO16 .data # SO: Disassembly of section .text: # SO-EMPTY: # SO-NEXT: .text: -# SO-NEXT: 10000: 8f 99 80 18 lw $25, -32744($gp) -# SO-NEXT: 10004: 27 24 00 00 addiu $4, $25, 0 -# SO: 10010: 8f 99 80 18 lw $25, -32744($gp) -# SO-NEXT: 10014: 27 24 00 10 addiu $4, $25, 16 +# SO-NEXT: 10000: lw $25, -32744($gp) +# SO-NEXT: 10004: addiu $4, $25, 0 +# SO: 10010: lw $25, -32744($gp) +# SO-NEXT: 10014: addiu $4, $25, 16 .text lw $t9, %got(.data)($gp) diff --git a/lld/test/ELF/mips-got16.s b/lld/test/ELF/mips-got16.s index f25f3a0..56b9ea0 100644 --- a/lld/test/ELF/mips-got16.s +++ b/lld/test/ELF/mips-got16.s @@ -3,23 +3,23 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld %t.o -shared -o %t.so -# RUN: llvm-objdump -d -t %t.so | FileCheck %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.so | FileCheck %s # RUN: llvm-readelf -r --mips-plt-got %t.so | FileCheck -check-prefix=GOT %s # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 10000: 8f 88 80 18 lw $8, -32744($gp) -# CHECK-NEXT: 10004: 21 08 00 2c addi $8, $8, 44 -# CHECK-NEXT: 10008: 8f 88 80 24 lw $8, -32732($gp) -# CHECK-NEXT: 1000c: 21 08 90 00 addi $8, $8, -28672 -# CHECK-NEXT: 10010: 8f 88 80 28 lw $8, -32728($gp) -# CHECK-NEXT: 10014: 21 08 90 04 addi $8, $8, -28668 -# CHECK-NEXT: 10018: 8f 88 80 28 lw $8, -32728($gp) -# CHECK-NEXT: 1001c: 21 08 10 04 addi $8, $8, 4100 -# CHECK-NEXT: 10020: 8f 88 80 30 lw $8, -32720($gp) -# CHECK-NEXT: 10024: 21 08 10 08 addi $8, $8, 4104 -# CHECK-NEXT: 10028: 8f 88 80 34 lw $8, -32716($gp) +# CHECK-NEXT: 10000: lw $8, -32744($gp) +# CHECK-NEXT: 10004: addi $8, $8, 44 +# CHECK-NEXT: 10008: lw $8, -32732($gp) +# CHECK-NEXT: 1000c: addi $8, $8, -28672 +# CHECK-NEXT: 10010: lw $8, -32728($gp) +# CHECK-NEXT: 10014: addi $8, $8, -28668 +# CHECK-NEXT: 10018: lw $8, -32728($gp) +# CHECK-NEXT: 1001c: addi $8, $8, 4100 +# CHECK-NEXT: 10020: lw $8, -32720($gp) +# CHECK-NEXT: 10024: addi $8, $8, 4104 +# CHECK-NEXT: 10028: lw $8, -32716($gp) # # CHECK: SYMBOL TABLE: # CHECK: 00041008 .data 00000000 .hidden bar diff --git a/lld/test/ELF/mips-gp-disp.s b/lld/test/ELF/mips-gp-disp.s index b50cb02..ff0c563 100644 --- a/lld/test/ELF/mips-gp-disp.s +++ b/lld/test/ELF/mips-gp-disp.s @@ -7,7 +7,7 @@ # RUN: llvm-readobj --symbols %t.so | FileCheck -check-prefix=INT-SO %s # RUN: llvm-readobj --symbols %S/Inputs/mips-gp-disp.so \ # RUN: | FileCheck -check-prefix=EXT-SO %s -# RUN: llvm-objdump -d -t %t.so | FileCheck -check-prefix=DIS %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.so | FileCheck -check-prefix=DIS %s # RUN: llvm-readobj -r %t.so | FileCheck -check-prefix=REL %s # INT-SO: Name: _gp_disp @@ -21,9 +21,9 @@ # DIS: Disassembly of section .text: # DIS-EMPTY: # DIS-NEXT: __start: -# DIS-NEXT: 10000: 3c 08 00 01 lui $8, 1 -# DIS-NEXT: 10004: 21 08 7f f0 addi $8, $8, 32752 -# ^-- 0x37ff0 & 0xffff +# DIS-NEXT: 10000: lui $8, 1 +# DIS-NEXT: 10004: addi $8, $8, 32752 +# ^-- 0x37ff0 & 0xffff # DIS: 00027ff0 .got 00000000 .hidden _gp # REL: Relocations [ diff --git a/lld/test/ELF/mips-gp-local.s b/lld/test/ELF/mips-gp-local.s index e81f58b..5d9520d 100644 --- a/lld/test/ELF/mips-gp-local.s +++ b/lld/test/ELF/mips-gp-local.s @@ -3,13 +3,13 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld -o %t.exe %t.o -# RUN: llvm-objdump -d -t %t.exe | FileCheck %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.exe | FileCheck %s # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: 3c 08 00 03 lui $8, 3 -# CHECK-NEXT: 20004: 21 08 7f f0 addi $8, $8, 32752 +# CHECK-NEXT: 20000: lui $8, 3 +# CHECK-NEXT: 20004: addi $8, $8, 32752 # CHECK: 00037ff0 .got 00000000 .hidden _gp diff --git a/lld/test/ELF/mips-higher-highest.s b/lld/test/ELF/mips-higher-highest.s index 3af7dcb..a95d6a7 100644 --- a/lld/test/ELF/mips-higher-highest.s +++ b/lld/test/ELF/mips-higher-highest.s @@ -5,7 +5,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \ # RUN: %S/Inputs/mips-dynamic.s -o %t2.o # RUN: ld.lld %t1.o %t2.o -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s .global __start __start: @@ -14,7 +14,7 @@ __start: lui $7, %highest(_foo+0x300047FFF7FF8) ld $7, %higher (_foo+0x300047FFF7FF8)($7) -# CHECK: 20000: 3c 06 00 03 lui $6, 3 -# CHECK-NEXT: 20004: 64 c6 00 05 daddiu $6, $6, 5 -# CHECK-NEXT: 20008: 3c 07 00 03 lui $7, 3 -# CHECK-NEXT: 2000c: dc e7 00 05 ld $7, 5($7) +# CHECK: 20000: lui $6, 3 +# CHECK-NEXT: 20004: daddiu $6, $6, 5 +# CHECK-NEXT: 20008: lui $7, 3 +# CHECK-NEXT: 2000c: ld $7, 5($7) diff --git a/lld/test/ELF/mips-hilo-gp-disp.s b/lld/test/ELF/mips-hilo-gp-disp.s index 46a7204..91f50ca 100644 --- a/lld/test/ELF/mips-hilo-gp-disp.s +++ b/lld/test/ELF/mips-hilo-gp-disp.s @@ -5,9 +5,9 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: %S/Inputs/mips-dynamic.s -o %t2.o # RUN: ld.lld %t1.o %t2.o -o %t.exe -# RUN: llvm-objdump -d -t %t.exe | FileCheck -check-prefix=EXE %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.exe | FileCheck -check-prefix=EXE %s # RUN: ld.lld %t1.o %t2.o -shared -o %t.so -# RUN: llvm-objdump -d -t %t.so | FileCheck -check-prefix=SO %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.so | FileCheck -check-prefix=SO %s .text .globl __start @@ -22,15 +22,15 @@ bar: # EXE: Disassembly of section .text: # EXE-EMPTY: # EXE-NEXT: __start: -# EXE-NEXT: 20000: 3c 08 00 02 lui $8, 2 -# ^-- %hi(0x47ff0-0x20000) -# EXE-NEXT: 20004: 21 08 80 00 addi $8, $8, -32768 -# ^-- %lo(0x38000-0x20004+4) +# EXE-NEXT: 20000: lui $8, 2 +# ^-- %hi(0x47ff0-0x20000) +# EXE-NEXT: 20004: addi $8, $8, -32768 +# ^-- %lo(0x38000-0x20004+4) # EXE: bar: -# EXE-NEXT: 2000c: 3c 08 00 01 lui $8, 1 -# ^-- %hi(0x38000-0x2000c) -# EXE-NEXT: 20010: 21 08 7f f4 addi $8, $8, 32756 -# ^-- %lo(0x38000-0x20010+4) +# EXE-NEXT: 2000c: lui $8, 1 +# ^-- %hi(0x38000-0x2000c) +# EXE-NEXT: 20010: addi $8, $8, 32756 +# ^-- %lo(0x38000-0x20010+4) # EXE: SYMBOL TABLE: # EXE: 0002000c .text 00000000 bar @@ -40,15 +40,15 @@ bar: # SO: Disassembly of section .text: # SO-EMPTY: # SO-NEXT: __start: -# SO-NEXT: 10000: 3c 08 00 02 lui $8, 2 -# ^-- %hi(0x28000-0x10000) -# SO-NEXT: 10004: 21 08 80 00 addi $8, $8, -32768 -# ^-- %lo(0x28000-0x10004+4) +# SO-NEXT: 10000: lui $8, 2 +# ^-- %hi(0x28000-0x10000) +# SO-NEXT: 10004: addi $8, $8, -32768 +# ^-- %lo(0x28000-0x10004+4) # SO: bar: -# SO-NEXT: 1000c: 3c 08 00 01 lui $8, 1 -# ^-- %hi(0x28000-0x1000c) -# SO-NEXT: 10010: 21 08 7f f4 addi $8, $8, 32756 -# ^-- %lo(0x28000-0x10010+4) +# SO-NEXT: 1000c: lui $8, 1 +# ^-- %hi(0x28000-0x1000c) +# SO-NEXT: 10010: addi $8, $8, 32756 +# ^-- %lo(0x28000-0x10010+4) # SO: SYMBOL TABLE: # SO: 0001000c .text 00000000 bar diff --git a/lld/test/ELF/mips-hilo-hi-only.s b/lld/test/ELF/mips-hilo-hi-only.s index dd9bb90..ec6c751 100644 --- a/lld/test/ELF/mips-hilo-hi-only.s +++ b/lld/test/ELF/mips-hilo-hi-only.s @@ -3,7 +3,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld %t.o -o %t.exe 2>&1 | FileCheck -check-prefix=WARN %s -# RUN: llvm-objdump -d -t %t.exe | FileCheck %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.exe | FileCheck %s .text .globl __start @@ -18,10 +18,10 @@ _label: # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: 3c 08 00 03 lui $8, 3 -# ^-- %hi(__start) w/o addend -# CHECK-NEXT 20004: 21 08 00 08 addi $8, $8, 8 -# ^-- %lo(_label) +# CHECK-NEXT: 20000: lui $8, 3 +# ^-- %hi(__start) w/o addend +# CHECK-NEXT 20004: addi $8, $8, 8 +# ^-- %lo(_label) # CHECK: SYMBOL TABLE: # CHECK: 00020008 .text 00000000 _label diff --git a/lld/test/ELF/mips-jalr.test b/lld/test/ELF/mips-jalr.test index 8aada95..8caaba2 100644 --- a/lld/test/ELF/mips-jalr.test +++ b/lld/test/ELF/mips-jalr.test @@ -2,12 +2,12 @@ # RUN: yaml2obj %s -o %t.o # RUN: ld.lld %t.o -o %t.so -shared -# RUN: llvm-objdump -d %t.so | FileCheck %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.so | FileCheck %s # RUN: llvm-readobj -r %t.so | FileCheck -check-prefix=REL %s # REQUIRES: mips -# CHECK: 10000: 09 f8 20 03 jalr $25 +# CHECK: 10000: jalr $25 # REL: Relocations [ # REL-NEXT: ] diff --git a/lld/test/ELF/mips-micro-jal.s b/lld/test/ELF/mips-micro-jal.s index 50d534d..a056551 100644 --- a/lld/test/ELF/mips-micro-jal.s +++ b/lld/test/ELF/mips-micro-jal.s @@ -3,7 +3,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %t1eb.o -# RUN: ld.lld -shared -o %teb.so %t1eb.o +# RUN: ld.lld -shared -soname=teb.so -o %teb.so %t1eb.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips %s -o %t2eb.o # RUN: ld.lld -o %teb.exe %t2eb.o %teb.so @@ -12,7 +12,7 @@ # RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \ # RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %t1el.o -# RUN: ld.lld -shared -o %tel.so %t1el.o +# RUN: ld.lld -shared -soname=tel.so -o %tel.so %t1el.o # RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \ # RUN: -mattr=micromips %s -o %t2el.o # RUN: ld.lld -o %tel.exe %t2el.o %tel.so @@ -21,7 +21,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips -mcpu=mips32r6 %S/Inputs/mips-micro.s -o %t1eb.o -# RUN: ld.lld -shared -o %teb.so %t1eb.o +# RUN: ld.lld -shared -soname=teb.so -o %teb.so %t1eb.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips -mcpu=mips32r6 %s -o %t2eb.o # RUN: ld.lld -o %teb.exe %t2eb.o %teb.so @@ -29,7 +29,7 @@ # RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \ # RUN: -mattr=micromips -mcpu=mips32r6 %S/Inputs/mips-micro.s -o %t1el.o -# RUN: ld.lld -shared -o %tel.so %t1el.o +# RUN: ld.lld -shared -soname=tel.so -o %tel.so %t1el.o # RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \ # RUN: -mattr=micromips -mcpu=mips32r6 %s -o %t2el.o # RUN: ld.lld -o %tel.exe %t2el.o %tel.so @@ -37,7 +37,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %t1eb.o -# RUN: ld.lld -shared -o %teb.so %t1eb.o +# RUN: ld.lld -shared -soname=teb.so -o %teb.so %t1eb.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: %S/Inputs/mips-fpic.s -o %t-reg.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ diff --git a/lld/test/ELF/mips-micro-plt.s b/lld/test/ELF/mips-micro-plt.s index e7f74e4..b64e5f6 100644 --- a/lld/test/ELF/mips-micro-plt.s +++ b/lld/test/ELF/mips-micro-plt.s @@ -3,7 +3,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips %S/Inputs/mips-dynamic.s -o %t-dso.o -# RUN: ld.lld %t-dso.o -shared -o %t.so +# RUN: ld.lld %t-dso.o -shared -soname=t.so -o %t.so # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips %s -o %t-exe.o # RUN: ld.lld %t-exe.o %t.so -o %t.exe diff --git a/lld/test/ELF/mips-npic-call-pic-os.s b/lld/test/ELF/mips-npic-call-pic-os.s index 7198945..1b1e551 100644 --- a/lld/test/ELF/mips-npic-call-pic-os.s +++ b/lld/test/ELF/mips-npic-call-pic-os.s @@ -11,127 +11,127 @@ # RUN: %p/Inputs/mips-pic.s -o %t-pic.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t-npic.o # RUN: ld.lld %t-npic.o %t-pic.o %t-sto-pic.o -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __LA25Thunk_foo1a: -# CHECK-NEXT: 20000: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 20004: 08 00 80 08 j 131104 -# CHECK-NEXT: 20008: 27 39 00 20 addiu $25, $25, 32 -# CHECK-NEXT: 2000c: 00 00 00 00 nop +# CHECK-NEXT: 20000: lui $25, 2 +# CHECK-NEXT: 20004: j 131104 +# CHECK-NEXT: 20008: addiu $25, $25, 32 +# CHECK-NEXT: 2000c: nop # CHECK: __LA25Thunk_foo1b: -# CHECK-NEXT: 20010: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 20014: 08 00 80 09 j 131108 -# CHECK-NEXT: 20018: 27 39 00 24 addiu $25, $25, 36 -# CHECK-NEXT: 2001c: 00 00 00 00 nop +# CHECK-NEXT: 20010: lui $25, 2 +# CHECK-NEXT: 20014: j 131108 +# CHECK-NEXT: 20018: addiu $25, $25, 36 +# CHECK-NEXT: 2001c: nop # CHECK: foo1a: -# CHECK-NEXT: 20020: 00 00 00 00 nop +# CHECK-NEXT: 20020: nop # CHECK: foo1b: -# CHECK-NEXT: 20024: 00 00 00 00 nop +# CHECK-NEXT: 20024: nop # CHECK: __LA25Thunk_foo2: -# CHECK-NEXT: 20028: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 2002c: 08 00 80 10 j 131136 -# CHECK-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 -# CHECK-NEXT: 20034: 00 00 00 00 nop +# CHECK-NEXT: 20028: lui $25, 2 +# CHECK-NEXT: 2002c: j 131136 +# CHECK-NEXT: 20030: addiu $25, $25, 64 +# CHECK-NEXT: 20034: nop # CHECK: foo2: -# CHECK-NEXT: 20040: 00 00 00 00 nop +# CHECK-NEXT: 20040: nop # CHECK: __LA25Thunk_fpic: -# CHECK-NEXT: 20044: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 20048: 08 00 80 18 j 131168 -# CHECK-NEXT: 2004c: 27 39 00 60 addiu $25, $25, 96 -# CHECK-NEXT: 20050: 00 00 00 00 nop +# CHECK-NEXT: 20044: lui $25, 2 +# CHECK-NEXT: 20048: j 131168 +# CHECK-NEXT: 2004c: addiu $25, $25, 96 +# CHECK-NEXT: 20050: nop # CHECK: fpic: -# CHECK-NEXT: 20060: 00 00 00 00 nop +# CHECK-NEXT: 20060: nop # CHECK: fnpic: -# CHECK-NEXT: 20070: 00 00 00 00 nop +# CHECK-NEXT: 20070: nop # CHECK-EMPTY: # CHECK-NEXT: Disassembly of section differentos: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20074: 0c 00 80 00 jal 131072 <__LA25Thunk_foo1a> -# CHECK-NEXT: 20078: 00 00 00 00 nop -# CHECK-NEXT: 2007c: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# CHECK-NEXT: 20080: 00 00 00 00 nop -# CHECK-NEXT: 20084: 0c 00 80 04 jal 131088 <__LA25Thunk_foo1b> -# CHECK-NEXT: 20088: 00 00 00 00 nop -# CHECK-NEXT: 2008c: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# CHECK-NEXT: 20090: 00 00 00 00 nop -# CHECK-NEXT: 20094: 0c 00 80 11 jal 131140 <__LA25Thunk_fpic> -# CHECK-NEXT: 20098: 00 00 00 00 nop -# CHECK-NEXT: 2009c: 0c 00 80 1c jal 131184 -# CHECK-NEXT: 200a0: 00 00 00 00 nop +# CHECK-NEXT: 20074: jal 131072 <__LA25Thunk_foo1a> +# CHECK-NEXT: 20078: nop +# CHECK-NEXT: 2007c: jal 131112 <__LA25Thunk_foo2> +# CHECK-NEXT: 20080: nop +# CHECK-NEXT: 20084: jal 131088 <__LA25Thunk_foo1b> +# CHECK-NEXT: 20088: nop +# CHECK-NEXT: 2008c: jal 131112 <__LA25Thunk_foo2> +# CHECK-NEXT: 20090: nop +# CHECK-NEXT: 20094: jal 131140 <__LA25Thunk_fpic> +# CHECK-NEXT: 20098: nop +# CHECK-NEXT: 2009c: jal 131184 +# CHECK-NEXT: 200a0: nop # Make sure the thunks are created properly no matter how # objects are laid out. # # RUN: ld.lld %t-pic.o %t-npic.o %t-sto-pic.o -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck -check-prefix=REVERSE %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck -check-prefix=REVERSE %s # REVERSE: Disassembly of section .text: # REVERSE-EMPTY: # REVERSE-NEXT: __LA25Thunk_foo1a: -# REVERSE-NEXT: 20000: 3c 19 00 02 lui $25, 2 -# REVERSE-NEXT: 20004: 08 00 80 08 j 131104 -# REVERSE-NEXT: 20008: 27 39 00 20 addiu $25, $25, 32 -# REVERSE-NEXT: 2000c: 00 00 00 00 nop +# REVERSE-NEXT: 20000: lui $25, 2 +# REVERSE-NEXT: 20004: j 131104 +# REVERSE-NEXT: 20008: addiu $25, $25, 32 +# REVERSE-NEXT: 2000c: nop # REVERSE: __LA25Thunk_foo1b: -# REVERSE-NEXT: 20010: 3c 19 00 02 lui $25, 2 -# REVERSE-NEXT: 20014: 08 00 80 09 j 131108 -# REVERSE-NEXT: 20018: 27 39 00 24 addiu $25, $25, 36 -# REVERSE-NEXT: 2001c: 00 00 00 00 nop +# REVERSE-NEXT: 20010: lui $25, 2 +# REVERSE-NEXT: 20014: j 131108 +# REVERSE-NEXT: 20018: addiu $25, $25, 36 +# REVERSE-NEXT: 2001c: nop # REVERSE: foo1a: -# REVERSE-NEXT: 20020: 00 00 00 00 nop +# REVERSE-NEXT: 20020: nop # REVERSE: foo1b: -# REVERSE-NEXT: 20024: 00 00 00 00 nop +# REVERSE-NEXT: 20024: nop # REVERSE: __LA25Thunk_foo2: -# REVERSE-NEXT: 20028: 3c 19 00 02 lui $25, 2 -# REVERSE-NEXT: 2002c: 08 00 80 10 j 131136 -# REVERSE-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 -# REVERSE-NEXT: 20034: 00 00 00 00 nop +# REVERSE-NEXT: 20028: lui $25, 2 +# REVERSE-NEXT: 2002c: j 131136 +# REVERSE-NEXT: 20030: addiu $25, $25, 64 +# REVERSE-NEXT: 20034: nop # REVERSE: foo2: -# REVERSE-NEXT: 20040: 00 00 00 00 nop +# REVERSE-NEXT: 20040: nop # REVERSE: __LA25Thunk_fpic: -# REVERSE-NEXT: 20050: 3c 19 00 02 lui $25, 2 -# REVERSE-NEXT: 20054: 08 00 80 18 j 131168 -# REVERSE-NEXT: 20058: 27 39 00 60 addiu $25, $25, 96 -# REVERSE-NEXT: 2005c: 00 00 00 00 nop +# REVERSE-NEXT: 20050: lui $25, 2 +# REVERSE-NEXT: 20054: j 131168 +# REVERSE-NEXT: 20058: addiu $25, $25, 96 +# REVERSE-NEXT: 2005c: nop # REVERSE: fpic: -# REVERSE-NEXT: 20060: 00 00 00 00 nop +# REVERSE-NEXT: 20060: nop # REVERSE: fnpic: -# REVERSE-NEXT: 20070: 00 00 00 00 nop +# REVERSE-NEXT: 20070: nop # REVERSE: Disassembly of section differentos: # REVERSE-EMPTY: # REVERSE-NEXT: __start: -# REVERSE-NEXT: 20074: 0c 00 80 00 jal 131072 <__LA25Thunk_foo1a> -# REVERSE-NEXT: 20078: 00 00 00 00 nop -# REVERSE-NEXT: 2007c: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# REVERSE-NEXT: 20080: 00 00 00 00 nop -# REVERSE-NEXT: 20084: 0c 00 80 04 jal 131088 <__LA25Thunk_foo1b> -# REVERSE-NEXT: 20088: 00 00 00 00 nop -# REVERSE-NEXT: 2008c: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# REVERSE-NEXT: 20090: 00 00 00 00 nop -# REVERSE-NEXT: 20094: 0c 00 80 14 jal 131152 <__LA25Thunk_fpic> -# REVERSE-NEXT: 20098: 00 00 00 00 nop -# REVERSE-NEXT: 2009c: 0c 00 80 1c jal 131184 -# REVERSE-NEXT: 200a0: 00 00 00 00 nop +# REVERSE-NEXT: 20074: jal 131072 <__LA25Thunk_foo1a> +# REVERSE-NEXT: 20078: nop +# REVERSE-NEXT: 2007c: jal 131112 <__LA25Thunk_foo2> +# REVERSE-NEXT: 20080: nop +# REVERSE-NEXT: 20084: jal 131088 <__LA25Thunk_foo1b> +# REVERSE-NEXT: 20088: nop +# REVERSE-NEXT: 2008c: jal 131112 <__LA25Thunk_foo2> +# REVERSE-NEXT: 20090: nop +# REVERSE-NEXT: 20094: jal 131152 <__LA25Thunk_fpic> +# REVERSE-NEXT: 20098: nop +# REVERSE-NEXT: 2009c: jal 131184 +# REVERSE-NEXT: 200a0: nop .section differentos, "ax", %progbits .globl __start diff --git a/lld/test/ELF/mips-npic-call-pic-script.s b/lld/test/ELF/mips-npic-call-pic-script.s index 90c1eee..d529271 100644 --- a/lld/test/ELF/mips-npic-call-pic-script.s +++ b/lld/test/ELF/mips-npic-call-pic-script.s @@ -11,62 +11,62 @@ # RUN: %p/Inputs/mips-pic.s -o %t-pic.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t-npic.o # RUN: ld.lld --script %t1.script %t-npic.o %t-pic.o %t-sto-pic.o -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s # CHECK: Disassembly of section .out: # CHECK-EMPTY: # CHECK-NEXT: __LA25Thunk_foo1a: -# CHECK-NEXT: 20000: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 20004: 08 00 80 08 j 131104 -# CHECK-NEXT: 20008: 27 39 00 20 addiu $25, $25, 32 -# CHECK-NEXT: 2000c: 00 00 00 00 nop +# CHECK-NEXT: 20000: lui $25, 2 +# CHECK-NEXT: 20004: j 131104 +# CHECK-NEXT: 20008: addiu $25, $25, 32 +# CHECK-NEXT: 2000c: nop # CHECK: __LA25Thunk_foo1b: -# CHECK-NEXT: 20010: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 20014: 08 00 80 09 j 131108 -# CHECK-NEXT: 20018: 27 39 00 24 addiu $25, $25, 36 -# CHECK-NEXT: 2001c: 00 00 00 00 nop +# CHECK-NEXT: 20010: lui $25, 2 +# CHECK-NEXT: 20014: j 131108 +# CHECK-NEXT: 20018: addiu $25, $25, 36 +# CHECK-NEXT: 2001c: nop # CHECK: foo1a: -# CHECK-NEXT: 20020: 00 00 00 00 nop +# CHECK-NEXT: 20020: nop # CHECK: foo1b: -# CHECK-NEXT: 20024: 00 00 00 00 nop +# CHECK-NEXT: 20024: nop # CHECK: __LA25Thunk_foo2: -# CHECK-NEXT: 20028: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 2002c: 08 00 80 10 j 131136 -# CHECK-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 -# CHECK-NEXT: 20034: 00 00 00 00 nop +# CHECK-NEXT: 20028: lui $25, 2 +# CHECK-NEXT: 2002c: j 131136 +# CHECK-NEXT: 20030: addiu $25, $25, 64 +# CHECK-NEXT: 20034: nop # CHECK: foo2: -# CHECK-NEXT: 20040: 00 00 00 00 nop +# CHECK-NEXT: 20040: nop # CHECK: __start: -# CHECK-NEXT: 20150: 0c 00 80 00 jal 131072 <__LA25Thunk_foo1a> -# CHECK-NEXT: 20154: 00 00 00 00 nop -# CHECK-NEXT: 20158: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# CHECK-NEXT: 2015c: 00 00 00 00 nop -# CHECK-NEXT: 20160: 0c 00 80 04 jal 131088 <__LA25Thunk_foo1b> -# CHECK-NEXT: 20164: 00 00 00 00 nop -# CHECK-NEXT: 20168: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# CHECK-NEXT: 2016c: 00 00 00 00 nop -# CHECK-NEXT: 20170: 0c 00 80 60 jal 131456 <__LA25Thunk_fpic> -# CHECK-NEXT: 20174: 00 00 00 00 nop -# CHECK-NEXT: 20178: 0c 00 80 68 jal 131488 -# CHECK-NEXT: 2017c: 00 00 00 00 nop +# CHECK-NEXT: 20150: jal 131072 <__LA25Thunk_foo1a> +# CHECK-NEXT: 20154: nop +# CHECK-NEXT: 20158: jal 131112 <__LA25Thunk_foo2> +# CHECK-NEXT: 2015c: nop +# CHECK-NEXT: 20160: jal 131088 <__LA25Thunk_foo1b> +# CHECK-NEXT: 20164: nop +# CHECK-NEXT: 20168: jal 131112 <__LA25Thunk_foo2> +# CHECK-NEXT: 2016c: nop +# CHECK-NEXT: 20170: jal 131456 <__LA25Thunk_fpic> +# CHECK-NEXT: 20174: nop +# CHECK-NEXT: 20178: jal 131488 +# CHECK-NEXT: 2017c: nop # CHECK: __LA25Thunk_fpic: -# CHECK-NEXT: 20180: 3c 19 00 02 lui $25, 2 -# CHECK-NEXT: 20184: 08 00 80 64 j 131472 -# CHECK-NEXT: 20188: 27 39 01 90 addiu $25, $25, 400 -# CHECK-NEXT: 2018c: 00 00 00 00 nop +# CHECK-NEXT: 20180: lui $25, 2 +# CHECK-NEXT: 20184: j 131472 +# CHECK-NEXT: 20188: addiu $25, $25, 400 +# CHECK-NEXT: 2018c: nop # CHECK: fpic: -# CHECK-NEXT: 20190: 00 00 00 00 nop +# CHECK-NEXT: 20190: nop # CHECK: fnpic: -# CHECK-NEXT: 201a0: 00 00 00 00 nop +# CHECK-NEXT: 201a0: nop .text .globl __start @@ -82,123 +82,123 @@ __start: # .text.2 sections will be added to .text # RUN: echo "SECTIONS { .text 0x20000 : { *(.text) } }" > %t2.script # RUN: ld.lld --script %t2.script %t-npic.o %t-pic.o %t-sto-pic.o -o %t2.exe -# RUN: llvm-objdump -d %t2.exe | FileCheck -check-prefix=ORPH1 %s +# RUN: llvm-objdump -d --no-show-raw-insn %t2.exe | FileCheck -check-prefix=ORPH1 %s # ORPH1: Disassembly of section .text: # ORPH1-EMPTY: # ORPH1-NEXT: __start: -# ORPH1-NEXT: 20000: 0c 00 80 15 jal 131156 <__LA25Thunk_foo1a> -# ORPH1-NEXT: 20004: 00 00 00 00 nop -# ORPH1-NEXT: 20008: 0c 00 80 22 jal 131208 <__LA25Thunk_foo2> -# ORPH1-NEXT: 2000c: 00 00 00 00 nop -# ORPH1-NEXT: 20010: 0c 00 80 19 jal 131172 <__LA25Thunk_foo1b> -# ORPH1-NEXT: 20014: 00 00 00 00 nop -# ORPH1-NEXT: 20018: 0c 00 80 22 jal 131208 <__LA25Thunk_foo2> -# ORPH1-NEXT: 2001c: 00 00 00 00 nop -# ORPH1-NEXT: 20020: 0c 00 80 0c jal 131120 <__LA25Thunk_fpic> -# ORPH1-NEXT: 20024: 00 00 00 00 nop -# ORPH1-NEXT: 20028: 0c 00 80 14 jal 131152 -# ORPH1-NEXT: 2002c: 00 00 00 00 nop +# ORPH1-NEXT: 20000: jal 131156 <__LA25Thunk_foo1a> +# ORPH1-NEXT: 20004: nop +# ORPH1-NEXT: 20008: jal 131208 <__LA25Thunk_foo2> +# ORPH1-NEXT: 2000c: nop +# ORPH1-NEXT: 20010: jal 131172 <__LA25Thunk_foo1b> +# ORPH1-NEXT: 20014: nop +# ORPH1-NEXT: 20018: jal 131208 <__LA25Thunk_foo2> +# ORPH1-NEXT: 2001c: nop +# ORPH1-NEXT: 20020: jal 131120 <__LA25Thunk_fpic> +# ORPH1-NEXT: 20024: nop +# ORPH1-NEXT: 20028: jal 131152 +# ORPH1-NEXT: 2002c: nop # ORPH1: __LA25Thunk_fpic: -# ORPH1-NEXT: 20030: 3c 19 00 02 lui $25, 2 -# ORPH1-NEXT: 20034: 08 00 80 10 j 131136 -# ORPH1-NEXT: 20038: 27 39 00 40 addiu $25, $25, 64 -# ORPH1-NEXT: 2003c: 00 00 00 00 nop +# ORPH1-NEXT: 20030: lui $25, 2 +# ORPH1-NEXT: 20034: j 131136 +# ORPH1-NEXT: 20038: addiu $25, $25, 64 +# ORPH1-NEXT: 2003c: nop # ORPH1: fpic: -# ORPH1-NEXT: 20040: 00 00 00 00 nop +# ORPH1-NEXT: 20040: nop # ORPH1: fnpic: -# ORPH1-NEXT: 20050: 00 00 00 00 nop +# ORPH1-NEXT: 20050: nop # ORPH1: __LA25Thunk_foo1a: -# ORPH1-NEXT: 20054: 3c 19 00 02 lui $25, 2 -# ORPH1-NEXT: 20058: 08 00 80 20 j 131200 -# ORPH1-NEXT: 2005c: 27 39 00 80 addiu $25, $25, 128 -# ORPH1-NEXT: 20060: 00 00 00 00 nop +# ORPH1-NEXT: 20054: lui $25, 2 +# ORPH1-NEXT: 20058: j 131200 +# ORPH1-NEXT: 2005c: addiu $25, $25, 128 +# ORPH1-NEXT: 20060: nop # ORPH1: __LA25Thunk_foo1b: -# ORPH1-NEXT: 20064: 3c 19 00 02 lui $25, 2 -# ORPH1-NEXT: 20068: 08 00 80 21 j 131204 -# ORPH1-NEXT: 2006c: 27 39 00 84 addiu $25, $25, 132 -# ORPH1-NEXT: 20070: 00 00 00 00 nop +# ORPH1-NEXT: 20064: lui $25, 2 +# ORPH1-NEXT: 20068: j 131204 +# ORPH1-NEXT: 2006c: addiu $25, $25, 132 +# ORPH1-NEXT: 20070: nop # ORPH1: foo1a: -# ORPH1-NEXT: 20080: 00 00 00 00 nop +# ORPH1-NEXT: 20080: nop # ORPH1: foo1b: -# ORPH1-NEXT: 20084: 00 00 00 00 nop +# ORPH1-NEXT: 20084: nop # ORPH1: __LA25Thunk_foo2: -# ORPH1-NEXT: 20088: 3c 19 00 02 lui $25, 2 -# ORPH1-NEXT: 2008c: 08 00 80 28 j 131232 -# ORPH1-NEXT: 20090: 27 39 00 a0 addiu $25, $25, 160 -# ORPH1-NEXT: 20094: 00 00 00 00 nop +# ORPH1-NEXT: 20088: lui $25, 2 +# ORPH1-NEXT: 2008c: j 131232 +# ORPH1-NEXT: 20090: addiu $25, $25, 160 +# ORPH1-NEXT: 20094: nop # ORPH1: foo2: -# ORPH1-NEXT: 200a0: 00 00 00 00 nop +# ORPH1-NEXT: 200a0: nop # Test script with orphans added to new OutputSection, the .text.1 and # .text.2 sections will form a new OutputSection .text # RUN: echo "SECTIONS { .out 0x20000 : { *(.text) } }" > %t3.script # RUN: ld.lld --script %t3.script %t-npic.o %t-pic.o %t-sto-pic.o -o %t3.exe -# RUN: llvm-objdump -d %t3.exe | FileCheck -check-prefix=ORPH2 %s +# RUN: llvm-objdump -d --no-show-raw-insn %t3.exe | FileCheck -check-prefix=ORPH2 %s # ORPH2: Disassembly of section .out: # ORPH2-EMPTY: # ORPH2-NEXT: __start: -# ORPH2-NEXT: 20000: 0c 00 80 18 jal 131168 <__LA25Thunk_foo1a> -# ORPH2-NEXT: 20004: 00 00 00 00 nop -# ORPH2-NEXT: 20008: 0c 00 80 22 jal 131208 <__LA25Thunk_foo2> -# ORPH2-NEXT: 2000c: 00 00 00 00 nop -# ORPH2-NEXT: 20010: 0c 00 80 1c jal 131184 <__LA25Thunk_foo1b> -# ORPH2-NEXT: 20014: 00 00 00 00 nop -# ORPH2-NEXT: 20018: 0c 00 80 22 jal 131208 <__LA25Thunk_foo2> -# ORPH2-NEXT: 2001c: 00 00 00 00 nop -# ORPH2-NEXT: 20020: 0c 00 80 0c jal 131120 <__LA25Thunk_fpic> -# ORPH2-NEXT: 20024: 00 00 00 00 nop -# ORPH2-NEXT: 20028: 0c 00 80 14 jal 131152 -# ORPH2-NEXT: 2002c: 00 00 00 00 nop +# ORPH2-NEXT: 20000: jal 131168 <__LA25Thunk_foo1a> +# ORPH2-NEXT: 20004: nop +# ORPH2-NEXT: 20008: jal 131208 <__LA25Thunk_foo2> +# ORPH2-NEXT: 2000c: nop +# ORPH2-NEXT: 20010: jal 131184 <__LA25Thunk_foo1b> +# ORPH2-NEXT: 20014: nop +# ORPH2-NEXT: 20018: jal 131208 <__LA25Thunk_foo2> +# ORPH2-NEXT: 2001c: nop +# ORPH2-NEXT: 20020: jal 131120 <__LA25Thunk_fpic> +# ORPH2-NEXT: 20024: nop +# ORPH2-NEXT: 20028: jal 131152 +# ORPH2-NEXT: 2002c: nop # ORPH2: __LA25Thunk_fpic: -# ORPH2-NEXT: 20030: 3c 19 00 02 lui $25, 2 -# ORPH2-NEXT: 20034: 08 00 80 10 j 131136 -# ORPH2-NEXT: 20038: 27 39 00 40 addiu $25, $25, 64 -# ORPH2-NEXT: 2003c: 00 00 00 00 nop +# ORPH2-NEXT: 20030: lui $25, 2 +# ORPH2-NEXT: 20034: j 131136 +# ORPH2-NEXT: 20038: addiu $25, $25, 64 +# ORPH2-NEXT: 2003c: nop # ORPH2: fpic: -# ORPH2-NEXT: 20040: 00 00 00 00 nop +# ORPH2-NEXT: 20040: nop # ORPH2: fnpic: -# ORPH2-NEXT: 20050: 00 00 00 00 nop +# ORPH2-NEXT: 20050: nop # ORPH2-EMPTY: # ORPH2-NEXT: Disassembly of section .text: # ORPH2-EMPTY: # ORPH2-NEXT: __LA25Thunk_foo1a: -# ORPH2-NEXT: 20060: 3c 19 00 02 lui $25, 2 -# ORPH2-NEXT: 20064: 08 00 80 20 j 131200 -# ORPH2-NEXT: 20068: 27 39 00 80 addiu $25, $25, 128 -# ORPH2-NEXT: 2006c: 00 00 00 00 nop +# ORPH2-NEXT: 20060: lui $25, 2 +# ORPH2-NEXT: 20064: j 131200 +# ORPH2-NEXT: 20068: addiu $25, $25, 128 +# ORPH2-NEXT: 2006c: nop # ORPH2: __LA25Thunk_foo1b: -# ORPH2-NEXT: 20070: 3c 19 00 02 lui $25, 2 -# ORPH2-NEXT: 20074: 08 00 80 21 j 131204 -# ORPH2-NEXT: 20078: 27 39 00 84 addiu $25, $25, 132 -# ORPH2-NEXT: 2007c: 00 00 00 00 nop +# ORPH2-NEXT: 20070: lui $25, 2 +# ORPH2-NEXT: 20074: j 131204 +# ORPH2-NEXT: 20078: addiu $25, $25, 132 +# ORPH2-NEXT: 2007c: nop # ORPH2: foo1a: -# ORPH2-NEXT: 20080: 00 00 00 00 nop +# ORPH2-NEXT: 20080: nop # ORPH2: foo1b: -# ORPH2-NEXT: 20084: 00 00 00 00 nop +# ORPH2-NEXT: 20084: nop # ORPH2: __LA25Thunk_foo2: -# ORPH2-NEXT: 20088: 3c 19 00 02 lui $25, 2 -# ORPH2-NEXT: 2008c: 08 00 80 28 j 131232 -# ORPH2-NEXT: 20090: 27 39 00 a0 addiu $25, $25, 160 -# ORPH2-NEXT: 20094: 00 00 00 00 nop +# ORPH2-NEXT: 20088: lui $25, 2 +# ORPH2-NEXT: 2008c: j 131232 +# ORPH2-NEXT: 20090: addiu $25, $25, 160 +# ORPH2-NEXT: 20094: nop # ORPH2: foo2: -# ORPH2-NEXT: 200a0: 00 00 00 00 nop +# ORPH2-NEXT: 200a0: nop diff --git a/lld/test/ELF/mips-npic-call-pic.s b/lld/test/ELF/mips-npic-call-pic.s index a742c40b..7a99c05 100644 --- a/lld/test/ELF/mips-npic-call-pic.s +++ b/lld/test/ELF/mips-npic-call-pic.s @@ -12,7 +12,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux -mcpu=mips32r2 \ # RUN: %s -o %t-npic-r2.o # RUN: ld.lld %t-npic-r2.o %t-pic-r2.o %t-sto-pic-r2.o -o %t-r2.exe -# RUN: llvm-objdump -d %t-r2.exe | FileCheck --check-prefixes=CHECK,R2 %s +# RUN: llvm-objdump -d --no-show-raw-insn %t-r2.exe | FileCheck --check-prefixes=CHECK,R2 %s # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux -mcpu=mips32r6 \ # RUN: %p/Inputs/mips-fpic.s -o %t-fpic.o @@ -24,134 +24,134 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux -mcpu=mips32r6 \ # RUN: %s -o %t-npic-r6.o # RUN: ld.lld %t-npic-r6.o %t-pic-r6.o %t-sto-pic-r6.o -o %t-r6.exe -# RUN: llvm-objdump -d %t-r6.exe | FileCheck --check-prefixes=CHECK,R6 %s +# RUN: llvm-objdump -d --no-show-raw-insn %t-r6.exe | FileCheck --check-prefixes=CHECK,R6 %s # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: 0c 00 80 0c jal 131120 <__LA25Thunk_foo1a> -# CHECK-NEXT: 20004: 00 00 00 00 nop -# CHECK-NEXT: 20008: 0c 00 80 16 jal 131160 <__LA25Thunk_foo2> -# CHECK-NEXT: 2000c: 00 00 00 00 nop -# CHECK-NEXT: 20010: 0c 00 80 10 jal 131136 <__LA25Thunk_foo1b> -# CHECK-NEXT: 20014: 00 00 00 00 nop -# CHECK-NEXT: 20018: 0c 00 80 16 jal 131160 <__LA25Thunk_foo2> -# CHECK-NEXT: 2001c: 00 00 00 00 nop -# CHECK-NEXT: 20020: 0c 00 80 1d jal 131188 <__LA25Thunk_fpic> -# CHECK-NEXT: 20024: 00 00 00 00 nop -# CHECK-NEXT: 20028: 0c 00 80 28 jal 131232 -# CHECK-NEXT: 2002c: 00 00 00 00 nop +# CHECK-NEXT: 20000: jal 131120 <__LA25Thunk_foo1a> +# CHECK-NEXT: 20004: nop +# CHECK-NEXT: 20008: jal 131160 <__LA25Thunk_foo2> +# CHECK-NEXT: 2000c: nop +# CHECK-NEXT: 20010: jal 131136 <__LA25Thunk_foo1b> +# CHECK-NEXT: 20014: nop +# CHECK-NEXT: 20018: jal 131160 <__LA25Thunk_foo2> +# CHECK-NEXT: 2001c: nop +# CHECK-NEXT: 20020: jal 131188 <__LA25Thunk_fpic> +# CHECK-NEXT: 20024: nop +# CHECK-NEXT: 20028: jal 131232 +# CHECK-NEXT: 2002c: nop # # CHECK: __LA25Thunk_foo1a: -# R2: 20030: 3c 19 00 02 lui $25, 2 -# R6: 20030: 3c 19 00 02 aui $25, $zero, 2 -# CHECK: 20034: 08 00 80 14 j 131152 -# CHECK-NEXT: 20038: 27 39 00 50 addiu $25, $25, 80 -# CHECK-NEXT: 2003c: 00 00 00 00 nop +# R2: 20030: lui $25, 2 +# R6: 20030: aui $25, $zero, 2 +# CHECK: 20034: j 131152 +# CHECK-NEXT: 20038: addiu $25, $25, 80 +# CHECK-NEXT: 2003c: nop # CHECK: __LA25Thunk_foo1b: -# R2: 20040: 3c 19 00 02 lui $25, 2 -# R6: 20040: 3c 19 00 02 aui $25, $zero, 2 -# CHECK-NEXT: 20044: 08 00 80 15 j 131156 -# CHECK-NEXT: 20048: 27 39 00 54 addiu $25, $25, 84 -# CHECK-NEXT: 2004c: 00 00 00 00 nop +# R2: 20040: lui $25, 2 +# R6: 20040: aui $25, $zero, 2 +# CHECK-NEXT: 20044: j 131156 +# CHECK-NEXT: 20048: addiu $25, $25, 84 +# CHECK-NEXT: 2004c: nop # CHECK: foo1a: -# CHECK-NEXT: 20050: 00 00 00 00 nop +# CHECK-NEXT: 20050: nop # CHECK: foo1b: -# CHECK-NEXT: 20054: 00 00 00 00 nop +# CHECK-NEXT: 20054: nop # CHECK: __LA25Thunk_foo2: -# R2: 20058: 3c 19 00 02 lui $25, 2 -# R6: 20058: 3c 19 00 02 aui $25, $zero, 2 -# CHECK-NEXT: 2005c: 08 00 80 1c j 131184 -# CHECK-NEXT: 20060: 27 39 00 70 addiu $25, $25, 112 -# CHECK-NEXT: 20064: 00 00 00 00 nop +# R2: 20058: lui $25, 2 +# R6: 20058: aui $25, $zero, 2 +# CHECK-NEXT: 2005c: j 131184 +# CHECK-NEXT: 20060: addiu $25, $25, 112 +# CHECK-NEXT: 20064: nop # CHECK: foo2: -# CHECK-NEXT: 20070: 00 00 00 00 nop +# CHECK-NEXT: 20070: nop # CHECK: __LA25Thunk_fpic: -# R2: 20074: 3c 19 00 02 lui $25, 2 -# R6: 20074: 3c 19 00 02 aui $25, $zero, 2 -# CHECK-NEXT: 20078: 08 00 80 24 j 131216 -# CHECK-NEXT: 2007c: 27 39 00 90 addiu $25, $25, 144 -# CHECK-NEXT: 20080: 00 00 00 00 nop +# R2: 20074: lui $25, 2 +# R6: 20074: aui $25, $zero, 2 +# CHECK-NEXT: 20078: j 131216 +# CHECK-NEXT: 2007c: addiu $25, $25, 144 +# CHECK-NEXT: 20080: nop # CHECK: fpic: -# CHECK-NEXT: 20090: 00 00 00 00 nop +# CHECK-NEXT: 20090: nop # CHECK: fnpic: -# CHECK-NEXT: 200a0: 00 00 00 00 nop +# CHECK-NEXT: 200a0: nop # Make sure the thunks are created properly no matter how # objects are laid out. # # RUN: ld.lld %t-pic-r2.o %t-npic-r2.o %t-sto-pic-r2.o -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck -check-prefixes=REVERSE,REV-R2 %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck -check-prefixes=REVERSE,REV-R2 %s # # RUN: ld.lld %t-pic-r6.o %t-npic-r6.o %t-sto-pic-r6.o -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck -check-prefixes=REVERSE,REV-R6 %s +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck -check-prefixes=REVERSE,REV-R6 %s # REVERSE: Disassembly of section .text: # REVERSE-EMPTY: # REVERSE-NEXT: __LA25Thunk_foo1a: -# REV-R2: 20000: 3c 19 00 02 lui $25, 2 -# REV-R6: 20000: 3c 19 00 02 aui $25, $zero, 2 -# REVERSE: 20004: 08 00 80 08 j 131104 -# REVERSE-NEXT: 20008: 27 39 00 20 addiu $25, $25, 32 -# REVERSE-NEXT: 2000c: 00 00 00 00 nop +# REV-R2: 20000: lui $25, 2 +# REV-R6: 20000: aui $25, $zero, 2 +# REVERSE: 20004: j 131104 +# REVERSE-NEXT: 20008: addiu $25, $25, 32 +# REVERSE-NEXT: 2000c: nop # REVERSE: __LA25Thunk_foo1b: -# REV-R2: 20010: 3c 19 00 02 lui $25, 2 -# REV-R6: 20010: 3c 19 00 02 aui $25, $zero, 2 -# REVERSE: 20014: 08 00 80 09 j 131108 -# REVERSE-NEXT: 20018: 27 39 00 24 addiu $25, $25, 36 -# REVERSE-NEXT: 2001c: 00 00 00 00 nop +# REV-R2: 20010: lui $25, 2 +# REV-R6: 20010: aui $25, $zero, 2 +# REVERSE: 20014: j 131108 +# REVERSE-NEXT: 20018: addiu $25, $25, 36 +# REVERSE-NEXT: 2001c: nop # REVERSE: foo1a: -# REVERSE-NEXT: 20020: 00 00 00 00 nop +# REVERSE-NEXT: 20020: nop # REVERSE: foo1b: -# REVERSE-NEXT: 20024: 00 00 00 00 nop +# REVERSE-NEXT: 20024: nop # REVERSE: __LA25Thunk_foo2: -# REV-R2: 20028: 3c 19 00 02 lui $25, 2 -# REV-R6: 20028: 3c 19 00 02 aui $25, $zero, 2 -# REVERSE: 2002c: 08 00 80 10 j 131136 -# REVERSE-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 -# REVERSE-NEXT: 20034: 00 00 00 00 nop +# REV-R2: 20028: lui $25, 2 +# REV-R6: 20028: aui $25, $zero, 2 +# REVERSE: 2002c: j 131136 +# REVERSE-NEXT: 20030: addiu $25, $25, 64 +# REVERSE-NEXT: 20034: nop # REVERSE: foo2: -# REVERSE-NEXT: 20040: 00 00 00 00 nop +# REVERSE-NEXT: 20040: nop # REVERSE: __start: -# REVERSE-NEXT: 20050: 0c 00 80 00 jal 131072 <__LA25Thunk_foo1a> -# REVERSE-NEXT: 20054: 00 00 00 00 nop -# REVERSE-NEXT: 20058: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# REVERSE-NEXT: 2005c: 00 00 00 00 nop -# REVERSE-NEXT: 20060: 0c 00 80 04 jal 131088 <__LA25Thunk_foo1b> -# REVERSE-NEXT: 20064: 00 00 00 00 nop -# REVERSE-NEXT: 20068: 0c 00 80 0a jal 131112 <__LA25Thunk_foo2> -# REVERSE-NEXT: 2006c: 00 00 00 00 nop -# REVERSE-NEXT: 20070: 0c 00 80 20 jal 131200 <__LA25Thunk_fpic> -# REVERSE-NEXT: 20074: 00 00 00 00 nop -# REVERSE-NEXT: 20078: 0c 00 80 28 jal 131232 -# REVERSE-NEXT: 2007c: 00 00 00 00 nop +# REVERSE-NEXT: 20050: jal 131072 <__LA25Thunk_foo1a> +# REVERSE-NEXT: 20054: nop +# REVERSE-NEXT: 20058: jal 131112 <__LA25Thunk_foo2> +# REVERSE-NEXT: 2005c: nop +# REVERSE-NEXT: 20060: jal 131088 <__LA25Thunk_foo1b> +# REVERSE-NEXT: 20064: nop +# REVERSE-NEXT: 20068: jal 131112 <__LA25Thunk_foo2> +# REVERSE-NEXT: 2006c: nop +# REVERSE-NEXT: 20070: jal 131200 <__LA25Thunk_fpic> +# REVERSE-NEXT: 20074: nop +# REVERSE-NEXT: 20078: jal 131232 +# REVERSE-NEXT: 2007c: nop # REVERSE: __LA25Thunk_fpic: -# REV-R2: 20080: 3c 19 00 02 lui $25, 2 -# REV-R6: 20080: 3c 19 00 02 aui $25, $zero, 2 -# REVERSE: 20084: 08 00 80 24 j 131216 -# REVERSE-NEXT: 20088: 27 39 00 90 addiu $25, $25, 144 -# REVERSE-NEXT: 2008c: 00 00 00 00 nop +# REV-R2: 20080: lui $25, 2 +# REV-R6: 20080: aui $25, $zero, 2 +# REVERSE: 20084: j 131216 +# REVERSE-NEXT: 20088: addiu $25, $25, 144 +# REVERSE-NEXT: 2008c: nop # REVERSE: fpic: -# REVERSE-NEXT: 20090: 00 00 00 00 nop +# REVERSE-NEXT: 20090: nop # REVERSE: fnpic: -# REVERSE-NEXT: 200a0: 00 00 00 00 nop +# REVERSE-NEXT: 200a0: nop .text .globl __start diff --git a/lld/test/ELF/mips-pc-relocs.s b/lld/test/ELF/mips-pc-relocs.s index ec7716c..ecacc8a 100644 --- a/lld/test/ELF/mips-pc-relocs.s +++ b/lld/test/ELF/mips-pc-relocs.s @@ -6,7 +6,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mcpu=mips32r6 %S/Inputs/mips-dynamic.s -o %t2.o # RUN: ld.lld %t1.o %t2.o -o %t.exe -# RUN: llvm-objdump -mcpu=mips32r6 -d -t -s %t.exe | FileCheck %s +# RUN: llvm-objdump -mcpu=mips32r6 -d -t -s --no-show-raw-insn %t.exe | FileCheck %s .text .globl __start @@ -24,17 +24,17 @@ __start: # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: ec c8 00 08 lwpc $6, 32 +# CHECK-NEXT: 20000: lwpc $6, 32 # ^-- (0x20020-0x20000)>>2 -# CHECK-NEXT: 20004: 20 a6 00 06 beqc $5, $6, 28 +# CHECK-NEXT: 20004: beqc $5, $6, 28 # ^-- (0x20020-4-0x20004)>>2 -# CHECK-NEXT: 20008: d9 20 00 05 beqzc $9, 24 +# CHECK-NEXT: 20008: beqzc $9, 24 # ^-- (0x20020-4-0x20008)>>2 -# CHECK-NEXT: 2000c: c8 00 00 04 bc 20 +# CHECK-NEXT: 2000c: bc 20 # ^-- (0x20020-4-0x2000c)>>2 -# CHECK-NEXT: 20010: ec 5f 00 00 aluipc $2, 0 +# CHECK-NEXT: 20010: aluipc $2, 0 # ^-- %hi(0x20020-0x20010) -# CHECK-NEXT: 20014: 24 42 00 0c addiu $2, $2, 12 +# CHECK-NEXT: 20014: addiu $2, $2, 12 # ^-- %lo(0x20020-0x20014) # CHECK: Contents of section .data: diff --git a/lld/test/ELF/mips-plt-copy.s b/lld/test/ELF/mips-plt-copy.s index 068f498..1036e79 100644 --- a/lld/test/ELF/mips-plt-copy.s +++ b/lld/test/ELF/mips-plt-copy.s @@ -5,7 +5,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: %S/Inputs/mips-dynamic.s -o %t.so.o -# RUN: ld.lld %t.so.o -shared -o %t.so +# RUN: ld.lld %t.so.o -shared -soname=t.so -o %t.so # RUN: ld.lld %t.o %t.so -o %t.exe # RUN: llvm-readobj -r --mips-plt-got %t.exe | FileCheck %s diff --git a/lld/test/ELF/mips-plt-n32.s b/lld/test/ELF/mips-plt-n32.s index 78cc698..6091edc 100644 --- a/lld/test/ELF/mips-plt-n32.s +++ b/lld/test/ELF/mips-plt-n32.s @@ -6,39 +6,39 @@ # RUN: -target-abi n32 %s -o %t1.o # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \ # RUN: -target-abi n32 %S/Inputs/mips-dynamic.s -o %t2.o -# RUN: ld.lld %t2.o -shared -o %t.so +# RUN: ld.lld %t2.o -shared -soname=t.so -o %t.so # RUN: ld.lld %t1.o %t.so -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=DEFAULT,CHECK -# RUN: ld.lld %t2.o -shared -o %t.so -z hazardplt +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=DEFAULT,CHECK +# RUN: ld.lld %t2.o -shared -soname=t.so -o %t.so -z hazardplt # RUN: ld.lld %t1.o %t.so -o %t.exe -z hazardplt -# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=HAZARDPLT,CHECK +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=HAZARDPLT,CHECK # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: 0c 00 80 0c jal 131120 -# ^-- 0x20030 gotplt[foo0] -# CHECK-NEXT: 20004: 00 00 00 00 nop +# CHECK-NEXT: 20000: jal 131120 +# ^-- 0x20030 gotplt[foo0] +# CHECK-NEXT: 20004: nop # # CHECK-EMPTY: # CHECK-NEXT: Disassembly of section .plt: # CHECK-EMPTY: # CHECK-NEXT: .plt: -# CHECK-NEXT: 20010: 3c 0e 00 03 lui $14, 3 -# CHECK-NEXT: 20014: 8d d9 00 04 lw $25, 4($14) -# CHECK-NEXT: 20018: 25 ce 00 04 addiu $14, $14, 4 -# CHECK-NEXT: 2001c: 03 0e c0 23 subu $24, $24, $14 -# CHECK-NEXT: 20020: 03 e0 78 25 move $15, $ra -# CHECK-NEXT: 20024: 00 18 c0 82 srl $24, $24, 2 -# DEFAULT: 20028: 03 20 f8 09 jalr $25 -# HAZARDPLT: 20028: 03 20 fc 09 jalr.hb $25 -# CHECK-NEXT: 2002c: 27 18 ff fe addiu $24, $24, -2 +# CHECK-NEXT: 20010: lui $14, 3 +# CHECK-NEXT: 20014: lw $25, 4($14) +# CHECK-NEXT: 20018: addiu $14, $14, 4 +# CHECK-NEXT: 2001c: subu $24, $24, $14 +# CHECK-NEXT: 20020: move $15, $ra +# CHECK-NEXT: 20024: srl $24, $24, 2 +# DEFAULT: 20028: jalr $25 +# HAZARDPLT: 20028: jalr.hb $25 +# CHECK-NEXT: 2002c: addiu $24, $24, -2 -# CHECK-NEXT: 20030: 3c 0f 00 03 lui $15, 3 -# CHECK-NEXT: 20034: 8d f9 00 0c lw $25, 12($15) -# DEFAULT: 20038: 03 20 00 08 jr $25 -# HAZARDPLT: 20038: 03 20 04 08 jr.hb $25 -# CHECK-NEXT: 2003c: 25 f8 00 0c addiu $24, $15, 12 +# CHECK-NEXT: 20030: lui $15, 3 +# CHECK-NEXT: 20034: lw $25, 12($15) +# DEFAULT: 20038: jr $25 +# HAZARDPLT: 20038: jr.hb $25 +# CHECK-NEXT: 2003c: addiu $24, $15, 12 .text .global __start diff --git a/lld/test/ELF/mips-plt-n64.s b/lld/test/ELF/mips-plt-n64.s index 1d5309d..212458e 100644 --- a/lld/test/ELF/mips-plt-n64.s +++ b/lld/test/ELF/mips-plt-n64.s @@ -3,37 +3,37 @@ # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \ # RUN: %S/Inputs/mips-dynamic.s -o %t-so.o -# RUN: ld.lld %t-so.o -shared -o %t.so +# RUN: ld.lld %t-so.o -shared -soname=t.so -o %t.so # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t.o # RUN: ld.lld %t.o %t.so -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=CHECK,DEFAULT -# RUN: ld.lld %t-so.o -shared -o %t.so -z hazardplt +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=CHECK,DEFAULT +# RUN: ld.lld %t-so.o -shared -soname=t.so -o %t.so -z hazardplt # RUN: ld.lld %t.o %t.so -o %t.exe -z hazardplt -# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=CHECK,HAZARDPLT +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=CHECK,HAZARDPLT # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: 0c 00 80 0c jal 131120 -# CHECK-NEXT: 20004: 00 00 00 00 nop +# CHECK-NEXT: 20000: jal 131120 +# CHECK-NEXT: 20004: nop # CHECK-EMPTY: # CHECK-NEXT: Disassembly of section .plt: # CHECK-EMPTY: # CHECK-NEXT: .plt: -# CHECK-NEXT: 20010: 3c 0e 00 03 lui $14, 3 -# CHECK-NEXT: 20014: dd d9 00 08 ld $25, 8($14) -# CHECK-NEXT: 20018: 25 ce 00 08 addiu $14, $14, 8 -# CHECK-NEXT: 2001c: 03 0e c0 23 subu $24, $24, $14 -# CHECK-NEXT: 20020: 03 e0 78 25 move $15, $ra -# CHECK-NEXT: 20024: 00 18 c0 c2 srl $24, $24, 3 -# DEFAULT: 20028: 03 20 f8 09 jalr $25 -# HAZARDPLT: 20028: 03 20 fc 09 jalr.hb $25 -# CHECK-NEXT: 2002c: 27 18 ff fe addiu $24, $24, -2 -# CHECK-NEXT: 20030: 3c 0f 00 03 lui $15, 3 -# CHECK-NEXT: 20034: dd f9 00 18 ld $25, 24($15) -# DEFAULT: 20038: 03 20 00 08 jr $25 -# HAZARDPLT: 20038: 03 20 04 08 jr.hb $25 -# CHECK-NEXT: 2003c: 65 f8 00 18 daddiu $24, $15, 24 +# CHECK-NEXT: 20010: lui $14, 3 +# CHECK-NEXT: 20014: ld $25, 8($14) +# CHECK-NEXT: 20018: addiu $14, $14, 8 +# CHECK-NEXT: 2001c: subu $24, $24, $14 +# CHECK-NEXT: 20020: move $15, $ra +# CHECK-NEXT: 20024: srl $24, $24, 3 +# DEFAULT: 20028: jalr $25 +# HAZARDPLT: 20028: jalr.hb $25 +# CHECK-NEXT: 2002c: addiu $24, $24, -2 +# CHECK-NEXT: 20030: lui $15, 3 +# CHECK-NEXT: 20034: ld $25, 24($15) +# DEFAULT: 20038: jr $25 +# HAZARDPLT: 20038: jr.hb $25 +# CHECK-NEXT: 2003c: daddiu $24, $15, 24 .text .option pic0 diff --git a/lld/test/ELF/mips-plt-r6.s b/lld/test/ELF/mips-plt-r6.s index 2fb532d..3d49051d 100644 --- a/lld/test/ELF/mips-plt-r6.s +++ b/lld/test/ELF/mips-plt-r6.s @@ -5,39 +5,39 @@ # RUN: -mcpu=mips32r6 %s -o %t1.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mcpu=mips32r6 %S/Inputs/mips-dynamic.s -o %t2.o -# RUN: ld.lld %t2.o -shared -o %t.so +# RUN: ld.lld %t2.o -shared -soname=t.so -o %t.so # RUN: ld.lld %t1.o %t.so -o %t.exe -# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=DEFAULT,CHECK -# RUN: ld.lld %t2.o -shared -o %t.so -z hazardplt +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=DEFAULT,CHECK +# RUN: ld.lld %t2.o -shared -soname=t.so -o %t.so -z hazardplt # RUN: ld.lld %t1.o %t.so -o %t.exe -z hazardplt -# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=HAZARDPLT,CHECK +# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=HAZARDPLT,CHECK # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: 0c 00 80 0c jal 131120 -# ^-- 0x20030 gotplt[foo0] -# CHECK-NEXT: 20004: 00 00 00 00 nop +# CHECK-NEXT: 20000: jal 131120 +# ^-- 0x20030 gotplt[foo0] +# CHECK-NEXT: 20004: nop # # CHECK-EMPTY: # CHECK-NEXT: Disassembly of section .plt: # CHECK-EMPTY: # CHECK-NEXT: .plt: -# CHECK-NEXT: 20010: 3c 1c 00 03 aui $gp, $zero, 3 -# CHECK-NEXT: 20014: 8f 99 00 04 lw $25, 4($gp) -# CHECK-NEXT: 20018: 27 9c 00 04 addiu $gp, $gp, 4 -# CHECK-NEXT: 2001c: 03 1c c0 23 subu $24, $24, $gp -# CHECK-NEXT: 20020: 03 e0 78 25 move $15, $ra -# CHECK-NEXT: 20024: 00 18 c0 82 srl $24, $24, 2 -# DEFAULT: 20028: 03 20 f8 09 jalr $25 -# HAZARDPLT: 20028: 03 20 fc 09 jalr.hb $25 -# CHECK-NEXT: 2002c: 27 18 ff fe addiu $24, $24, -2 +# CHECK-NEXT: 20010: aui $gp, $zero, 3 +# CHECK-NEXT: 20014: lw $25, 4($gp) +# CHECK-NEXT: 20018: addiu $gp, $gp, 4 +# CHECK-NEXT: 2001c: subu $24, $24, $gp +# CHECK-NEXT: 20020: move $15, $ra +# CHECK-NEXT: 20024: srl $24, $24, 2 +# DEFAULT: 20028: jalr $25 +# HAZARDPLT: 20028: jalr.hb $25 +# CHECK-NEXT: 2002c: addiu $24, $24, -2 -# CHECK-NEXT: 20030: 3c 0f 00 03 aui $15, $zero, 3 -# CHECK-NEXT: 20034: 8d f9 00 0c lw $25, 12($15) -# DEFAULT: 20038: 03 20 00 09 jr $25 -# HAZARDPLT: 20038: 03 20 04 09 jr.hb $25 -# CHECK-NEXT: 2003c: 25 f8 00 0c addiu $24, $15, 12 +# CHECK-NEXT: 20030: aui $15, $zero, 3 +# CHECK-NEXT: 20034: lw $25, 12($15) +# DEFAULT: 20038: jr $25 +# HAZARDPLT: 20038: jr.hb $25 +# CHECK-NEXT: 2003c: addiu $24, $15, 12 .text .global __start diff --git a/lld/test/ELF/mips-tls-64.s b/lld/test/ELF/mips-tls-64.s index 83caa52..14b9aa8 100644 --- a/lld/test/ELF/mips-tls-64.s +++ b/lld/test/ELF/mips-tls-64.s @@ -3,23 +3,23 @@ # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \ # RUN: %p/Inputs/mips-tls.s -o %t.so.o -# RUN: ld.lld -shared %t.so.o -o %t.so +# RUN: ld.lld -shared %t.so.o -soname=t.so -o %t.so # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t.o # RUN: ld.lld %t.o %t.so -o %t.exe -# RUN: llvm-objdump -d -s -t %t.exe | FileCheck -check-prefix=DIS %s +# RUN: llvm-objdump -d -s -t --no-show-raw-insn %t.exe | FileCheck -check-prefix=DIS %s # RUN: llvm-readobj -r --mips-plt-got %t.exe | FileCheck %s # RUN: ld.lld -shared %t.o %t.so -o %t-out.so -# RUN: llvm-objdump -d -s -t %t-out.so | FileCheck -check-prefix=DIS-SO %s +# RUN: llvm-objdump -d -s -t --no-show-raw-insn %t-out.so | FileCheck -check-prefix=DIS-SO %s # RUN: llvm-readobj -r --mips-plt-got %t-out.so | FileCheck -check-prefix=SO %s # DIS: __start: -# DIS-NEXT: 20000: 24 62 80 30 addiu $2, $3, -32720 -# DIS-NEXT: 20004: 24 62 80 20 addiu $2, $3, -32736 -# DIS-NEXT: 20008: 24 62 80 40 addiu $2, $3, -32704 -# DIS-NEXT: 2000c: 24 62 80 50 addiu $2, $3, -32688 -# DIS-NEXT: 20010: 24 62 80 28 addiu $2, $3, -32728 +# DIS-NEXT: 20000: addiu $2, $3, -32720 +# DIS-NEXT: 20004: addiu $2, $3, -32736 +# DIS-NEXT: 20008: addiu $2, $3, -32704 +# DIS-NEXT: 2000c: addiu $2, $3, -32688 +# DIS-NEXT: 20010: addiu $2, $3, -32728 # DIS: Contents of section .got: # DIS-NEXT: 40010 00000000 00000000 80000000 00000000 diff --git a/lld/test/ELF/mips-tls-hilo.s b/lld/test/ELF/mips-tls-hilo.s index 41fc784..5fa15ab 100644 --- a/lld/test/ELF/mips-tls-hilo.s +++ b/lld/test/ELF/mips-tls-hilo.s @@ -4,20 +4,20 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld %t.o -o %t.exe -# RUN: llvm-objdump -d -t %t.exe | FileCheck -check-prefix=DIS %s +# RUN: llvm-objdump -d -t --no-show-raw-insn %t.exe | FileCheck -check-prefix=DIS %s # RUN: llvm-readobj -r --mips-plt-got %t.exe | FileCheck %s # RUN: ld.lld %t.o -shared -o %t.so # RUN: llvm-readobj -r --mips-plt-got %t.so | FileCheck -check-prefix=SO %s # DIS: __start: -# DIS-NEXT: 20000: 24 62 00 00 addiu $2, $3, 0 +# DIS-NEXT: 20000: addiu $2, $3, 0 # %hi(loc0 - .tdata - 0x8000) --^ -# DIS-NEXT: 20004: 24 62 80 00 addiu $2, $3, -32768 +# DIS-NEXT: 20004: addiu $2, $3, -32768 # %lo(loc0 - .tdata - 0x8000) --^ -# DIS-NEXT: 20008: 24 62 00 00 addiu $2, $3, 0 +# DIS-NEXT: 20008: addiu $2, $3, 0 # %hi(loc0 - .tdata - 0x7000) --^ -# DIS-NEXT: 2000c: 24 62 90 00 addiu $2, $3, -28672 +# DIS-NEXT: 2000c: addiu $2, $3, -28672 # %lo(loc0 - .tdata - 0x7000) --^ # DIS: 00000000 l O .tdata 00000000 loc0 diff --git a/lld/test/ELF/mips-tls.s b/lld/test/ELF/mips-tls.s index d33bf6a..1f8d826 100644 --- a/lld/test/ELF/mips-tls.s +++ b/lld/test/ELF/mips-tls.s @@ -3,23 +3,23 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: %p/Inputs/mips-tls.s -o %t.so.o -# RUN: ld.lld -shared %t.so.o -o %t.so +# RUN: ld.lld -shared %t.so.o -soname=t.so -o %t.so # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld %t.o %t.so -o %t.exe -# RUN: llvm-objdump -d -s -t %t.exe | FileCheck -check-prefix=DIS %s +# RUN: llvm-objdump -d -s -t --no-show-raw-insn %t.exe | FileCheck -check-prefix=DIS %s # RUN: llvm-readobj -r --mips-plt-got %t.exe | FileCheck %s # RUN: ld.lld -shared %t.o %t.so -o %t-out.so -# RUN: llvm-objdump -d -s -t %t-out.so | FileCheck -check-prefix=DIS-SO %s +# RUN: llvm-objdump -d -s -t --no-show-raw-insn %t-out.so | FileCheck -check-prefix=DIS-SO %s # RUN: llvm-readobj -r --mips-plt-got %t-out.so | FileCheck -check-prefix=SO %s # DIS: __start: -# DIS-NEXT: 20000: 24 62 80 20 addiu $2, $3, -32736 -# DIS-NEXT: 20004: 24 62 80 18 addiu $2, $3, -32744 -# DIS-NEXT: 20008: 24 62 80 28 addiu $2, $3, -32728 -# DIS-NEXT: 2000c: 24 62 80 30 addiu $2, $3, -32720 -# DIS-NEXT: 20010: 24 62 80 1c addiu $2, $3, -32740 +# DIS-NEXT: 20000: addiu $2, $3, -32736 +# DIS-NEXT: 20004: addiu $2, $3, -32744 +# DIS-NEXT: 20008: addiu $2, $3, -32728 +# DIS-NEXT: 2000c: addiu $2, $3, -32720 +# DIS-NEXT: 20010: addiu $2, $3, -32740 # DIS: Contents of section .got: # DIS-NEXT: 40010 00000000 80000000 00000000 ffff9004 diff --git a/lld/test/ELF/mips-traps.s b/lld/test/ELF/mips-traps.s index 783d1f2..65662b3 100644 --- a/lld/test/ELF/mips-traps.s +++ b/lld/test/ELF/mips-traps.s @@ -4,14 +4,14 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux -mcpu=mips32r6 -o %t.o %s # RUN: ld.lld -r -o %t %t.o %t.o -# RUN: llvm-objdump -d -r %t | FileCheck --check-prefix=EB %s +# RUN: llvm-objdump -d -r --no-show-raw-insn %t | FileCheck --check-prefix=EB %s # RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux -mcpu=mips32r6 -o %t.o %s # RUN: ld.lld -r -o %t %t.o %t.o -# RUN: llvm-objdump -d -r %t | FileCheck --check-prefix=EL %s +# RUN: llvm-objdump -d -r --no-show-raw-insn %t | FileCheck --check-prefix=EL %s -# EB: 8: 04 17 00 01 sigrie 1 -# EL: 8: 01 00 17 04 sigrie 1 +# EB: 8: sigrie 1 +# EL: 8: sigrie 1 .text lw $t9, %got(.data)($gp) diff --git a/lld/test/ELF/mips-xgot-order.s b/lld/test/ELF/mips-xgot-order.s index 9ba27d2..483feef 100644 --- a/lld/test/ELF/mips-xgot-order.s +++ b/lld/test/ELF/mips-xgot-order.s @@ -4,20 +4,20 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld %t.o -o %t.exe -# RUN: llvm-objdump -d -s -t %t.exe | FileCheck %s +# RUN: llvm-objdump -d -s -t --no-show-raw-insn %t.exe | FileCheck %s # CHECK: Disassembly of section .text: # CHECK-EMPTY: # CHECK-NEXT: __start: -# CHECK-NEXT: 20000: 3c 02 00 00 lui $2, 0 -# CHECK-NEXT: 20004: 8c 42 80 24 lw $2, -32732($2) -# CHECK-NEXT: 20008: 3c 02 00 00 lui $2, 0 -# CHECK-NEXT: 2000c: 8c 42 80 28 lw $2, -32728($2) +# CHECK-NEXT: 20000: lui $2, 0 +# CHECK-NEXT: 20004: lw $2, -32732($2) +# CHECK-NEXT: 20008: lui $2, 0 +# CHECK-NEXT: 2000c: lw $2, -32728($2) # # CHECK: bar: -# CHECK-NEXT: 20010: 8c 42 80 20 lw $2, -32736($2) -# CHECK-NEXT: 20014: 8c 42 80 18 lw $2, -32744($2) -# CHECK-NEXT: 20018: 20 42 00 00 addi $2, $2, 0 +# CHECK-NEXT: 20010: lw $2, -32736($2) +# CHECK-NEXT: 20014: lw $2, -32744($2) +# CHECK-NEXT: 20018: addi $2, $2, 0 # CHECK: Contents of section .got: # CHECK-NEXT: 30010 00000000 80000000 00030000 00040000