diff options
Diffstat (limited to 'test/ELF')
26 files changed, 440 insertions, 149 deletions
diff --git a/test/ELF/Inputs/exclude-libs.s b/test/ELF/Inputs/exclude-libs.s new file mode 100644 index 000000000000..6d05c5e3aa91 --- /dev/null +++ b/test/ELF/Inputs/exclude-libs.s @@ -0,0 +1,3 @@ +.globl fn +fn: + nop diff --git a/test/ELF/arm-gnu-ifunc-plt.s b/test/ELF/arm-gnu-ifunc-plt.s index 2561a4d34bed..efcaee1e9889 100644 --- a/test/ELF/arm-gnu-ifunc-plt.s +++ b/test/ELF/arm-gnu-ifunc-plt.s @@ -61,9 +61,9 @@ // DISASM: $d: // DISASM-NEXT: 11050: c0 0f 00 00 .word 0x00000fc0 // Alignment to 16 byte boundary not strictly necessary on ARM, but harmless -// DISASM-NEXT: 11054: 00 00 00 00 .word 0x00000000 -// DISASM-NEXT: 11058: 00 00 00 00 .word 0x00000000 -// DISASM-NEXT: 1105c: 00 00 00 00 .word 0x00000000 +// DISASM-NEXT: 11054: d4 d4 d4 d4 .word 0xd4d4d4d4 +// DISASM-NEXT: 11058: d4 d4 d4 d4 .word 0xd4d4d4d4 +// DISASM-NEXT: 1105c: d4 d4 d4 d4 .word 0xd4d4d4d4 // DISASM: $a: // DISASM-NEXT: 11060: 04 c0 9f e5 ldr r12, [pc, #4] // DISASM-NEXT: 11064: 0f c0 8c e0 add r12, r12, pc diff --git a/test/ELF/arm-got-relative.s b/test/ELF/arm-got-relative.s index db76711fe68e..46a3ca97d080 100644 --- a/test/ELF/arm-got-relative.s +++ b/test/ELF/arm-got-relative.s @@ -16,9 +16,9 @@ _start: bx lr .align 2 .LGOT: - // gas implicitly uses (GOT_PREL) for _GLOBAL_OFFSET_TABLE_ in PIC - // llvm-mc needs the (GOT_PREL) suffix or it generates R_ARM_REL32 - .word _GLOBAL_OFFSET_TABLE_(GOT_PREL) - (.LPIC+8) + // gas implicitly uses (R_ARM_BASE_PREL) for _GLOBAL_OFFSET_TABLE_ in PIC + // llvm-mc generates R_ARM_REL32, this will need updating when MC changes + .word _GLOBAL_OFFSET_TABLE_ - (.LPIC+8) .word function(GOT) .globl function @@ -28,17 +28,17 @@ function: bx lr // CHECK: Dynamic Relocations { -// CHECK-NEXT: 0x204C R_ARM_GLOB_DAT function 0x0 +// CHECK-NEXT: 0x2048 R_ARM_GLOB_DAT function 0x0 // CHECK: Name: _GLOBAL_OFFSET_TABLE_ -// CHECK-NEXT: Value: 0x0 +// CHECK-NEXT: Value: 0x2048 // CHECK-NEXT: Size: // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None // CHECK-NEXT: Other [ // CHECK-NEXT: STV_HIDDEN // CHECK-NEXT: ] -// CHECK-NEXT: Section: Absolute +// CHECK-NEXT: Section: .got // CODE: Disassembly of section .text: // CODE-NEXT: _start: @@ -49,5 +49,5 @@ function: // CODE:$d.1: // (_GLOBAL_OFFSET_TABLE_ = 0x2048) - (0x1008 + 8) 0x1038 // CODE-NEXT: 1010: 38 10 00 00 -// (Got(function) - GotBase = 0x4 -// CODE-NEXT: 1014: 04 00 00 00 +// (Got(function) - GotBase = 0x0 +// CODE-NEXT: 1014: 00 00 00 00 diff --git a/test/ELF/arm-thumb-branch.s b/test/ELF/arm-thumb-branch.s index 4dc0280b22f6..81bf7a3c68a9 100644 --- a/test/ELF/arm-thumb-branch.s +++ b/test/ELF/arm-thumb-branch.s @@ -54,7 +54,7 @@ callee_high: // CHECK-NEXT: 1001c: ff f3 fd 97 b.w #16777210 // CHECK-NEXT: 10020: 3f f3 ff af bgt.w #1048574 // CHECK-NEXT: 10024: 70 47 bx lr -// CHECK-NEXT: 10026: 00 00 movs r0, r0 +// CHECK-NEXT: 10026: // CHECK-NEXT: Disassembly of section .callee2: // CHECK-NEXT: callee_high: // CHECK-NEXT: 10028: 70 47 bx lr diff --git a/test/ELF/arm-thumb-plt-reloc.s b/test/ELF/arm-thumb-plt-reloc.s index 95a6e9e7af79..f9afbb9c0ce1 100644 --- a/test/ELF/arm-thumb-plt-reloc.s +++ b/test/ELF/arm-thumb-plt-reloc.s @@ -30,7 +30,7 @@ _start: // CHECK-NEXT: 11002: 70 47 bx lr // CHECK: func3: // CHECK-NEXT: 11004: 70 47 bx lr -// CHECK-NEXT: 11006: 00 00 movs r0, r0 +// CHECK-NEXT: 11006: d4 d4 // CHECK: _start: // 11008 + 4 -12 = 0x11000 = func1 // CHECK-NEXT: 11008: ff f7 fa ff bl #-12 @@ -49,7 +49,7 @@ _start: // DSOTHUMB-NEXT: 1002: 70 47 bx lr // DSOTHUMB: func3: // DSOTHUMB-NEXT: 1004: 70 47 bx lr -// DSOTHUMB-NEXT: 1006: 00 00 movs r0, r0 +// DSOTHUMB-NEXT: 1006: d4 d4 // DSOTHUMB: _start: // 0x1008 + 0x28 + 4 = 0x1034 = PLT func1 // DSOTHUMB-NEXT: 1008: 00 f0 14 e8 blx #40 diff --git a/test/ELF/defsym.s b/test/ELF/defsym.s index 778180dc9324..253d5d8f408d 100644 --- a/test/ELF/defsym.s +++ b/test/ELF/defsym.s @@ -9,8 +9,6 @@ # RUN: llvm-readobj -t -s %t2 | FileCheck %s # RUN: llvm-objdump -d -print-imm-hex %t2 | FileCheck %s --check-prefix=USE -## In compare with GNU linkers, symbol defined with --defsym does -## not get aliased name in symbol table: # CHECK: Symbol { # CHECK: Name: foo1 # CHECK-NEXT: Value: 0x123 @@ -21,7 +19,7 @@ # CHECK-NEXT: Section: Absolute # CHECK-NEXT: } # CHECK-NEXT: Symbol { -# CHECK-NEXT: Name: foo1 +# CHECK-NEXT: Name: foo2 # CHECK-NEXT: Value: 0x123 # CHECK-NEXT: Size: # CHECK-NEXT: Binding: Global diff --git a/test/ELF/exclude-libs.s b/test/ELF/exclude-libs.s new file mode 100644 index 000000000000..c36081f40e54 --- /dev/null +++ b/test/ELF/exclude-libs.s @@ -0,0 +1,30 @@ +// REQUIRES: x86 + +// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o +// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux \ +// RUN: %p/Inputs/exclude-libs.s -o %t2.o +// RUN: mkdir -p %t.dir +// RUN: rm -f %t.dir/exc.a +// RUN: llvm-ar rcs %t.dir/exc.a %t2.o + +// RUN: ld.lld -shared %t.o %t.dir/exc.a -o %t.exe +// RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck --check-prefix=DEFAULT %s + +// RUN: ld.lld -shared %t.o %t.dir/exc.a -o %t.exe --exclude-libs=foo,bar +// RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck --check-prefix=DEFAULT %s + +// RUN: ld.lld -shared %t.o %t.dir/exc.a -o %t.exe --exclude-libs foo,bar,exc.a +// RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck --check-prefix=EXCLUDE %s + +// RUN: ld.lld -shared %t.o %t.dir/exc.a -o %t.exe --exclude-libs foo:bar:exc.a +// RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck --check-prefix=EXCLUDE %s + +// RUN: ld.lld -shared %t.o %t.dir/exc.a -o %t.exe --exclude-libs=ALL +// RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck --check-prefix=EXCLUDE %s + +// DEFAULT: Name: fn +// EXCLUDE-NOT: Name: fn + +.globl fn +foo: + call fn@PLT diff --git a/test/ELF/global-offset-table-position-aarch64.s b/test/ELF/global-offset-table-position-aarch64.s new file mode 100644 index 000000000000..624e9b516fed --- /dev/null +++ b/test/ELF/global-offset-table-position-aarch64.s @@ -0,0 +1,30 @@ +// RUN: llvm-mc -filetype=obj -triple=aarch64-linux-gnu %s -o %t +// RUN: ld.lld -shared %t -o %t2 +// RUN: llvm-readobj -t %t2 | FileCheck %s +// REQUIRES: aarch64 +.globl a +.type a,@object +.comm a,4,4 + +.globl f +.type f,@function +f: + adrp x0, :got:a + ldr x0, [x0, #:got_lo12:a] + +.global _start +.type _start,@function +_start: + bl f +.data +.long _GLOBAL_OFFSET_TABLE_ - . + +// CHECK: Name: _GLOBAL_OFFSET_TABLE_ (11) +// CHECK-NEXT: Value: 0x30090 +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Local (0x0) +// CHECK-NEXT: Type: None (0x0) +// CHECK-NEXT: Other [ (0x2) +// CHECK-NEXT: STV_HIDDEN (0x2) +// CHECK-NEXT: ] +// CHECK-NEXT: Section: .got diff --git a/test/ELF/global-offset-table-position-arm.s b/test/ELF/global-offset-table-position-arm.s new file mode 100644 index 000000000000..781d8ce5222f --- /dev/null +++ b/test/ELF/global-offset-table-position-arm.s @@ -0,0 +1,35 @@ +// RUN: llvm-mc -filetype=obj -triple=armv7a-linux-gnueabihf %s -o %t +// RUN: ld.lld -shared %t -o %t2 +// RUN: llvm-readobj -t %t2 | FileCheck %s +// REQUIRES: arm + +// The ARM _GLOBAL_OFFSET_TABLE_ should be defined at the start of the .got +.globl a +.type a,%object +.comm a,4,4 + +.globl f +.type f,%function +f: + ldr r2, .L1 +.L0: + add r2, pc +.L1: +.word _GLOBAL_OFFSET_TABLE_ - (.L0+4) +.word a(GOT) + +.global _start +.type _start,%function +_start: + bl f +.data + +// CHECK: Name: _GLOBAL_OFFSET_TABLE_ +// CHECK-NEXT: Value: 0x3068 +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Local +// CHECK-NEXT: Type: None +// CHECK-NEXT: Other [ (0x2) +// CHECK-NEXT: STV_HIDDEN (0x2) +// CHECK-NEXT: ] +// CHECK-NEXT: Section: .got diff --git a/test/ELF/global-offset-table-position-i386.s b/test/ELF/global-offset-table-position-i386.s new file mode 100644 index 000000000000..907105edcff0 --- /dev/null +++ b/test/ELF/global-offset-table-position-i386.s @@ -0,0 +1,31 @@ +// RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t +// RUN: ld.lld -shared %t -o %t2 +// RUN: llvm-readobj -t %t2 | FileCheck %s +// REQUIRES: x86 + +// The X86 _GLOBAL_OFFSET_TABLE_ is defined at the end of the .got section. +.globl a +.type a,@object +.comm a,4,4 + +.globl f +.type f,@function +f: +addl $_GLOBAL_OFFSET_TABLE_, %eax +movl a@GOT(%eax), %eax + +.global _start +.type _start,@function +_start: +addl $_GLOBAL_OFFSET_TABLE_, %eax +calll f@PLT + +// CHECK: Name: _GLOBAL_OFFSET_TABLE_ (1) +// CHECK-NEXT: Value: 0x306C +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Local (0x0) +// CHECK-NEXT: Type: None (0x0) +// CHECK-NEXT: Other [ (0x2) +// CHECK-NEXT: STV_HIDDEN (0x2) +// CHECK-NEXT: ] +// CHECK-NEXT: Section: .got (0xA) diff --git a/test/ELF/global-offset-table-position-mips.s b/test/ELF/global-offset-table-position-mips.s new file mode 100644 index 000000000000..92daed1c7914 --- /dev/null +++ b/test/ELF/global-offset-table-position-mips.s @@ -0,0 +1,33 @@ +// RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t +// RUN: ld.lld -shared %t -o %t2 +// RUN: llvm-readobj -t %t2 | FileCheck %s + +// REQUIRES: mips + +// The Mips _GLOBAL_OFFSET_TABLE_ should be defined at the start of the .got + +.globl a +.hidden a +.type a,@object +.comm a,4,4 + +.globl f +.type f,@function +f: + ld $v0,%got_page(a)($gp) + daddiu $v0,$v0,%got_ofst(a) + +.global _start +.type _start,@function +_start: + lw $t0,%call16(f)($gp) + .word _GLOBAL_OFFSET_TABLE_ - . +// CHECK: Name: _GLOBAL_OFFSET_TABLE_ (1) +// CHECK-NEXT: Value: 0x20000 +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Local (0x0) +// CHECK-NEXT: Type: None (0x0) +// CHECK-NEXT: Other [ (0x2) +// CHECK-NEXT: STV_HIDDEN (0x2) +// CHECK-NEXT: ] +// CHECK-NEXT: Section: .got (0x9) diff --git a/test/ELF/global-offset-table-position.s b/test/ELF/global-offset-table-position.s new file mode 100644 index 000000000000..b3317c7edd8b --- /dev/null +++ b/test/ELF/global-offset-table-position.s @@ -0,0 +1,31 @@ +// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t +// RUN: ld.lld -shared %t -o %t2 +// RUN: llvm-readobj -t %t2 | FileCheck %s +// REQUIRES: x86 + +// The X86_64 _GLOBAL_OFFSET_TABLE_ is defined at the end of the .got section. +.globl a +.type a,@object +.comm a,4,4 + +.globl f +.type f,@function +f: +movq a@GOTPCREL(%rip), %rax + +.global _start +.type _start,@function +_start: +callq f@PLT +.data +.long _GLOBAL_OFFSET_TABLE_ - . + +// CHECK: Name: _GLOBAL_OFFSET_TABLE_ +// CHECK-NEXT: Value: 0x30D8 +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Local +// CHECK-NEXT: Type: None (0x0) +// CHECK-NEXT: Other [ +// CHECK-NEXT: STV_HIDDEN +// CHECK-NEXT: ] +// CHECK-NEXT: Section: .got diff --git a/test/ELF/global_offset_table_shared.s b/test/ELF/global_offset_table_shared.s index 7935925ae2b3..1ebc0110d4d7 100644 --- a/test/ELF/global_offset_table_shared.s +++ b/test/ELF/global_offset_table_shared.s @@ -1,9 +1,14 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t // RUN: ld.lld -shared %t -o %t2 // RUN: llvm-readobj -t %t2 | FileCheck %s -.long _GLOBAL_OFFSET_TABLE_ +.long _GLOBAL_OFFSET_TABLE_ - . // CHECK: Name: _GLOBAL_OFFSET_TABLE_ -// CHECK-NEXT: Value: +// CHECK-NEXT: Value: 0x2060 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Local +// CHECK-NEXT: Type: None +// CHECK-NEXT: Other [ (0x2) +// CHECK-NEXT: STV_HIDDEN (0x2) +// CHECK-NEXT: ] +// CHECK-NEXT: Section: .got diff --git a/test/ELF/invalid-z.s b/test/ELF/invalid-z.s new file mode 100644 index 000000000000..a5343c93e677 --- /dev/null +++ b/test/ELF/invalid-z.s @@ -0,0 +1,9 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o +# RUN: not ld.lld %t.o -o %t -z max-page-size 2>&1 | FileCheck %s +# CHECK: invalid max-page-size +# CHECK-NOT: error + +.global _start +_start: + nop diff --git a/test/ELF/linkerscript/discard-section-err.s b/test/ELF/linkerscript/discard-section-err.s new file mode 100644 index 000000000000..5d9955545d92 --- /dev/null +++ b/test/ELF/linkerscript/discard-section-err.s @@ -0,0 +1,23 @@ +# REQUIRES: x86 + +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o + +# RUN: echo "SECTIONS { /DISCARD/ : { *(.shstrtab) } }" > %t.script +# RUN: not ld.lld -o %t --script %t.script %t.o 2>&1 | \ +# RUN: FileCheck -check-prefix=SHSTRTAB %s +# SHSTRTAB: discarding .shstrtab section is not allowed + +# RUN: echo "SECTIONS { /DISCARD/ : { *(.dynamic) } }" > %t.script +# RUN: not ld.lld -pie -o %t --script %t.script %t.o 2>&1 | \ +# RUN: FileCheck -check-prefix=DYNAMIC %s +# DYNAMIC: discarding .dynamic section is not allowed + +# RUN: echo "SECTIONS { /DISCARD/ : { *(.dynsym) } }" > %t.script +# RUN: not ld.lld -pie -o %t --script %t.script %t.o 2>&1 | \ +# RUN: FileCheck -check-prefix=DYNSYM %s +# DYNSYM: discarding .dynsym section is not allowed + +# RUN: echo "SECTIONS { /DISCARD/ : { *(.dynstr) } }" > %t.script +# RUN: not ld.lld -pie -o %t --script %t.script %t.o 2>&1 | \ +# RUN: FileCheck -check-prefix=DYNSTR %s +# DYNSTR: discarding .dynstr section is not allowed diff --git a/test/ELF/linkerscript/sections.s b/test/ELF/linkerscript/sections.s index d5645c303754..dd4b12f42b89 100644 --- a/test/ELF/linkerscript/sections.s +++ b/test/ELF/linkerscript/sections.s @@ -67,12 +67,6 @@ # SEC-SWAP-NAMES: 7 .shstrtab 0000003b {{[0-9a-f]*}} # SEC-SWAP-NAMES: 8 .strtab 00000008 {{[0-9a-f]*}} -# Attemp to discard .shstrtab section. -# RUN: echo "SECTIONS { /DISCARD/ : { *(.shstrtab) } }" > %t.script -# RUN: not ld.lld -o %t5 --script %t.script %t 2>&1 | \ -# RUN: FileCheck -check-prefix=SEC-DISCARD %s -# SEC-DISCARD: discarding .shstrtab section is not allowed - # Multiple SECTIONS command specifying additional input section descriptions # for the same output section description - input sections are merged into # one output section. diff --git a/test/ELF/linkerscript/segment-none.s b/test/ELF/linkerscript/segment-none.s new file mode 100644 index 000000000000..d54e835a0c22 --- /dev/null +++ b/test/ELF/linkerscript/segment-none.s @@ -0,0 +1,39 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o + +## Test that section .foo is not placed in any segment when assigned to segment +## NONE in the linker script and segment NONE is not defined. +# RUN: echo "PHDRS {text PT_LOAD;} \ +# RUN: SECTIONS { \ +# RUN: .text : {*(.text .text*)} :text \ +# RUN: .foo : {*(.foo)} :NONE \ +# RUN: }" > %t.script +# RUN: ld.lld -o %t --script %t.script %t.o +# RUN: llvm-readobj -elf-output-style=GNU -s -l %t | FileCheck %s + +## Test that section .foo is placed in segment NONE when assigned to segment +## NONE in the linker script and segment NONE is defined. +# RUN: echo "PHDRS {text PT_LOAD; NONE PT_LOAD;} \ +# RUN: SECTIONS { \ +# RUN: .text : {*(.text .text*)} :text \ +# RUN: .foo : {*(.foo)} :NONE \ +# RUN: }" > %t.script +# RUN: ld.lld -o %t --script %t.script %t.o +# RUN: llvm-readobj -elf-output-style=GNU -s -l %t | FileCheck --check-prefix=DEFINED %s + +# CHECK: Section to Segment mapping: +# CHECK-NEXT: Segment Sections... +# CHECK-NOT: .foo + +# DEFINED: Section to Segment mapping: +# DEFINED-NEXT: Segment Sections... +# DEFINED-NEXT: 00 .text +# DEFINED-NEXT: 01 .foo + +.global _start +_start: + nop + +.section .foo,"a" +foo: + .long 0 diff --git a/test/ELF/linkerscript/ttext-script.s b/test/ELF/linkerscript/ttext-script.s new file mode 100644 index 000000000000..9dcde9bb13c5 --- /dev/null +++ b/test/ELF/linkerscript/ttext-script.s @@ -0,0 +1,11 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o +# RUN: echo "SECTIONS { .text 0x200000 : { *(.text) } }" > %t.script +# RUN: ld.lld -T %t.script -Ttext 0x100000 %t.o -o %t +# RUN: llvm-readobj --elf-output-style=GNU -s %t | FileCheck %s + +# CHECK: .text PROGBITS 0000000000100000 + +.global _start +_start: +nop diff --git a/test/ELF/lto/cache.ll b/test/ELF/lto/cache.ll index 55e3a3d6f6cd..6731f522606f 100644 --- a/test/ELF/lto/cache.ll +++ b/test/ELF/lto/cache.ll @@ -12,6 +12,17 @@ ; Two cached objects, plus a timestamp file and "foo", minus the file we removed. ; RUN: ls %t.cache | count 4 +; Create a file of size 64KB. +; RUN: %python -c "print(' ' * 65536)" > %t.cache/llvmcache-foo + +; This should leave the file in place. +; RUN: ld.lld --thinlto-cache-dir=%t.cache --thinlto-cache-policy cache_size_bytes=128k -o %t3 %t2.o %t.o +; RUN: ls %t.cache | count 5 + +; This should remove it. +; RUN: ld.lld --thinlto-cache-dir=%t.cache --thinlto-cache-policy cache_size_bytes=32k -o %t3 %t2.o %t.o +; RUN: ls %t.cache | count 4 + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/test/ELF/lto/wrap-2.ll b/test/ELF/lto/wrap-2.ll index b2e33f83138e..b318b7f65f2d 100644 --- a/test/ELF/lto/wrap-2.ll +++ b/test/ELF/lto/wrap-2.ll @@ -10,8 +10,8 @@ ; CHECK: foo: ; CHECK-NEXT: pushq %rax -; CHECK-NEXT: callq{{.*}}<__wrap_bar> ; CHECK-NEXT: callq{{.*}}<bar> +; CHECK-NEXT: callq{{.*}}<__real_bar> ; Check that bar and __wrap_bar retain their original binding. ; BIND: Name: bar diff --git a/test/ELF/mips-got16-relocatable.s b/test/ELF/mips-got16-relocatable.s index 963efeb4686e..bbacfdbaa682 100644 --- a/test/ELF/mips-got16-relocatable.s +++ b/test/ELF/mips-got16-relocatable.s @@ -15,8 +15,8 @@ # OBJ-NEXT: 00000000: R_MIPS_GOT16 .data # OBJ-NEXT: 4: 27 24 00 00 addiu $4, $25, 0 # OBJ-NEXT: 00000004: R_MIPS_LO16 .data -# OBJ-NEXT: 8: 00 00 00 00 nop -# OBJ-NEXT: c: 00 00 00 00 nop +# OBJ-NEXT: 8: ef ef ef ef <unknown> +# OBJ-NEXT: c: ef ef ef ef <unknown> # OBJ-NEXT: 10: 8f 99 00 00 lw $25, 0($gp) # OBJ-NEXT: 00000010: R_MIPS_GOT16 .data # OBJ-NEXT: 14: 27 24 00 10 addiu $4, $25, 16 @@ -26,8 +26,8 @@ # 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-NEXT: 10008: 00 00 00 00 nop -# SO-NEXT: 1000c: 00 00 00 00 nop +# SO-NEXT: 10008: ef ef ef ef <unknown> +# SO-NEXT: 1000c: ef ef ef ef <unknown> # SO-NEXT: 10010: 8f 99 80 18 lw $25, -32744($gp) # SO-NEXT: 10014: 27 24 00 10 addiu $4, $25, 16 diff --git a/test/ELF/mips-npic-call-pic-os.s b/test/ELF/mips-npic-call-pic-os.s index 131289e596e8..aea0fa1221dc 100644 --- a/test/ELF/mips-npic-call-pic-os.s +++ b/test/ELF/mips-npic-call-pic-os.s @@ -33,8 +33,8 @@ # CHECK-NEXT: 2002c: 08 00 80 10 j 131136 <foo2> # CHECK-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 # CHECK-NEXT: 20034: 00 00 00 00 nop -# CHECK-NEXT: 20038: 00 00 00 00 nop -# CHECK-NEXT: 2003c: 00 00 00 00 nop +# CHECK-NEXT: 20038: ef ef ef ef <unknown> +# CHECK-NEXT: 2003c: ef ef ef ef <unknown> # CHECK: foo2: # CHECK-NEXT: 20040: 00 00 00 00 nop # CHECK: __LA25Thunk_fpic: @@ -42,14 +42,14 @@ # CHECK-NEXT: 20048: 08 00 80 18 j 131168 <fpic> # CHECK-NEXT: 2004c: 27 39 00 60 addiu $25, $25, 96 # CHECK-NEXT: 20050: 00 00 00 00 nop -# CHECK-NEXT: 20054: 00 00 00 00 nop -# CHECK-NEXT: 20058: 00 00 00 00 nop -# CHECK-NEXT: 2005c: 00 00 00 00 nop +# CHECK-NEXT: 20054: ef ef ef ef <unknown> +# CHECK-NEXT: 20058: ef ef ef ef <unknown> +# CHECK-NEXT: 2005c: ef ef ef ef <unknown> # CHECK: fpic: # CHECK-NEXT: 20060: 00 00 00 00 nop -# CHECK-NEXT: 20064: 00 00 00 00 nop -# CHECK-NEXT: 20068: 00 00 00 00 nop -# CHECK-NEXT: 2006c: 00 00 00 00 nop +# CHECK-NEXT: 20064: ef ef ef ef <unknown> +# CHECK-NEXT: 20068: ef ef ef ef <unknown> +# CHECK-NEXT: 2006c: ef ef ef ef <unknown> # CHECK: fnpic: # CHECK-NEXT: 20070: 00 00 00 00 nop # CHECK-NEXT: Disassembly of section differentos: @@ -93,13 +93,13 @@ # REVERSE-NEXT: 2002c: 08 00 80 10 j 131136 <foo2> # REVERSE-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 # REVERSE-NEXT: 20034: 00 00 00 00 nop -# REVERSE-NEXT: 20038: 00 00 00 00 nop -# REVERSE-NEXT: 2003c: 00 00 00 00 nop +# REVERSE-NEXT: 20038: ef ef ef ef <unknown> +# REVERSE-NEXT: 2003c: ef ef ef ef <unknown> # REVERSE: foo2: # REVERSE-NEXT: 20040: 00 00 00 00 nop -# REVERSE-NEXT: 20044: 00 00 00 00 nop -# REVERSE-NEXT: 20048: 00 00 00 00 nop -# REVERSE-NEXT: 2004c: 00 00 00 00 nop +# REVERSE-NEXT: 20044: ef ef ef ef <unknown> +# REVERSE-NEXT: 20048: ef ef ef ef <unknown> +# REVERSE-NEXT: 2004c: ef ef ef ef <unknown> # REVERSE: __LA25Thunk_fpic: # REVERSE-NEXT: 20050: 3c 19 00 02 lui $25, 2 # REVERSE-NEXT: 20054: 08 00 80 18 j 131168 <fpic> @@ -107,9 +107,9 @@ # REVERSE-NEXT: 2005c: 00 00 00 00 nop # REVERSE: fpic: # REVERSE-NEXT: 20060: 00 00 00 00 nop -# REVERSE-NEXT: 20064: 00 00 00 00 nop -# REVERSE-NEXT: 20068: 00 00 00 00 nop -# REVERSE-NEXT: 2006c: 00 00 00 00 nop +# REVERSE-NEXT: 20064: ef ef ef ef <unknown> +# REVERSE-NEXT: 20068: ef ef ef ef <unknown> +# REVERSE-NEXT: 2006c: ef ef ef ef <unknown> # REVERSE: fnpic: # REVERSE-NEXT: 20070: 00 00 00 00 nop # REVERSE-NEXT: Disassembly of section differentos: diff --git a/test/ELF/mips-npic-call-pic-script.s b/test/ELF/mips-npic-call-pic-script.s index 6028989ee4cb..230704459463 100644 --- a/test/ELF/mips-npic-call-pic-script.s +++ b/test/ELF/mips-npic-call-pic-script.s @@ -33,77 +33,77 @@ # CHECK-NEXT: 2002c: 08 00 80 10 j 131136 <foo2> # CHECK-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 # CHECK-NEXT: 20034: 00 00 00 00 nop -# CHECK-NEXT: 20038: 00 00 00 00 nop -# CHECK-NEXT: 2003c: 00 00 00 00 nop +# CHECK-NEXT: 20038: ef ef ef ef <unknown> +# CHECK-NEXT: 2003c: ef ef ef ef <unknown> # CHECK: foo2: # CHECK-NEXT: 20040: 00 00 00 00 nop -# CHECK-NEXT: 20044: 00 00 00 00 nop -# CHECK-NEXT: 20048: 00 00 00 00 nop -# CHECK-NEXT: 2004c: 00 00 00 00 nop -# CHECK-NEXT: 20050: 00 00 00 00 nop -# CHECK-NEXT: 20054: 00 00 00 00 nop -# CHECK-NEXT: 20058: 00 00 00 00 nop -# CHECK-NEXT: 2005c: 00 00 00 00 nop -# CHECK-NEXT: 20060: 00 00 00 00 nop -# CHECK-NEXT: 20064: 00 00 00 00 nop -# CHECK-NEXT: 20068: 00 00 00 00 nop -# CHECK-NEXT: 2006c: 00 00 00 00 nop -# CHECK-NEXT: 20070: 00 00 00 00 nop -# CHECK-NEXT: 20074: 00 00 00 00 nop -# CHECK-NEXT: 20078: 00 00 00 00 nop -# CHECK-NEXT: 2007c: 00 00 00 00 nop -# CHECK-NEXT: 20080: 00 00 00 00 nop -# CHECK-NEXT: 20084: 00 00 00 00 nop -# CHECK-NEXT: 20088: 00 00 00 00 nop -# CHECK-NEXT: 2008c: 00 00 00 00 nop -# CHECK-NEXT: 20090: 00 00 00 00 nop -# CHECK-NEXT: 20094: 00 00 00 00 nop -# CHECK-NEXT: 20098: 00 00 00 00 nop -# CHECK-NEXT: 2009c: 00 00 00 00 nop -# CHECK-NEXT: 200a0: 00 00 00 00 nop -# CHECK-NEXT: 200a4: 00 00 00 00 nop -# CHECK-NEXT: 200a8: 00 00 00 00 nop -# CHECK-NEXT: 200ac: 00 00 00 00 nop -# CHECK-NEXT: 200b0: 00 00 00 00 nop -# CHECK-NEXT: 200b4: 00 00 00 00 nop -# CHECK-NEXT: 200b8: 00 00 00 00 nop -# CHECK-NEXT: 200bc: 00 00 00 00 nop -# CHECK-NEXT: 200c0: 00 00 00 00 nop -# CHECK-NEXT: 200c4: 00 00 00 00 nop -# CHECK-NEXT: 200c8: 00 00 00 00 nop -# CHECK-NEXT: 200cc: 00 00 00 00 nop -# CHECK-NEXT: 200d0: 00 00 00 00 nop -# CHECK-NEXT: 200d4: 00 00 00 00 nop -# CHECK-NEXT: 200d8: 00 00 00 00 nop -# CHECK-NEXT: 200dc: 00 00 00 00 nop -# CHECK-NEXT: 200e0: 00 00 00 00 nop -# CHECK-NEXT: 200e4: 00 00 00 00 nop -# CHECK-NEXT: 200e8: 00 00 00 00 nop -# CHECK-NEXT: 200ec: 00 00 00 00 nop -# CHECK-NEXT: 200f0: 00 00 00 00 nop -# CHECK-NEXT: 200f4: 00 00 00 00 nop -# CHECK-NEXT: 200f8: 00 00 00 00 nop -# CHECK-NEXT: 200fc: 00 00 00 00 nop -# CHECK-NEXT: 20100: 00 00 00 00 nop -# CHECK-NEXT: 20104: 00 00 00 00 nop -# CHECK-NEXT: 20108: 00 00 00 00 nop -# CHECK-NEXT: 2010c: 00 00 00 00 nop -# CHECK-NEXT: 20110: 00 00 00 00 nop -# CHECK-NEXT: 20114: 00 00 00 00 nop -# CHECK-NEXT: 20118: 00 00 00 00 nop -# CHECK-NEXT: 2011c: 00 00 00 00 nop -# CHECK-NEXT: 20120: 00 00 00 00 nop -# CHECK-NEXT: 20124: 00 00 00 00 nop -# CHECK-NEXT: 20128: 00 00 00 00 nop -# CHECK-NEXT: 2012c: 00 00 00 00 nop -# CHECK-NEXT: 20130: 00 00 00 00 nop -# CHECK-NEXT: 20134: 00 00 00 00 nop -# CHECK-NEXT: 20138: 00 00 00 00 nop -# CHECK-NEXT: 2013c: 00 00 00 00 nop -# CHECK-NEXT: 20140: 00 00 00 00 nop -# CHECK-NEXT: 20144: 00 00 00 00 nop -# CHECK-NEXT: 20148: 00 00 00 00 nop -# CHECK-NEXT: 2014c: 00 00 00 00 nop +# CHECK-NEXT: 20044: ef ef ef ef <unknown> +# CHECK-NEXT: 20048: ef ef ef ef <unknown> +# CHECK-NEXT: 2004c: ef ef ef ef <unknown> +# CHECK-NEXT: 20050: ef ef ef ef <unknown> +# CHECK-NEXT: 20054: ef ef ef ef <unknown> +# CHECK-NEXT: 20058: ef ef ef ef <unknown> +# CHECK-NEXT: 2005c: ef ef ef ef <unknown> +# CHECK-NEXT: 20060: ef ef ef ef <unknown> +# CHECK-NEXT: 20064: ef ef ef ef <unknown> +# CHECK-NEXT: 20068: ef ef ef ef <unknown> +# CHECK-NEXT: 2006c: ef ef ef ef <unknown> +# CHECK-NEXT: 20070: ef ef ef ef <unknown> +# CHECK-NEXT: 20074: ef ef ef ef <unknown> +# CHECK-NEXT: 20078: ef ef ef ef <unknown> +# CHECK-NEXT: 2007c: ef ef ef ef <unknown> +# CHECK-NEXT: 20080: ef ef ef ef <unknown> +# CHECK-NEXT: 20084: ef ef ef ef <unknown> +# CHECK-NEXT: 20088: ef ef ef ef <unknown> +# CHECK-NEXT: 2008c: ef ef ef ef <unknown> +# CHECK-NEXT: 20090: ef ef ef ef <unknown> +# CHECK-NEXT: 20094: ef ef ef ef <unknown> +# CHECK-NEXT: 20098: ef ef ef ef <unknown> +# CHECK-NEXT: 2009c: ef ef ef ef <unknown> +# CHECK-NEXT: 200a0: ef ef ef ef <unknown> +# CHECK-NEXT: 200a4: ef ef ef ef <unknown> +# CHECK-NEXT: 200a8: ef ef ef ef <unknown> +# CHECK-NEXT: 200ac: ef ef ef ef <unknown> +# CHECK-NEXT: 200b0: ef ef ef ef <unknown> +# CHECK-NEXT: 200b4: ef ef ef ef <unknown> +# CHECK-NEXT: 200b8: ef ef ef ef <unknown> +# CHECK-NEXT: 200bc: ef ef ef ef <unknown> +# CHECK-NEXT: 200c0: ef ef ef ef <unknown> +# CHECK-NEXT: 200c4: ef ef ef ef <unknown> +# CHECK-NEXT: 200c8: ef ef ef ef <unknown> +# CHECK-NEXT: 200cc: ef ef ef ef <unknown> +# CHECK-NEXT: 200d0: ef ef ef ef <unknown> +# CHECK-NEXT: 200d4: ef ef ef ef <unknown> +# CHECK-NEXT: 200d8: ef ef ef ef <unknown> +# CHECK-NEXT: 200dc: ef ef ef ef <unknown> +# CHECK-NEXT: 200e0: ef ef ef ef <unknown> +# CHECK-NEXT: 200e4: ef ef ef ef <unknown> +# CHECK-NEXT: 200e8: ef ef ef ef <unknown> +# CHECK-NEXT: 200ec: ef ef ef ef <unknown> +# CHECK-NEXT: 200f0: ef ef ef ef <unknown> +# CHECK-NEXT: 200f4: ef ef ef ef <unknown> +# CHECK-NEXT: 200f8: ef ef ef ef <unknown> +# CHECK-NEXT: 200fc: ef ef ef ef <unknown> +# CHECK-NEXT: 20100: ef ef ef ef <unknown> +# CHECK-NEXT: 20104: ef ef ef ef <unknown> +# CHECK-NEXT: 20108: ef ef ef ef <unknown> +# CHECK-NEXT: 2010c: ef ef ef ef <unknown> +# CHECK-NEXT: 20110: ef ef ef ef <unknown> +# CHECK-NEXT: 20114: ef ef ef ef <unknown> +# CHECK-NEXT: 20118: ef ef ef ef <unknown> +# CHECK-NEXT: 2011c: ef ef ef ef <unknown> +# CHECK-NEXT: 20120: ef ef ef ef <unknown> +# CHECK-NEXT: 20124: ef ef ef ef <unknown> +# CHECK-NEXT: 20128: ef ef ef ef <unknown> +# CHECK-NEXT: 2012c: ef ef ef ef <unknown> +# CHECK-NEXT: 20130: ef ef ef ef <unknown> +# CHECK-NEXT: 20134: ef ef ef ef <unknown> +# CHECK-NEXT: 20138: ef ef ef ef <unknown> +# CHECK-NEXT: 2013c: ef ef ef ef <unknown> +# CHECK-NEXT: 20140: ef ef ef ef <unknown> +# CHECK-NEXT: 20144: ef ef ef ef <unknown> +# CHECK-NEXT: 20148: ef ef ef ef <unknown> +# CHECK-NEXT: 2014c: ef ef ef ef <unknown> # CHECK: __start: # CHECK-NEXT: 20150: 0c 00 80 00 jal 131072 <__LA25Thunk_foo1a> # CHECK-NEXT: 20154: 00 00 00 00 nop @@ -124,9 +124,9 @@ # CHECK-NEXT: 2018c: 00 00 00 00 nop # CHECK: fpic: # CHECK-NEXT: 20190: 00 00 00 00 nop -# CHECK-NEXT: 20194: 00 00 00 00 nop -# CHECK-NEXT: 20198: 00 00 00 00 nop -# CHECK-NEXT: 2019c: 00 00 00 00 nop +# CHECK-NEXT: 20194: ef ef ef ef <unknown> +# CHECK-NEXT: 20198: ef ef ef ef <unknown> +# CHECK-NEXT: 2019c: ef ef ef ef <unknown> # CHECK: fnpic: # CHECK-NEXT: 201a0: 00 00 00 00 nop @@ -166,9 +166,9 @@ __start: # ORPH1-NEXT: 2003c: 00 00 00 00 nop # ORPH1: fpic: # ORPH1-NEXT: 20040: 00 00 00 00 nop -# ORPH1-NEXT: 20044: 00 00 00 00 nop -# ORPH1-NEXT: 20048: 00 00 00 00 nop -# ORPH1-NEXT: 2004c: 00 00 00 00 nop +# ORPH1-NEXT: 20044: ef ef ef ef <unknown> +# ORPH1-NEXT: 20048: ef ef ef ef <unknown> +# ORPH1-NEXT: 2004c: ef ef ef ef <unknown> # ORPH1: fnpic: # ORPH1-NEXT: 20050: 00 00 00 00 nop # ORPH1: __LA25Thunk_foo1a: @@ -181,9 +181,9 @@ __start: # ORPH1-NEXT: 20068: 08 00 80 21 j 131204 <foo1b> # ORPH1-NEXT: 2006c: 27 39 00 84 addiu $25, $25, 132 # ORPH1-NEXT: 20070: 00 00 00 00 nop -# ORPH1-NEXT: 20074: 00 00 00 00 nop -# ORPH1-NEXT: 20078: 00 00 00 00 nop -# ORPH1-NEXT: 2007c: 00 00 00 00 nop +# ORPH1-NEXT: 20074: ef ef ef ef <unknown> +# ORPH1-NEXT: 20078: ef ef ef ef <unknown> +# ORPH1-NEXT: 2007c: ef ef ef ef <unknown> # ORPH1: foo1a: # ORPH1-NEXT: 20080: 00 00 00 00 nop # ORPH1: foo1b: @@ -193,8 +193,8 @@ __start: # ORPH1-NEXT: 2008c: 08 00 80 28 j 131232 <foo2> # ORPH1-NEXT: 20090: 27 39 00 a0 addiu $25, $25, 160 # ORPH1-NEXT: 20094: 00 00 00 00 nop -# ORPH1-NEXT: 20098: 00 00 00 00 nop -# ORPH1-NEXT: 2009c: 00 00 00 00 nop +# ORPH1-NEXT: 20098: ef ef ef ef <unknown> +# ORPH1-NEXT: 2009c: ef ef ef ef <unknown> # ORPH1: foo2: # ORPH1-NEXT: 200a0: 00 00 00 00 nop @@ -224,9 +224,9 @@ __start: # ORPH2-NEXT: 2003c: 00 00 00 00 nop # ORPH2: fpic: # ORPH2-NEXT: 20040: 00 00 00 00 nop -# ORPH2-NEXT: 20044: 00 00 00 00 nop -# ORPH2-NEXT: 20048: 00 00 00 00 nop -# ORPH2-NEXT: 2004c: 00 00 00 00 nop +# ORPH2-NEXT: 20044: ef ef ef ef <unknown> +# ORPH2-NEXT: 20048: ef ef ef ef <unknown> +# ORPH2-NEXT: 2004c: ef ef ef ef <unknown> # ORPH2: fnpic: # ORPH2-NEXT: 20050: 00 00 00 00 nop # ORPH2-NEXT: Disassembly of section .text: @@ -249,7 +249,7 @@ __start: # ORPH2-NEXT: 2008c: 08 00 80 28 j 131232 <foo2> # ORPH2-NEXT: 20090: 27 39 00 a0 addiu $25, $25, 160 # ORPH2-NEXT: 20094: 00 00 00 00 nop -# ORPH2-NEXT: 20098: 00 00 00 00 nop -# ORPH2-NEXT: 2009c: 00 00 00 00 nop +# ORPH2-NEXT: 20098: ef ef ef ef <unknown> +# ORPH2-NEXT: 2009c: ef ef ef ef <unknown> # ORPH2: foo2: # ORPH2-NEXT: 200a0: 00 00 00 00 nop diff --git a/test/ELF/mips-npic-call-pic.s b/test/ELF/mips-npic-call-pic.s index a5a99d719983..c3c94d783410 100644 --- a/test/ELF/mips-npic-call-pic.s +++ b/test/ELF/mips-npic-call-pic.s @@ -51,8 +51,8 @@ # CHECK-NEXT: 2005c: 08 00 80 1c j 131184 <foo2> # CHECK-NEXT: 20060: 27 39 00 70 addiu $25, $25, 112 # CHECK-NEXT: 20064: 00 00 00 00 nop -# CHECK-NEXT: 20068: 00 00 00 00 nop -# CHECK-NEXT: 2006c: 00 00 00 00 nop +# CHECK-NEXT: 20068: ef ef ef ef <unknown> +# CHECK-NEXT: 2006c: ef ef ef ef <unknown> # CHECK: foo2: # CHECK-NEXT: 20070: 00 00 00 00 nop @@ -62,15 +62,15 @@ # CHECK-NEXT: 20078: 08 00 80 24 j 131216 <fpic> # CHECK-NEXT: 2007c: 27 39 00 90 addiu $25, $25, 144 # CHECK-NEXT: 20080: 00 00 00 00 nop -# CHECK-NEXT: 20084: 00 00 00 00 nop -# CHECK-NEXT: 20088: 00 00 00 00 nop -# CHECK-NEXT: 2008c: 00 00 00 00 nop +# CHECK-NEXT: 20084: ef ef ef ef <unknown> +# CHECK-NEXT: 20088: ef ef ef ef <unknown> +# CHECK-NEXT: 2008c: ef ef ef ef <unknown> # CHECK: fpic: # CHECK-NEXT: 20090: 00 00 00 00 nop -# CHECK-NEXT: 20094: 00 00 00 00 nop -# CHECK-NEXT: 20098: 00 00 00 00 nop -# CHECK-NEXT: 2009c: 00 00 00 00 nop +# CHECK-NEXT: 20094: ef ef ef ef <unknown> +# CHECK-NEXT: 20098: ef ef ef ef <unknown> +# CHECK-NEXT: 2009c: ef ef ef ef <unknown> # CHECK: fnpic: # CHECK-NEXT: 200a0: 00 00 00 00 nop @@ -101,13 +101,13 @@ # REVERSE-NEXT: 2002c: 08 00 80 10 j 131136 <foo2> # REVERSE-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64 # REVERSE-NEXT: 20034: 00 00 00 00 nop -# REVERSE-NEXT: 20038: 00 00 00 00 nop -# REVERSE-NEXT: 2003c: 00 00 00 00 nop +# REVERSE-NEXT: 20038: ef ef ef ef <unknown> +# REVERSE-NEXT: 2003c: ef ef ef ef <unknown> # REVERSE: foo2: # REVERSE-NEXT: 20040: 00 00 00 00 nop -# REVERSE-NEXT: 20044: 00 00 00 00 nop -# REVERSE-NEXT: 20048: 00 00 00 00 nop -# REVERSE-NEXT: 2004c: 00 00 00 00 nop +# REVERSE-NEXT: 20044: ef ef ef ef <unknown> +# REVERSE-NEXT: 20048: ef ef ef ef <unknown> +# REVERSE-NEXT: 2004c: ef ef ef ef <unknown> # REVERSE: __start: # REVERSE-NEXT: 20050: 0c 00 80 00 jal 131072 <__LA25Thunk_foo1a> # REVERSE-NEXT: 20054: 00 00 00 00 nop @@ -128,9 +128,9 @@ # REVERSE-NEXT: 2008c: 00 00 00 00 nop # REVERSE: fpic: # REVERSE-NEXT: 20090: 00 00 00 00 nop -# REVERSE-NEXT: 20094: 00 00 00 00 nop -# REVERSE-NEXT: 20098: 00 00 00 00 nop -# REVERSE-NEXT: 2009c: 00 00 00 00 nop +# REVERSE-NEXT: 20094: ef ef ef ef <unknown> +# REVERSE-NEXT: 20098: ef ef ef ef <unknown> +# REVERSE-NEXT: 2009c: ef ef ef ef <unknown> # REVERSE: fnpic: # REVERSE-NEXT: 200a0: 00 00 00 00 nop diff --git a/test/ELF/mips-plt-r6.s b/test/ELF/mips-plt-r6.s index ccf233cc73cd..4bab21c32eb9 100644 --- a/test/ELF/mips-plt-r6.s +++ b/test/ELF/mips-plt-r6.s @@ -18,7 +18,7 @@ # # CHECK-NEXT: Disassembly of section .plt: # CHECK-NEXT: .plt: -# CHECK-NEXT: 20010: 3c 1c 00 03 aui $zero, $gp, 3 +# 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 @@ -27,7 +27,7 @@ # CHECK-NEXT: 20028: 03 20 f8 09 jalr $25 # CHECK-NEXT: 2002c: 27 18 ff fe addiu $24, $24, -2 -# CHECK-NEXT: 20030: 3c 0f 00 03 aui $zero, $15, 3 +# CHECK-NEXT: 20030: 3c 0f 00 03 aui $15, $zero, 3 # CHECK-NEXT: 20034: 8d f9 00 0c lw $25, 12($15) # CHECK-NEXT: 20038: 03 20 00 09 jr $25 # CHECK-NEXT: 2003c: 25 f8 00 0c addiu $24, $15, 12 diff --git a/test/ELF/wrap.s b/test/ELF/wrap.s index 17aac2db6e18..d8d802bb8ca4 100644 --- a/test/ELF/wrap.s +++ b/test/ELF/wrap.s @@ -12,6 +12,14 @@ // CHECK-NEXT: movl $0x11010, %edx // CHECK-NEXT: movl $0x11000, %edx +// RUN: llvm-readobj -t -s %t3 | FileCheck -check-prefix=SYM %s +// SYM: Name: __real_foo +// SYM-NEXT: Value: 0x11000 +// SYM: Name: __wrap_foo +// SYM-NEXT: Value: 0x11010 +// SYM: Name: foo +// SYM-NEXT: Value: 0x11010 + .global _start _start: movl $foo, %edx |
