[lld] r371458 - [mips] Make another set of test cases more tolerant to exact symbol addresses. NFC
Simon Atanasyan via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 9 15:04:21 PDT 2019
Author: atanasyan
Date: Mon Sep 9 15:04:20 2019
New Revision: 371458
URL: http://llvm.org/viewvc/llvm-project?rev=371458&view=rev
Log:
[mips] Make another set of test cases more tolerant to exact symbol addresses. NFC
Modified:
lld/trunk/test/ELF/mips-32.s
lld/trunk/test/ELF/mips-micro-cross-calls.s
lld/trunk/test/ELF/mips-micro-jal.s
lld/trunk/test/ELF/mips-micro-plt.s
lld/trunk/test/ELF/mips-micro-relocs.s
lld/trunk/test/ELF/mips-micro-thunks.s
lld/trunk/test/ELF/mips-micror6-relocs.s
lld/trunk/test/ELF/mips-n32-rels.s
lld/trunk/test/ELF/mips-nonalloc.s
lld/trunk/test/ELF/mips-npic-call-pic-os.s
lld/trunk/test/ELF/mips-npic-call-pic.s
lld/trunk/test/ELF/mips-pc-relocs.s
lld/trunk/test/ELF/mips-plt-n32.s
lld/trunk/test/ELF/mips-plt-n64.s
lld/trunk/test/ELF/mips-plt-r6.s
lld/trunk/test/ELF/mips-tls-64-pic-local-variable.s
lld/trunk/test/ELF/mips-tls-64.s
lld/trunk/test/ELF/mips-tls-hilo.s
lld/trunk/test/ELF/mips-tls-static-64.s
lld/trunk/test/ELF/mips-tls-static.s
lld/trunk/test/ELF/mips-tls.s
lld/trunk/test/ELF/mips-xgot-order.s
lld/trunk/test/ELF/rel-addend-with-rela-input.s
Modified: lld/trunk/test/ELF/mips-32.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-32.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-32.s (original)
+++ lld/trunk/test/ELF/mips-32.s Mon Sep 9 15:04:20 2019
@@ -1,14 +1,18 @@
# REQUIRES: mips
# Check R_MIPS_32 relocation calculation.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x10000; .data ALIGN(0x1000) : { *(.data) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t-be.o
-# RUN: ld.lld -shared %t-be.o -o %t-be.so
+# RUN: ld.lld -shared %t-be.o -script %t.script -o %t-be.so
# RUN: llvm-objdump -t -s %t-be.so | FileCheck -check-prefixes=SYM,BE %s
# RUN: llvm-readelf -r -s --dynamic-table --mips-plt-got %t-be.so \
# RUN: | FileCheck -check-prefix=REL %s
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux %s -o %t-el.o
-# RUN: ld.lld -shared %t-el.o -o %t-el.so
+# RUN: ld.lld -shared %t-el.o -script %t.script -o %t-el.so
# RUN: llvm-objdump -t -s %t-el.so | FileCheck -check-prefixes=SYM,EL %s
# RUN: llvm-readelf -r -s --dynamic-table --mips-plt-got %t-el.so \
# RUN: | FileCheck -check-prefix=REL %s
@@ -21,15 +25,15 @@ v2:
.word v1 # R_MIPS_32 target v1 addend 0
# BE: Contents of section .data:
-# BE-NEXT: {{.*}} 00000004 00010000
+# BE-NEXT: {{.*}} 00000004 00011000
# ^-- v2+4 ^-- v1
# EL: Contents of section .data:
-# EL-NEXT: {{.*}} 04000000 00000100
+# EL-NEXT: {{.*}} 04000000 00100100
# ^-- v2+4 ^-- v1
# SYM: SYMBOL TABLE:
-# SYM: 00010000 .data 00000000 v1
+# SYM: 00011000 .data 00000000 v1
# REL: Relocation section
# REL: {{.*}} R_MIPS_REL32
Modified: lld/trunk/test/ELF/mips-micro-cross-calls.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-micro-cross-calls.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-micro-cross-calls.s (original)
+++ lld/trunk/test/ELF/mips-micro-cross-calls.s Mon Sep 9 15:04:20 2019
@@ -7,28 +7,38 @@
# RUN: -position-independent -mattr=micromips \
# RUN: %S/Inputs/mips-micro.s -o %t-eb-pic.o
# RUN: ld.lld -o %t-eb.exe %t-eb.o %t-eb-pic.o
-# RUN: llvm-objdump -d -mattr=-micromips %t-eb.exe \
-# RUN: | FileCheck --check-prefix=REG %s
-# RUN: llvm-objdump -d -mattr=+micromips %t-eb.exe \
-# RUN: | FileCheck --check-prefix=MICRO %s
+# RUN: llvm-objdump -d -t -mattr=-micromips \
+# RUN: --no-show-raw-insn --print-imm-hex %t-eb.exe \
+# RUN: | FileCheck --check-prefixes=SYM,REG %s
+# RUN: llvm-objdump -d -t -mattr=+micromips \
+# RUN: --no-show-raw-insn --print-imm-hex %t-eb.exe \
+# RUN: | FileCheck --check-prefixes=SYM,MICRO %s
# REG: __start:
-# REG-NEXT: 20000: 74 00 80 04 jalx 131088 <micro>
-# REG-NEXT: 20004: 00 00 00 00 nop
-# REG-NEXT: 20008: 74 00 80 08 jalx 131104 <__microLA25Thunk_foo>
+# REG-NEXT: jalx 0x[[MIC:[0-9a-f]+]] <micro>
+# REG-NEXT: nop
+# REG-NEXT: jalx 0x[[FOOT:[0-9a-f]+]] <__microLA25Thunk_foo>
# REG: __LA25Thunk_bar:
-# REG-NEXT: 20030: 3c 19 00 02 lui $25, 2
-# REG-NEXT: 20034: 08 00 80 11 j 131140 <bar>
+# REG-NEXT: lui $25, 0x2
+# REG-NEXT: j 0x[[BAR:[0-9a-f]+]] <bar>
# MICRO: micro:
-# MICRO-NEXT: 20010: f0 00 80 00 jalx 131072 <__start>
-# MICRO-NEXT: 20014: 00 00 00 00 nop
-# MICRO-NEXT: 20018: f0 00 80 0c jalx 131120 <__LA25Thunk_bar>
+# MICRO-NEXT: jalx 0x[[START:[0-9a-f]+]]
+# MICRO-NEXT: nop
+# MICRO-NEXT: jalx 0x[[BART:[0-9a-f]+]]
# MICRO: __microLA25Thunk_foo:
-# MICRO-NEXT: 20020: 41 b9 00 02 lui $25, 2
-# MICRO-NEXT: 20024: d4 01 00 20 j 131136
+# MICRO-NEXT: lui $25, 0x2
+# MICRO-NEXT: j 0x[[FOO:[0-9a-f]+]] <foo>
+
+# REG: [[FOOT]] l F .text 0000000e 0x80 __microLA25Thunk_foo
+# REG: [[BAR]] g F .text 00000000 bar
+# REG: [[MIC]] .text 00000000 0x80 micro
+
+# MICRO: [[BART]] l F .text 00000010 __LA25Thunk_bar
+# MICRO: [[START]] .text 00000000 __start
+# MICRO: [[FOO]] g F .text 00000000 0x80 foo
.text
.set nomicromips
Modified: lld/trunk/test/ELF/mips-micro-jal.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-micro-jal.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-micro-jal.s (original)
+++ lld/trunk/test/ELF/mips-micro-jal.s Mon Sep 9 15:04:20 2019
@@ -1,39 +1,48 @@
# REQUIRES: mips
# Check PLT creation for microMIPS to microMIPS calls.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x20000; .text ALIGN(0x100) : { *(.text) } \
+# RUN: . = 0x20300; .plt : { *(.plt) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %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
-# RUN: llvm-objdump -d -mattr=micromips %teb.exe | FileCheck --check-prefix=EB %s
-# RUN: llvm-readobj --mips-plt-got %teb.exe | FileCheck --check-prefix=PLT %s
+# RUN: ld.lld --script %t.script -o %teb.exe %t2eb.o %teb.so
+# RUN: llvm-objdump -d -mattr=micromips --no-show-raw-insn %teb.exe \
+# RUN: | FileCheck --check-prefix=R2 %s
+# RUN: llvm-readelf --mips-plt-got %teb.exe | FileCheck --check-prefix=PLT %s
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \
# RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %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
-# RUN: llvm-objdump -d -mattr=micromips %tel.exe | FileCheck --check-prefix=EL %s
-# RUN: llvm-readobj --mips-plt-got %tel.exe | FileCheck --check-prefix=PLT %s
+# RUN: ld.lld --script %t.script -o %tel.exe %t2el.o %tel.so
+# RUN: llvm-objdump -d -mattr=micromips --no-show-raw-insn %tel.exe \
+# RUN: | FileCheck --check-prefix=R2 %s
+# RUN: llvm-readelf --mips-plt-got %tel.exe | FileCheck --check-prefix=PLT %s
# 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 -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
-# RUN: llvm-objdump -d -mattr=micromips %teb.exe | FileCheck --check-prefix=EBR6 %s
+# RUN: ld.lld --script %t.script -o %teb.exe %t2eb.o %teb.so
+# RUN: llvm-objdump -d -mattr=micromips %teb.exe --no-show-raw-insn \
+# RUN: | FileCheck --check-prefix=R6 %s
# 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 -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
-# RUN: llvm-objdump -d -mattr=micromips %tel.exe | FileCheck --check-prefix=ELR6 %s
+# RUN: ld.lld --script %t.script -o %tel.exe %t2el.o %tel.so
+# RUN: llvm-objdump -d -mattr=micromips --no-show-raw-insn %tel.exe \
+# RUN: | FileCheck --check-prefix=R6 %s
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %t1eb.o
@@ -42,109 +51,46 @@
# RUN: %S/Inputs/mips-fpic.s -o %t-reg.o
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -mattr=micromips %s -o %t2eb.o
-# RUN: ld.lld --no-threads -o %teb.exe %t-reg.o %t2eb.o %teb.so
-# RUN: llvm-objdump -d -mattr=micromips %teb.exe \
-# RUN: | FileCheck --check-prefix=MIXED %s
-
-# EB: Disassembly of section .plt:
-# EB-EMPTY:
-# EB-NEXT: .plt:
-# EB-NEXT: 20010: 79 80 3f fd addiupc $3, 65524
-# EB-NEXT: 20014: ff 23 00 00 lw $25, 0($3)
-# EB-NEXT: 20018: 05 35 subu16 $2, $2, $3
-# EB-NEXT: 2001a: 25 25 srl16 $2, $2, 2
-# EB-NEXT: 2001c: 33 02 ff fe addiu $24, $2, -2
-# EB-NEXT: 20020: 0d ff move $15, $ra
-# EB-NEXT: 20022: 45 f9 jalrs16 $25
-# EB-NEXT: 20024: 0f 83 move $gp, $3
-# EB-NEXT: 20026: 0c 00 nop
-# EB-NEXT: ...
-# EB-NEXT: 20030: 79 00 3f f7 addiupc $2, 65500
-# EB-NEXT: 20034: ff 22 00 00 lw $25, 0($2)
-# EB-NEXT: 20038: 45 99 jr16 $25
-# EB-NEXT: 2003a: 0f 02 move $24, $2
-
-# EL: Disassembly of section .plt:
-# EL-EMPTY:
-# EL-NEXT: .plt:
-# EL-NEXT: 20010: 80 79 fd 3f addiupc $3, 65524
-# EL-NEXT: 20014: 23 ff 00 00 lw $25, 0($3)
-# EL-NEXT: 20018: 35 05 subu16 $2, $2, $3
-# EL-NEXT: 2001a: 25 25 srl16 $2, $2, 2
-# EL-NEXT: 2001c: 02 33 fe ff addiu $24, $2, -2
-# EL-NEXT: 20020: ff 0d move $15, $ra
-# EL-NEXT: 20022: f9 45 jalrs16 $25
-# EL-NEXT: 20024: 83 0f move $gp, $3
-# EL-NEXT: 20026: 00 0c nop
-# EL-NEXT: ...
-# EL-NEXT: 20030: 00 79 f7 3f addiupc $2, 65500
-# EL-NEXT: 20034: 22 ff 00 00 lw $25, 0($2)
-# EL-NEXT: 20038: 99 45 jr16 $25
-# EL-NEXT: 2003a: 02 0f move $24, $2
-
-# EBR6: Disassembly of section .plt:
-# EBR6-EMPTY:
-# EBR6-NEXT: .plt:
-# EBR6-NEXT: 20010: 78 60 3f fd lapc $3, 65524
-# EBR6-NEXT: 20014: ff 23 00 00 lw $25, 0($3)
-# EBR6-NEXT: 20018: 05 35 subu16 $2, $2, $3
-# EBR6-NEXT: 2001a: 25 25 srl16 $2, $2, 2
-# EBR6-NEXT: 2001c: 33 02 ff fe addiu $24, $2, -2
-# EBR6-NEXT: 20020: 0d ff move16 $15, $ra
-# EBR6-NEXT: 20022: 0f 83 move16 $gp, $3
-# EBR6-NEXT: 20024: 47 2b jalr $25
-
-# EBR6: 20030: 78 40 3f f7 lapc $2, 65500
-# EBR6-NEXT: 20034: ff 22 00 00 lw $25, 0($2)
-# EBR6-NEXT: 20038: 0f 02 move16 $24, $2
-# EBR6-NEXT: 2003a: 47 23 jrc16 $25
-
-# ELR6: Disassembly of section .plt:
-# ELR6-EMPTY:
-# ELR6-NEXT: .plt:
-# ELR6-NEXT: 20010: 60 78 fd 3f lapc $3, 65524
-# ELR6-NEXT: 20014: 23 ff 00 00 lw $25, 0($3)
-# ELR6-NEXT: 20018: 35 05 subu16 $2, $2, $3
-# ELR6-NEXT: 2001a: 25 25 srl16 $2, $2, 2
-# ELR6-NEXT: 2001c: 02 33 fe ff addiu $24, $2, -2
-# ELR6-NEXT: 20020: ff 0d move16 $15, $ra
-# ELR6-NEXT: 20022: 83 0f move16 $gp, $3
-# ELR6-NEXT: 20024: 2b 47 jalr $25
-
-# ELR6: 20030: 40 78 f7 3f lapc $2, 65500
-# ELR6-NEXT: 20034: 22 ff 00 00 lw $25, 0($2)
-# ELR6-NEXT: 20038: 02 0f move16 $24, $2
-# ELR6-NEXT: 2003a: 23 47 jrc16 $25
-
-# MIXED: Disassembly of section .plt:
-# MIXED-EMPTY:
-# MIXED-NEXT: .plt:
-# MIXED-NEXT: 20020: 79 80 3f f9 addiupc $3, 65508
-# MIXED-NEXT: 20024: ff 23 00 00 lw $25, 0($3)
-# MIXED-NEXT: 20028: 05 35 subu16 $2, $2, $3
-# MIXED-NEXT: 2002a: 25 25 srl16 $2, $2, 2
-# MIXED-NEXT: 2002c: 33 02 ff fe addiu $24, $2, -2
-# MIXED-NEXT: 20030: 0d ff move $15, $ra
-# MIXED-NEXT: 20032: 45 f9 jalrs16 $25
-# MIXED-NEXT: 20034: 0f 83 move $gp, $3
-# MIXED-NEXT: 20036: 0c 00 nop
-# MIXED-NEXT: ...
-# MIXED-NEXT: 20040: 79 00 3f f3 addiupc $2, 65484
-# MIXED-NEXT: 20044: ff 22 00 00 lw $25, 0($2)
-# MIXED-NEXT: 20048: 45 99 jr16 $25
-# MIXED-NEXT: 2004a: 0f 02 move $24, $2
-
-# PLT: Entries [
-# PLT-NEXT: Entry {
-# PLT-NEXT: Address: 0x3000C
-# ^ 0x20030 + 65500
-# PLT-NEXT: Initial:
-# PLT-NEXT: Value: 0x0
-# PLT-NEXT: Type: Function
-# PLT-NEXT: Section: Undefined
-# PLT-NEXT: Name: foo
-# PLT-NEXT: }
-# PLT-NEXT: ]
+# RUN: ld.lld --script %t.script --no-threads -o %teb.exe %t-reg.o %t2eb.o %teb.so
+# RUN: llvm-objdump -d -mattr=micromips --no-show-raw-insn %teb.exe \
+# RUN: | FileCheck --check-prefix=R2 %s
+
+# R2: .plt:
+# R2: 20300: addiupc $3, 52
+# R2-NEXT: lw $25, 0($3)
+# R2-NEXT: subu16 $2, $2, $3
+# R2-NEXT: srl16 $2, $2, 2
+# R2-NEXT: addiu $24, $2, -2
+# R2-NEXT: move $15, $ra
+# R2-NEXT: jalrs16 $25
+# R2-NEXT: move $gp, $3
+# R2-NEXT: nop
+# R2-NEXT: ...
+# R2-NEXT: 20320: addiupc $2, 28
+# R2-NEXT: lw $25, 0($2)
+# R2-NEXT: jr16 $25
+# R2-NEXT: move $24, $2
+
+# R6: .plt:
+# R6: 20300: lapc $3, 52
+# R6-NEXT: lw $25, 0($3)
+# R6-NEXT: subu16 $2, $2, $3
+# R6-NEXT: srl16 $2, $2, 2
+# R6-NEXT: addiu $24, $2, -2
+# R6-NEXT: move16 $15, $ra
+# R6-NEXT: move16 $gp, $3
+# R6-NEXT: jalr $25
+
+# R6: 20320: lapc $2, 28
+# R6-NEXT: lw $25, 0($2)
+# R6-NEXT: move16 $24, $2
+# R6-NEXT: jrc16 $25
+
+# PLT: PLT GOT:
+# PLT: Entries:
+# PLT-NEXT: Address Initial Sym.Val. Type Ndx Name
+# PLT-NEXT: 0002033c 00020301 00000000 FUNC UND foo
+# ^ 0x20320 + 28
.text
.set micromips
Modified: lld/trunk/test/ELF/mips-micro-plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-micro-plt.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-micro-plt.s (original)
+++ lld/trunk/test/ELF/mips-micro-plt.s Mon Sep 9 15:04:20 2019
@@ -6,93 +6,43 @@
# 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
-# RUN: llvm-readobj --symbols --dyn-syms --mips-plt-got %t.exe | FileCheck %s
-# RUN: llvm-objdump -d -mattr=micromips %t.exe | FileCheck --check-prefix=ASM %s
-
-# CHECK: Symbols [
-# CHECK: Symbol {
-# CHECK: Name: foo
-# CHECK-NEXT: Value: 0x20010
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Binding: Local
-# CHECK-NEXT: Type: None
-# CHECK-NEXT: Other [
-# CHECK-NEXT: STO_MIPS_MICROMIPS
-# CHECK-NEXT: STV_HIDDEN
-# CHECK-NEXT: ]
-# CHECK-NEXT: Section: .text
-# CHECK-NEXT: }
-# CHECK: Symbol {
-# CHECK: Name: __start
-# CHECK-NEXT: Value: 0x20000
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Binding: Global
-# CHECK-NEXT: Type: None
-# CHECK-NEXT: Other [
-# CHECK-NEXT: STO_MIPS_MICROMIPS
-# CHECK-NEXT: ]
-# CHECK-NEXT: Section: .text
-# CHECK-NEXT: }
-# CHECK: Symbol {
-# CHECK: Name: foo0
-# CHECK-NEXT: Value: 0x20040
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Binding: Global
-# CHECK-NEXT: Type: Function
-# CHECK-NEXT: Other [
-# CHECK-NEXT: STO_MIPS_MICROMIPS
-# CHECK-NEXT: STO_MIPS_PLT
-# CHECK-NEXT: ]
-# CHECK-NEXT: Section: Undefined
-# CHECK-NEXT: }
-# CHECK-NEXT: ]
-# CHECK: DynamicSymbols [
-# CHECK: Symbol {
-# CHECK: Name: foo0
-# CHECK-NEXT: Value: 0x20041
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Binding: Global
-# CHECK-NEXT: Type: Function
-# CHECK-NEXT: Other [
-# CHECK-NEXT: STO_MIPS_MICROMIPS
-# CHECK-NEXT: STO_MIPS_PLT
-# CHECK-NEXT: ]
-# CHECK-NEXT: Section: Undefined
-# CHECK-NEXT: }
-# CHECK-NEXT: ]
-
-# CHECK: Primary GOT {
-# CHECK: Local entries [
-# CHECK-NEXT: Entry {
-# CHECK-NEXT: Address:
-# CHECK-NEXT: Access:
-# CHECK-NEXT: Initial: 0x20011
-# CHECK-NEXT: }
-# CHECK: ]
-# CHECK: }
-
-# CHECK: PLT GOT {
-# CHECK: Entries [
-# CHECK-NEXT: Entry {
-# CHECK-NEXT: Address:
-# CHECK-NEXT: Initial: 0x20021
-# CHECK-NEXT: Value: 0x20041
-# CHECK-NEXT: Type: Function
-# CHECK-NEXT: Section: Undefined
-# CHECK-NEXT: Name: foo0
-# CHECK-NEXT: }
-# CHECK-NEXT: ]
-# CHECK-NEXT: }
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x20000; .text ALIGN(0x100) : { *(.text) } \
+# RUN: . = 0x20300; .plt : { *(.plt) } \
+# RUN: }" > %t.script
+# RUN: ld.lld %t-exe.o %t.so --script %t.script -o %t.exe
+# RUN: llvm-readelf --symbols --dyn-syms --mips-plt-got %t.exe | FileCheck %s
+# RUN: llvm-objdump -d -mattr=micromips --no-show-raw-insn %t.exe \
+# RUN: | FileCheck --check-prefix=ASM %s
+
+# CHECK: Symbol table '.dynsym'
+# CHECK: Num: Value Size Type Bind Vis Ndx Name
+# CHECK: 1: 00020321 0 FUNC GLOBAL DEFAULT [<other: 0x88>] UND foo0
+
+# CHECK: Symbol table '.symtab'
+# CHECK: Num: Value Size Type Bind Vis Ndx Name
+# CHECK: 1: 00020210 0 NOTYPE LOCAL HIDDEN [<other: 0x82>] 8 foo
+# CHECK: 4: 00020200 0 NOTYPE GLOBAL DEFAULT [<other: 0x80>] 8 __start
+# CHECK: 5: 00020320 0 FUNC GLOBAL DEFAULT [<other: 0x88>] UND foo0
+
+# CHECK: Primary GOT:
+# CHECK: Local entries:
+# CHECK: Address Access Initial
+# CHECK: -32744(gp) 00020211
+
+# CHECK: PLT GOT:
+# CHECK: Entries:
+# CHECK: Address Initial Sym.Val. Type Ndx Name
+# CHECK: 00020301 00020321 FUNC UND foo0
# ASM: __start:
-# ASM-NEXT: 20000: fd 1c 80 18 lw $8, -32744($gp)
-# ASM-NEXT: 20004: 11 08 00 11 addi $8, $8, 17
-# ASM-NEXT: 20008: 41 a8 00 02 lui $8, 2
-# ASM-NEXT: 2000c: 11 08 00 41 addi $8, $8, 65
+# ASM-NEXT: 20200: lw $8, -32744($gp)
+# ASM-NEXT: addi $8, $8, 529
+# ASM-NEXT: lui $8, 2
+# ASM-NEXT: addi $8, $8, 801
#
# ASM: foo:
-# ASM-NEXT: 20010: f4 01 00 20 jal 131136
+# ASM-NEXT: 20210: jal 131872
.text
.set micromips
Modified: lld/trunk/test/ELF/mips-micro-relocs.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-micro-relocs.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-micro-relocs.s (original)
+++ lld/trunk/test/ELF/mips-micro-relocs.s Mon Sep 9 15:04:20 2019
@@ -1,64 +1,58 @@
# REQUIRES: mips
# Check handling of microMIPS relocations.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x20000; .text ALIGN(0x100) : { *(.text) } \
+# RUN: . = 0x20300; .plt : { *(.plt) } \
+# RUN: . = 0x30000; .data : { *(.data) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %t1eb.o
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -mattr=micromips %s -o %t2eb.o
-# RUN: ld.lld -o %teb.exe %t1eb.o %t2eb.o
-# RUN: llvm-objdump -d -t -s -mattr=micromips %teb.exe \
-# RUN: | FileCheck --check-prefixes=EB,SYM %s
-# RUN: llvm-readobj -h %teb.exe | FileCheck --check-prefix=ELF %s
+# RUN: ld.lld -o %teb.exe -script %t.script %t1eb.o %t2eb.o
+# RUN: llvm-objdump -d -t -s -mattr=micromips --no-show-raw-insn %teb.exe \
+# RUN: | FileCheck --check-prefixes=ASM,EB %s
+# RUN: llvm-readelf -h %teb.exe | FileCheck --check-prefix=ELF %s
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \
# RUN: -mattr=micromips %S/Inputs/mips-micro.s -o %t1el.o
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \
# RUN: -mattr=micromips %s -o %t2el.o
-# RUN: ld.lld -o %tel.exe %t1el.o %t2el.o
-# RUN: llvm-objdump -d -t -s -mattr=micromips %tel.exe \
-# RUN: | FileCheck --check-prefixes=EL,SYM %s
-# RUN: llvm-readobj -h %tel.exe | FileCheck --check-prefix=ELF %s
-
-# EB: __start:
-# EB-NEXT: 20010: 41 a3 00 01 lui $3, 1
-# EB-NEXT: 20014: 30 63 7f ef addiu $3, $3, 32751
-# EB-NEXT: 20018: fc 7c 80 18 lw $3, -32744($gp)
-# EB-NEXT: 2001c: fc 63 80 18 lw $3, -32744($3)
-# EB-NEXT: 20020: 8f 70 beqz16 $6, -32
-# EB-NEXT: 20022: 00 7e 00 00 sll $3, $fp, 0
-# EB-NEXT: 20026: cf ec b16 -40
-# EB-NEXT: 20028: 00 00 00 00 nop
-# EB-NEXT: 2002c: 94 00 ff e8 b -44
+# RUN: ld.lld -o %tel.exe -script %t.script %t1el.o %t2el.o
+# RUN: llvm-objdump -d -t -s -mattr=micromips --no-show-raw-insn %tel.exe \
+# RUN: | FileCheck --check-prefixes=ASM,EL %s
+# RUN: llvm-readelf -h %tel.exe | FileCheck --check-prefix=ELF %s
+
+# ASM: __start:
+# ASM-NEXT: 20110: lui $3, 1
+# ASM-NEXT: addiu $3, $3, 32495
+# ASM-NEXT: lw $3, -32744($gp)
+# ASM-NEXT: lw $3, -32744($3)
+# ASM-NEXT: beqz16 $6, -32
+# ASM-NEXT: sll $3, $fp, 0
+# ASM-NEXT: b16 -40
+# ASM-NEXT: nop
+# ASM-NEXT: b -44
# EB: Contents of section .data:
-# EB-NEXT: 30000 fffe8011
+# EB-NEXT: 30000 fffe8111
# EB: Contents of section .debug_info
-# EB-NEXT: 0000 00020011
-
-# EL: __start:
-# EL-NEXT: 20010: a3 41 01 00 lui $3, 1
-# EL-NEXT: 20014: 63 30 ef 7f addiu $3, $3, 32751
-# EL-NEXT: 20018: 7c fc 18 80 lw $3, -32744($gp)
-# EL-NEXT: 2001c: 63 fc 18 80 lw $3, -32744($3)
-# EL-NEXT: 20020: 70 8f beqz16 $6, -32
-# EL-NEXT: 20022: 7e 00 00 00 sll $3, $fp, 0
-# EL-NEXT: 20026: ec cf b16 -40
-# EL-NEXT: 20028: 00 00 00 00 nop
-# EL-NEXT: 2002c: 00 94 e8 ff b -44
+# EB-NEXT: 0000 00020111
# EL: Contents of section .data:
-# EL-NEXT: 30000 1180feff
+# EL-NEXT: 30000 1181feff
# EL: Contents of section .debug_info
-# EL-NEXT: 0000 11000200
+# EL-NEXT: 0000 11010200
-# SYM: 00038000 .got 00000000 .hidden _gp
-# SYM: 00020000 g F .text 00000000 0x80 foo
-# SYM: 00020010 .text 00000000 0x80 __start
+# ASM: 00038000 .got 00000000 .hidden _gp
+# ASM: 00020100 g F .text 00000000 0x80 foo
+# ASM: 00020110 .text 00000000 0x80 __start
-# ELF: ElfHeader {
-# ELF: Entry: 0x20011
+# ELF: Entry point address: 0x20111
.text
.set micromips
Modified: lld/trunk/test/ELF/mips-micro-thunks.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-micro-thunks.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-micro-thunks.s (original)
+++ lld/trunk/test/ELF/mips-micro-thunks.s Mon Sep 9 15:04:20 2019
@@ -1,77 +1,63 @@
# REQUIRES: mips
# Check microMIPS thunk generation.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x20000; .text ALIGN(0x100) : { *(.text) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -mcpu=mips32r2 -mattr=micromips %s -o %t-eb.o
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -position-independent -mcpu=mips32r2 -mattr=micromips \
# RUN: %S/Inputs/mips-micro.s -o %t-eb-pic.o
-# RUN: ld.lld -o %t-eb.exe %t-eb.o %t-eb-pic.o
-# RUN: llvm-objdump -d -mattr=+micromips %t-eb.exe \
-# RUN: | FileCheck --check-prefix=EB-R2 %s
+# RUN: ld.lld -o %t-eb.exe -script %t.script %t-eb.o %t-eb-pic.o
+# RUN: llvm-objdump -d -mattr=+micromips --no-show-raw-insn %t-eb.exe \
+# RUN: | FileCheck --check-prefix=R2 %s
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \
# RUN: -mcpu=mips32r2 -mattr=micromips %s -o %t-el.o
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \
# RUN: -position-independent -mcpu=mips32r2 -mattr=micromips \
# RUN: %S/Inputs/mips-micro.s -o %t-el-pic.o
-# RUN: ld.lld -o %t-el.exe %t-el.o %t-el-pic.o
-# RUN: llvm-objdump -d -mattr=+micromips %t-el.exe \
-# RUN: | FileCheck --check-prefix=EL-R2 %s
+# RUN: ld.lld -o %t-el.exe -script %t.script %t-el.o %t-el-pic.o
+# RUN: llvm-objdump -d -mattr=+micromips --no-show-raw-insn %t-el.exe \
+# RUN: | FileCheck --check-prefix=R2 %s
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -mcpu=mips32r6 -mattr=micromips %s -o %t-eb-r6.o
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: -position-independent -mcpu=mips32r6 -mattr=micromips \
# RUN: %S/Inputs/mips-micro.s -o %t-eb-pic-r6.o
-# RUN: ld.lld -o %t-eb-r6.exe %t-eb-r6.o %t-eb-pic-r6.o
-# RUN: llvm-objdump -d -mattr=+micromips %t-eb-r6.exe \
-# RUN: | FileCheck --check-prefix=EB-R6 %s
+# RUN: ld.lld -o %t-eb-r6.exe -script %t.script %t-eb-r6.o %t-eb-pic-r6.o
+# RUN: llvm-objdump -d -mattr=+micromips --no-show-raw-insn %t-eb-r6.exe \
+# RUN: | FileCheck --check-prefix=R6 %s
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \
# RUN: -mcpu=mips32r6 -mattr=micromips %s -o %t-el-r6.o
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux \
# RUN: -position-independent -mcpu=mips32r6 -mattr=micromips \
# RUN: %S/Inputs/mips-micro.s -o %t-el-pic-r6.o
-# RUN: ld.lld -o %t-el-r6.exe %t-el-r6.o %t-el-pic-r6.o
-# RUN: llvm-objdump -d -mattr=+micromips %t-el-r6.exe \
-# RUN: | FileCheck --check-prefix=EL-R6 %s
-
-# EB-R2: __start:
-# EB-R2-NEXT: 20000: f4 01 00 04 jal 131080 <__microLA25Thunk_foo>
-# EB-R2-NEXT: 20004: 00 00 00 00 nop
-
-# EB-R2: __microLA25Thunk_foo:
-# EB-R2-NEXT: 20008: 41 b9 00 02 lui $25, 2
-# EB-R2-NEXT: 2000c: d4 01 00 10 j 131104
-# EB-R2-NEXT: 20010: 33 39 00 21 addiu $25, $25, 33
-# EB-R2-NEXT: 20014: 0c 00 nop
-
-# EL-R2: __start:
-# EL-R2-NEXT: 20000: 01 f4 04 00 jal 131080 <__microLA25Thunk_foo>
-# EL-R2-NEXT: 20004: 00 00 00 00 nop
-
-# EL-R2: __microLA25Thunk_foo:
-# EL-R2-NEXT: 20008: b9 41 02 00 lui $25, 2
-# EL-R2-NEXT: 2000c: 01 d4 10 00 j 131104
-# EL-R2-NEXT: 20010: 39 33 21 00 addiu $25, $25, 33
-# EL-R2-NEXT: 20014: 00 0c nop
-
-# EB-R6: __start:
-# EB-R6-NEXT: 20000: b4 00 00 00 balc 0 <__start>
-
-# EB-R6: __microLA25Thunk_foo:
-# EB-R6-NEXT: 20004: 13 20 00 02 lui $25, 2
-# EB-R6-NEXT: 20008: 33 39 00 11 addiu $25, $25, 17
-# EB-R6-NEXT: 2000c: 94 00 00 00 bc 0 <__microLA25Thunk_foo+0x8>
-
-# EL-R6: __start:
-# EL-R6-NEXT: 20000: 00 b4 00 00 balc 0 <__start>
-
-# EL-R6: __microLA25Thunk_foo:
-# EL-R6-NEXT: 20004: 20 13 02 00 lui $25, 2
-# EL-R6-NEXT: 20008: 39 33 11 00 addiu $25, $25, 17
-# EL-R6-NEXT: 2000c: 00 94 00 00 bc 0 <__microLA25Thunk_foo+0x8>
+# RUN: ld.lld -o %t-el-r6.exe -script %t.script %t-el-r6.o %t-el-pic-r6.o
+# RUN: llvm-objdump -d -mattr=+micromips --no-show-raw-insn %t-el-r6.exe \
+# RUN: | FileCheck --check-prefix=R6 %s
+
+# R2: __start:
+# R2-NEXT: 20100: jal 131336 <__microLA25Thunk_foo>
+# R2-NEXT: nop
+
+# R2: __microLA25Thunk_foo:
+# R2-NEXT: 20108: lui $25, 2
+# R2-NEXT: j 131360 <foo>
+# R2-NEXT: addiu $25, $25, 289
+# R2-NEXT: nop
+
+# R6: __start:
+# R6-NEXT: 20100: balc 0 <__start>
+
+# R6: __microLA25Thunk_foo:
+# R6-NEXT: 20104: lui $25, 2
+# R6-NEXT: addiu $25, $25, 273
+# R6-NEXT: bc 0 <__microLA25Thunk_foo+0x8>
.text
.set micromips
Modified: lld/trunk/test/ELF/mips-micror6-relocs.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-micror6-relocs.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-micror6-relocs.s (original)
+++ lld/trunk/test/ELF/mips-micror6-relocs.s Mon Sep 9 15:04:20 2019
@@ -2,32 +2,31 @@
# Check handling of microMIPS R6 relocations.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x20000; .text ALIGN(0x100) : { *(.text) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips -mcpu=mips32r6 \
# RUN: %S/Inputs/mips-micro.s -o %t1eb.o
# RUN: llvm-mc -filetype=obj -triple=mips -mcpu=mips32r6 %s -o %t2eb.o
-# RUN: ld.lld -o %teb.exe %t1eb.o %t2eb.o
-# RUN: llvm-objdump -d -t -mattr=micromips %teb.exe \
-# RUN: | FileCheck --check-prefixes=EB,SYM %s
+# RUN: ld.lld -o %teb.exe -script %t.script %t1eb.o %t2eb.o
+# RUN: llvm-objdump -d -t -mattr=micromips --no-show-raw-insn %teb.exe \
+# RUN: | FileCheck %s
# RUN: llvm-mc -filetype=obj -triple=mipsel -mcpu=mips32r6 \
# RUN: %S/Inputs/mips-micro.s -o %t1el.o
# RUN: llvm-mc -filetype=obj -triple=mipsel -mcpu=mips32r6 %s -o %t2el.o
-# RUN: ld.lld -o %tel.exe %t1el.o %t2el.o
-# RUN: llvm-objdump -d -t -mattr=micromips %tel.exe \
-# RUN: | FileCheck --check-prefixes=EL,SYM %s
-
-# EB: __start:
-# EB-NEXT: 20010: 78 47 ff fd lapc $2, -12
-# EB-NEXT: 20014: 80 7f ff f6 beqzc $3, -36
-# EB-NEXT: 20018: b7 ff ff f4 balc -24 <foo>
-
-# EL: __start:
-# EL-NEXT: 20010: 47 78 fd ff lapc $2, -12
-# EL-NEXT: 20014: 7f 80 f6 ff beqzc $3, -36
-# EL-NEXT: 20018: ff b7 f4 ff balc -24 <foo>
+# RUN: ld.lld -o %tel.exe -script %t.script %t1el.o %t2el.o
+# RUN: llvm-objdump -d -t -mattr=micromips --no-show-raw-insn %tel.exe \
+# RUN: | FileCheck %s
+
+# CHECK: __start:
+# CHECK-NEXT: 20110: lapc $2, -12
+# CHECK-NEXT: beqzc $3, -36
+# CHECK-NEXT: balc -24 <foo>
-# SYM: 00020000 g F .text 00000000 0x80 foo
-# SYM: 00020010 .text 00000000 0x80 __start
+# CHECK: 00020100 g F .text 00000000 0x80 foo
+# CHECK: 00020110 .text 00000000 0x80 __start
.text
.set micromips
Modified: lld/trunk/test/ELF/mips-n32-rels.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-n32-rels.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-n32-rels.s (original)
+++ lld/trunk/test/ELF/mips-n32-rels.s Mon Sep 9 15:04:20 2019
@@ -3,9 +3,12 @@
# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \
# RUN: -target-abi n32 -o %t.o %s
-# RUN: ld.lld %t.o -o %t.exe
-# RUN: llvm-objdump -t -d -s %t.exe | FileCheck %s
-# RUN: llvm-readobj -h %t.exe | FileCheck -check-prefix=ELF %s
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x20000; .text ALIGN(0x100) : { *(.text) } \
+# RUN: }" > %t.script
+# RUN: ld.lld %t.o -script %t.script -o %t.exe
+# RUN: llvm-objdump -t -d -s --no-show-raw-insn %t.exe | FileCheck %s
+# RUN: llvm-readelf -h %t.exe | FileCheck -check-prefix=ELF %s
.option pic2
.text
@@ -26,47 +29,31 @@ loc:
# CHECK: Disassembly of section .text:
# CHECK-EMPTY:
# CHECK-NEXT: __start:
-# CHECK-NEXT: 20000: 3c 1c 00 01 lui $gp, 1
-# ^-- 0x20000 - 0x37ff0
-# ^-- 0 - 0xfffe8010
-# ^-- %hi(0x17ff0)
+# CHECK-NEXT: 20100: lui $gp, 1
+# ^-- 0x20100 - 0x28100
+# ^-- 0 - 0xffff8000
+# ^-- %hi(0x8000)
# CHECK: loc:
-# CHECK-NEXT: 20004: 67 9c 7f f0 daddiu $gp, $gp, 32752
-# ^-- 0x20000 - 0x37ff0
-# ^-- 0 - 0xfffe8010
-# ^-- %lo(0x17ff0)
+# CHECK-NEXT: 20104: daddiu $gp, $gp, -32768
+# ^-- 0x20100 - 0x28100
+# ^-- 0 - 0xffff8000
+# ^-- %lo(0x8000)
# CHECK: Contents of section .rodata:
-# CHECK-NEXT: {{[0-9a-f]+}} fffe8014
+# CHECK-NEXT: {{[0-9a-f]+}} ffff8004
# ^-- loc - _gp
-# CHECK: 00020004 .text 00000000 loc
-# CHECK: 00037ff0 .got 00000000 .hidden _gp
-# CHECK: 00020000 g F .text 00000000 __start
-
-# ELF: Format: ELF32-mips
-# ELF-NEXT: Arch: mips
-# ELF-NEXT: AddressSize: 32bit
-# ELF-NEXT: LoadName:
-# ELF-NEXT: ElfHeader {
-# ELF-NEXT: Ident {
-# ELF-NEXT: Magic: (7F 45 4C 46)
-# ELF-NEXT: Class: 32-bit (0x1)
-# ELF-NEXT: DataEncoding: BigEndian (0x2)
-# ELF-NEXT: FileVersion: 1
-# ELF-NEXT: OS/ABI: SystemV (0x0)
-# ELF-NEXT: ABIVersion: 0
-# ELF-NEXT: Unused: (00 00 00 00 00 00 00)
-# ELF-NEXT: }
-# ELF-NEXT: Type: Executable (0x2)
-# ELF-NEXT: Machine: EM_MIPS (0x8)
-# ELF-NEXT: Version: 1
-# ELF-NEXT: Entry: 0x20000
-# ELF-NEXT: ProgramHeaderOffset:
-# ELF-NEXT: SectionHeaderOffset:
-# ELF-NEXT: Flags [
-# ELF-NEXT: EF_MIPS_ABI2
-# ELF-NEXT: EF_MIPS_ARCH_64
-# ELF-NEXT: EF_MIPS_CPIC
-# ELF-NEXT: EF_MIPS_PIC
-# ELF-NEXT: ]
+# CHECK: 00020104 .text 00000000 loc
+# CHECK: 00028100 .got 00000000 .hidden _gp
+# CHECK: 00020100 g F .text 00000000 __start
+
+# ELF: Class: ELF32
+# ELF: Data: 2's complement, big endian
+# ELF: Version: 1 (current)
+# ELF: OS/ABI: UNIX - System V
+# ELF: ABI Version: 0x0
+# ELF: Type: EXEC (Executable file)
+# ELF: Machine: MIPS R3000
+# ELF: Version: 0x1
+# ELF: Entry point address: 0x20100
+# ELF: Flags: 0x60000026, pic, cpic, abi2, mips64
Modified: lld/trunk/test/ELF/mips-nonalloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-nonalloc.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-nonalloc.s (original)
+++ lld/trunk/test/ELF/mips-nonalloc.s Mon Sep 9 15:04:20 2019
@@ -5,11 +5,13 @@
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# RUN: %S/Inputs/mips-nonalloc.s -o %t2.o
# RUN: ld.lld %t1.o %t2.o -o %t.exe
-# RUN: llvm-objdump -s %t.exe | FileCheck %s
+# RUN: llvm-objdump -t -s %t.exe | FileCheck %s
# CHECK: Contents of section .debug_info:
-# CHECK-NEXT: 0000 ffffffff 00020000 00020000
-# ^--------^-- __start
+# CHECK-NEXT: 0000 ffffffff [[SYM:[0-9a-f]+]] [[SYM]]
+# ^------------------^-- __start
+
+# CHECK: [[SYM]] .text 00000000 __start
.global __start
__start:
Modified: lld/trunk/test/ELF/mips-npic-call-pic-os.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-npic-call-pic-os.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-npic-call-pic-os.s (original)
+++ lld/trunk/test/ELF/mips-npic-call-pic-os.s Mon Sep 9 15:04:20 2019
@@ -11,129 +11,61 @@
# 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 --no-show-raw-insn %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-NEXT: __LA25Thunk_foo1a:
-# CHECK-NEXT: 20000: lui $25, 2
-# CHECK-NEXT: 20004: j 131104 <foo1a>
-# CHECK-NEXT: 20008: addiu $25, $25, 32
-# CHECK-NEXT: 2000c: nop
+# CHECK-NEXT: lui $25, 0x2
+# CHECK-NEXT: j {{.*}} <foo1a>
+# CHECK-NEXT: addiu $25, $25, {{.*}}
# CHECK: __LA25Thunk_foo1b:
-# CHECK-NEXT: 20010: lui $25, 2
-# CHECK-NEXT: 20014: j 131108 <foo1b>
-# CHECK-NEXT: 20018: addiu $25, $25, 36
-# CHECK-NEXT: 2001c: nop
+# CHECK-NEXT: lui $25, 0x2
+# CHECK-NEXT: j {{.*}} <foo1b>
+# CHECK-NEXT: addiu $25, $25, {{.*}}
# CHECK: foo1a:
-# CHECK-NEXT: 20020: nop
+# CHECK-NEXT: nop
# CHECK: foo1b:
-# CHECK-NEXT: 20024: nop
+# CHECK-NEXT: nop
# CHECK: __LA25Thunk_foo2:
-# CHECK-NEXT: 20028: lui $25, 2
-# CHECK-NEXT: 2002c: j 131136 <foo2>
-# CHECK-NEXT: 20030: addiu $25, $25, 64
-# CHECK-NEXT: 20034: nop
+# CHECK-NEXT: lui $25, 0x2
+# CHECK-NEXT: j {{.*}} <foo2>
+# CHECK-NEXT: addiu $25, $25, {{.*}}
# CHECK: foo2:
-# CHECK-NEXT: 20040: nop
+# CHECK-NEXT: nop
# CHECK: __LA25Thunk_fpic:
-# CHECK-NEXT: 20044: lui $25, 2
-# CHECK-NEXT: 20048: j 131168 <fpic>
-# CHECK-NEXT: 2004c: addiu $25, $25, 96
-# CHECK-NEXT: 20050: nop
+# CHECK-NEXT: lui $25, 0x2
+# CHECK-NEXT: j {{.*}} <fpic>
+# CHECK-NEXT: addiu $25, $25, {{.*}}
# CHECK: fpic:
-# CHECK-NEXT: 20060: nop
+# CHECK-NEXT: nop
# CHECK: fnpic:
-# CHECK-NEXT: 20070: nop
+# CHECK-NEXT: nop
# CHECK-EMPTY:
-# CHECK-NEXT: Disassembly of section differentos:
+# CHECK-NEXT: Disassembly of section .differentos:
# CHECK-EMPTY:
# CHECK-NEXT: __start:
-# 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 <fnpic>
-# 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 --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: lui $25, 2
-# REVERSE-NEXT: 20004: j 131104 <foo1a>
-# REVERSE-NEXT: 20008: addiu $25, $25, 32
-# REVERSE-NEXT: 2000c: nop
-
-# REVERSE: __LA25Thunk_foo1b:
-# REVERSE-NEXT: 20010: lui $25, 2
-# REVERSE-NEXT: 20014: j 131108 <foo1b>
-# REVERSE-NEXT: 20018: addiu $25, $25, 36
-# REVERSE-NEXT: 2001c: nop
-
-# REVERSE: foo1a:
-# REVERSE-NEXT: 20020: nop
-
-# REVERSE: foo1b:
-# REVERSE-NEXT: 20024: nop
-
-# REVERSE: __LA25Thunk_foo2:
-# REVERSE-NEXT: 20028: lui $25, 2
-# REVERSE-NEXT: 2002c: j 131136 <foo2>
-# REVERSE-NEXT: 20030: addiu $25, $25, 64
-# REVERSE-NEXT: 20034: nop
-
-# REVERSE: foo2:
-# REVERSE-NEXT: 20040: nop
-
-# REVERSE: __LA25Thunk_fpic:
-# REVERSE-NEXT: 20050: lui $25, 2
-# REVERSE-NEXT: 20054: j 131168 <fpic>
-# REVERSE-NEXT: 20058: addiu $25, $25, 96
-# REVERSE-NEXT: 2005c: nop
-
-# REVERSE: fpic:
-# REVERSE-NEXT: 20060: nop
-
-# REVERSE: fnpic:
-# REVERSE-NEXT: 20070: nop
-
-# REVERSE: Disassembly of section differentos:
-# REVERSE-EMPTY:
-# REVERSE-NEXT: __start:
-# 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 <fnpic>
-# REVERSE-NEXT: 200a0: nop
+# CHECK-NEXT: jal {{.*}} <__LA25Thunk_foo1a>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal {{.*}} <__LA25Thunk_foo2>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal {{.*}} <__LA25Thunk_foo1b>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal {{.*}} <__LA25Thunk_foo2>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal {{.*}} <__LA25Thunk_fpic>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal {{.*}} <fnpic>
- .section differentos, "ax", %progbits
+ .section .differentos, "ax", %progbits
.globl __start
__start:
jal foo1a
Modified: lld/trunk/test/ELF/mips-npic-call-pic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-npic-call-pic.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-npic-call-pic.s (original)
+++ lld/trunk/test/ELF/mips-npic-call-pic.s Mon Sep 9 15:04:20 2019
@@ -2,6 +2,10 @@
# Check LA25 stubs creation. This stub code is necessary when
# non-PIC code calls PIC function.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x20000; .text ALIGN(0x100) : { *(.text) *(.text.*) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux -mcpu=mips32r2 \
# RUN: %p/Inputs/mips-fpic.s -o %t-fpic.o
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux -mcpu=mips32r2 \
@@ -11,8 +15,10 @@
# RUN: %p/Inputs/mips-pic.s -o %t-pic-r2.o
# 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 --no-show-raw-insn %t-r2.exe | FileCheck --check-prefixes=CHECK,R2 %s
+# RUN: ld.lld %t-npic-r2.o %t-pic-r2.o %t-sto-pic-r2.o \
+# RUN: -script %t.script -o %t-r2.exe
+# RUN: llvm-objdump -d --no-show-raw-insn %t-r2.exe \
+# RUN: | 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
@@ -23,135 +29,69 @@
# RUN: %p/Inputs/mips-pic.s -o %t-pic-r6.o
# 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 --no-show-raw-insn %t-r6.exe | FileCheck --check-prefixes=CHECK,R6 %s
+# RUN: ld.lld %t-npic-r6.o %t-pic-r6.o %t-sto-pic-r6.o \
+# RUN: -script %t.script -o %t-r6.exe
+# RUN: llvm-objdump -d --no-show-raw-insn %t-r6.exe \
+# RUN: | FileCheck --check-prefixes=CHECK,R6 %s
# CHECK: Disassembly of section .text:
# CHECK-EMPTY:
# CHECK-NEXT: __start:
-# 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 <fnpic>
-# CHECK-NEXT: 2002c: nop
-#
+# CHECK-NEXT: 20100: jal 131412 <__LA25Thunk_foo1a>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal 131464 <__LA25Thunk_foo2>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal 131428 <__LA25Thunk_foo1b>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal 131464 <__LA25Thunk_foo2>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal 131376 <__LA25Thunk_fpic>
+# CHECK-NEXT: nop
+# CHECK-NEXT: jal 131408 <fnpic>
+# CHECK-NEXT: nop
+
+# CHECK: __LA25Thunk_fpic:
+# R2: 20130: lui $25, 2
+# R6: 20130: aui $25, $zero, 2
+# CHECK-NEXT: j 131392 <fpic>
+# CHECK-NEXT: addiu $25, $25, 320
+# CHECK-NEXT: nop
+
+# CHECK: fpic:
+# CHECK-NEXT: 20140: nop
+
+# CHECK: fnpic:
+# CHECK-NEXT: 20150: nop
+
# CHECK: __LA25Thunk_foo1a:
-# R2: 20030: lui $25, 2
-# R6: 20030: aui $25, $zero, 2
-# CHECK: 20034: j 131152 <foo1a>
-# CHECK-NEXT: 20038: addiu $25, $25, 80
-# CHECK-NEXT: 2003c: nop
+# R2: 20154: lui $25, 2
+# R6: 20154: aui $25, $zero, 2
+# CHECK: j 131456 <foo1a>
+# CHECK-NEXT: addiu $25, $25, 384
+# CHECK-NEXT: nop
# CHECK: __LA25Thunk_foo1b:
-# R2: 20040: lui $25, 2
-# R6: 20040: aui $25, $zero, 2
-# CHECK-NEXT: 20044: j 131156 <foo1b>
-# CHECK-NEXT: 20048: addiu $25, $25, 84
-# CHECK-NEXT: 2004c: nop
+# R2: 20164: lui $25, 2
+# R6: aui $25, $zero, 2
+# CHECK-NEXT: j 131460 <foo1b>
+# CHECK-NEXT: addiu $25, $25, 388
+# CHECK-NEXT: nop
# CHECK: foo1a:
-# CHECK-NEXT: 20050: nop
+# CHECK-NEXT: 20180: nop
# CHECK: foo1b:
-# CHECK-NEXT: 20054: nop
+# CHECK-NEXT: 20184: nop
# CHECK: __LA25Thunk_foo2:
-# R2: 20058: lui $25, 2
-# R6: 20058: aui $25, $zero, 2
-# CHECK-NEXT: 2005c: j 131184 <foo2>
-# CHECK-NEXT: 20060: addiu $25, $25, 112
-# CHECK-NEXT: 20064: nop
+# R2: 20188: lui $25, 2
+# R6: aui $25, $zero, 2
+# CHECK-NEXT: j 131488 <foo2>
+# CHECK-NEXT: addiu $25, $25, 416
+# CHECK-NEXT: nop
# CHECK: foo2:
-# CHECK-NEXT: 20070: nop
-
-# CHECK: __LA25Thunk_fpic:
-# R2: 20074: lui $25, 2
-# R6: 20074: aui $25, $zero, 2
-# CHECK-NEXT: 20078: j 131216 <fpic>
-# CHECK-NEXT: 2007c: addiu $25, $25, 144
-# CHECK-NEXT: 20080: nop
-
-# CHECK: fpic:
-# CHECK-NEXT: 20090: nop
-
-# CHECK: fnpic:
-# 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 --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 --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: lui $25, 2
-# REV-R6: 20000: aui $25, $zero, 2
-# REVERSE: 20004: j 131104 <foo1a>
-# REVERSE-NEXT: 20008: addiu $25, $25, 32
-# REVERSE-NEXT: 2000c: nop
-
-# REVERSE: __LA25Thunk_foo1b:
-# REV-R2: 20010: lui $25, 2
-# REV-R6: 20010: aui $25, $zero, 2
-# REVERSE: 20014: j 131108 <foo1b>
-# REVERSE-NEXT: 20018: addiu $25, $25, 36
-# REVERSE-NEXT: 2001c: nop
-
-# REVERSE: foo1a:
-# REVERSE-NEXT: 20020: nop
-
-# REVERSE: foo1b:
-# REVERSE-NEXT: 20024: nop
-
-# REVERSE: __LA25Thunk_foo2:
-# REV-R2: 20028: lui $25, 2
-# REV-R6: 20028: aui $25, $zero, 2
-# REVERSE: 2002c: j 131136 <foo2>
-# REVERSE-NEXT: 20030: addiu $25, $25, 64
-# REVERSE-NEXT: 20034: nop
-
-# REVERSE: foo2:
-# REVERSE-NEXT: 20040: nop
-
-# REVERSE: __start:
-# 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 <fnpic>
-# REVERSE-NEXT: 2007c: nop
-
-# REVERSE: __LA25Thunk_fpic:
-# REV-R2: 20080: lui $25, 2
-# REV-R6: 20080: aui $25, $zero, 2
-# REVERSE: 20084: j 131216 <fpic>
-# REVERSE-NEXT: 20088: addiu $25, $25, 144
-# REVERSE-NEXT: 2008c: nop
-
-# REVERSE: fpic:
-# REVERSE-NEXT: 20090: nop
-
-# REVERSE: fnpic:
-# REVERSE-NEXT: 200a0: nop
+# CHECK-NEXT: 201a0: nop
.text
.globl __start
Modified: lld/trunk/test/ELF/mips-pc-relocs.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-pc-relocs.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-pc-relocs.s (original)
+++ lld/trunk/test/ELF/mips-pc-relocs.s Mon Sep 9 15:04:20 2019
@@ -5,8 +5,13 @@
# 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 %t1.o %t2.o -o %t.exe
-# RUN: llvm-objdump -mcpu=mips32r6 -d -t -s --no-show-raw-insn %t.exe | FileCheck %s
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x10000; .text ALIGN(0x10000) : { *(.text) } \
+# RUN: . = 0x30000; .data : { *(.data) } \
+# RUN: }" > %t.script
+# RUN: ld.lld %t1.o %t2.o -script %t.script -o %t.exe
+# RUN: llvm-objdump -mcpu=mips32r6 -d -t -s --no-show-raw-insn %t.exe \
+# RUN: | FileCheck %s
.text
.globl __start
@@ -25,17 +30,17 @@ __start:
# CHECK-EMPTY:
# CHECK-NEXT: __start:
# CHECK-NEXT: 20000: lwpc $6, 32
-# ^-- (0x20020-0x20000)>>2
+# ^-- (0x20020-0x20000)>>2
# CHECK-NEXT: 20004: beqc $5, $6, 28
-# ^-- (0x20020-4-0x20004)>>2
+# ^-- (0x20020-4-0x20004)>>2
# CHECK-NEXT: 20008: beqzc $9, 24
-# ^-- (0x20020-4-0x20008)>>2
+# ^-- (0x20020-4-0x20008)>>2
# CHECK-NEXT: 2000c: bc 20
-# ^-- (0x20020-4-0x2000c)>>2
+# ^-- (0x20020-4-0x2000c)>>2
# CHECK-NEXT: 20010: aluipc $2, 0
-# ^-- %hi(0x20020-0x20010)
+# ^-- %hi(0x20020-0x20010)
# CHECK-NEXT: 20014: addiu $2, $2, 12
-# ^-- %lo(0x20020-0x20014)
+# ^-- %lo(0x20020-0x20014)
# CHECK: Contents of section .data:
# CHECK-NEXT: 30000 ffff0028 00000000 00000000 00000000
Modified: lld/trunk/test/ELF/mips-plt-n32.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-plt-n32.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-plt-n32.s (original)
+++ lld/trunk/test/ELF/mips-plt-n32.s Mon Sep 9 15:04:20 2019
@@ -2,16 +2,23 @@
# Check PLT entries generation in case of using N32 ABI.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x10000; .text ALIGN(0x10000) : { *(.text) } \
+# RUN: . = 0x30000; .data : { *(.data) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \
# 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 -soname=t.so -o %t.so
-# RUN: ld.lld %t1.o %t.so -o %t.exe
-# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=DEFAULT,CHECK
+# RUN: ld.lld %t1.o %t.so -script %t.script -o %t.exe
+# RUN: llvm-objdump -d --no-show-raw-insn %t.exe \
+# RUN: | 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 --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=HAZARDPLT,CHECK
+# RUN: ld.lld %t1.o %t.so -script %t.script -o %t.exe -z hazardplt
+# RUN: llvm-objdump -d --no-show-raw-insn %t.exe \
+# RUN: | FileCheck %s --check-prefixes=HAZARDPLT,CHECK
# CHECK: Disassembly of section .text:
# CHECK-EMPTY:
Modified: lld/trunk/test/ELF/mips-plt-n64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-plt-n64.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-plt-n64.s (original)
+++ lld/trunk/test/ELF/mips-plt-n64.s Mon Sep 9 15:04:20 2019
@@ -1,15 +1,22 @@
# REQUIRES: mips
# Check R_MIPS_26 relocation handling in case of N64 ABIs.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x10000; .text ALIGN(0x10000) : { *(.text) } \
+# RUN: . = 0x30000; .data : { *(.data) } \
+# RUN: }" > %t.script
+
# 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 -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 --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=CHECK,DEFAULT
+# RUN: ld.lld %t.o %t.so -script %t.script -o %t.exe
+# RUN: llvm-objdump -d --no-show-raw-insn %t.exe \
+# RUN: | 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 --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=CHECK,HAZARDPLT
+# RUN: ld.lld %t.o %t.so -script %t.script -o %t.exe -z hazardplt
+# RUN: llvm-objdump -d --no-show-raw-insn %t.exe \
+# RUN: | FileCheck %s --check-prefixes=CHECK,HAZARDPLT
# CHECK: Disassembly of section .text:
# CHECK-EMPTY:
Modified: lld/trunk/test/ELF/mips-plt-r6.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-plt-r6.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-plt-r6.s (original)
+++ lld/trunk/test/ELF/mips-plt-r6.s Mon Sep 9 15:04:20 2019
@@ -1,15 +1,20 @@
# REQUIRES: mips
# Check PLT entries generation in case of R6 ABI version.
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x10000; .text ALIGN(0x10000) : { *(.text) } \
+# RUN: . = 0x30000; .data : { *(.data) } \
+# RUN: }" > %t.script
+
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
# 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 -soname=t.so -o %t.so
-# RUN: ld.lld %t1.o %t.so -o %t.exe
+# RUN: ld.lld %t1.o %t.so -script %t.script -o %t.exe
# 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: ld.lld %t1.o %t.so -script %t.script -o %t.exe -z hazardplt
# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s --check-prefixes=HAZARDPLT,CHECK
# CHECK: Disassembly of section .text:
Modified: lld/trunk/test/ELF/mips-tls-64-pic-local-variable.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-64-pic-local-variable.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-64-pic-local-variable.s (original)
+++ lld/trunk/test/ELF/mips-tls-64-pic-local-variable.s Mon Sep 9 15:04:20 2019
@@ -1,11 +1,17 @@
# REQUIRES: mips
-# MIPS TLS variables that are marked as local by a version script were previously
-# writing values to the GOT that caused runtime crashes. This was happending when
-# linking jemalloc_tsd.c in FreeBSD libc. Check that we do the right thing now:
+
+# MIPS TLS variables that are marked as local by a version script were
+# previously writing values to the GOT that caused runtime crashes. This
+# was happending when linking jemalloc_tsd.c in FreeBSD libc. Check that
+# we do the right thing now:
# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-freebsd %s -o %t.o
# RUN: echo "{ global: foo; local: *; };" > %t.script
-# RUN: ld.lld --version-script %t.script -shared %t.o -o %t.so
+# RUN: echo "SECTIONS { \
+# RUN: . = 0x10000; .text : { *(.text) } \
+# RUN: . = 0x20000; .got : { *(.got) } \
+# RUN: }" > %t.script1
+# RUN: ld.lld --version-script %t.script -script %t.script1 -shared %t.o -o %t.so
# RUN: llvm-objdump --section=.got -s %t.so | FileCheck %s -check-prefix GOT
# RUN: llvm-readobj -r %t.so | FileCheck %s -check-prefix RELOCS
@@ -18,7 +24,9 @@
# RELOCS-NEXT: 0x20018 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE
# RELOCS-NEXT: }
-# Test case generated using clang -mcpu=mips4 -target mips64-unknown-freebsd12.0 -fpic -O -G0 -EB -mabi=n64 -msoft-float -std=gnu99 -S %s -o %t.s
+# Test case generated using:
+# clang -mcpu=mips4 -target mips64-unknown-freebsd12.0 \
+# -fpic -O -G0 -EB -mabi=n64 -msoft-float -std=gnu99 -S %s -o %t.s
# from the following source:
#
# _Thread_local int x;
@@ -45,5 +53,3 @@ foo:
x:
.4byte 0
.size x, 4
-
-
Modified: lld/trunk/test/ELF/mips-tls-64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-64.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-64.s (original)
+++ lld/trunk/test/ELF/mips-tls-64.s Mon Sep 9 15:04:20 2019
@@ -6,27 +6,32 @@
# 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: echo "SECTIONS { \
+# RUN: . = 0x10000; .text : { *(.text) } \
+# RUN: . = 0x30000; .got : { *(.got) } \
+# RUN: }" > %t.script
+
+# RUN: ld.lld %t.o %t.so -script %t.script -o %t.exe
# 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: ld.lld -shared %t.o %t.so -script %t.script -o %t-out.so
# 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: 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-NEXT: addiu $2, $3, -32720
+# DIS-NEXT: addiu $2, $3, -32736
+# DIS-NEXT: addiu $2, $3, -32704
+# DIS-NEXT: addiu $2, $3, -32688
+# DIS-NEXT: addiu $2, $3, -32728
# DIS: Contents of section .got:
-# DIS-NEXT: 40010 00000000 00000000 80000000 00000000
-# DIS-NEXT: 40020 00000000 00000000 ffffffff ffff9004
-# DIS-NEXT: 40030 00000000 00000000 00000000 00000000
-# DIS-NEXT: 40040 00000000 00000001 00000000 00000000
-# DIS-NEXT: 40050 00000000 00000001 ffffffff ffff8004
+# DIS-NEXT: 30000 00000000 00000000 80000000 00000000
+# DIS-NEXT: 30010 00000000 00000000 ffffffff ffff9004
+# DIS-NEXT: 30020 00000000 00000000 00000000 00000000
+# DIS-NEXT: 30030 00000000 00000001 00000000 00000000
+# DIS-NEXT: 30040 00000000 00000001 ffffffff ffff8004
# DIS: 0000000000000000 l O .tdata 00000000 loc
# DIS: 0000000000000004 g O .tdata 00000000 bar
@@ -34,13 +39,13 @@
# CHECK: Relocations [
# CHECK-NEXT: Section (7) .rel.dyn {
-# CHECK-NEXT: 0x40020 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
-# CHECK-NEXT: 0x40030 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
-# CHECK-NEXT: 0x40038 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# CHECK-NEXT: 0x30010 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# CHECK-NEXT: 0x30020 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
+# CHECK-NEXT: 0x30028 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT: Primary GOT {
-# CHECK-NEXT: Canonical gp value: 0x48000
+# CHECK-NEXT: Canonical gp value: 0x37FF0
# CHECK-NEXT: Reserved entries [
# CHECK: ]
# CHECK-NEXT: Local entries [
Modified: lld/trunk/test/ELF/mips-tls-hilo.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-hilo.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-hilo.s (original)
+++ lld/trunk/test/ELF/mips-tls-hilo.s Mon Sep 9 15:04:20 2019
@@ -11,14 +11,14 @@
# RUN: llvm-readobj -r --mips-plt-got %t.so | FileCheck -check-prefix=SO %s
# DIS: __start:
-# DIS-NEXT: 20000: addiu $2, $3, 0
-# %hi(loc0 - .tdata - 0x8000) --^
-# DIS-NEXT: 20004: addiu $2, $3, -32768
-# %lo(loc0 - .tdata - 0x8000) --^
-# DIS-NEXT: 20008: addiu $2, $3, 0
-# %hi(loc0 - .tdata - 0x7000) --^
-# DIS-NEXT: 2000c: addiu $2, $3, -28672
-# %lo(loc0 - .tdata - 0x7000) --^
+# DIS-NEXT: addiu $2, $3, 0
+# ^-- %hi(loc0 - .tdata - 0x8000)
+# DIS-NEXT: addiu $2, $3, -32768
+# ^-- %lo(loc0 - .tdata - 0x8000)
+# DIS-NEXT: addiu $2, $3, 0
+# ^-- %hi(loc0 - .tdata - 0x7000)
+# DIS-NEXT: addiu $2, $3, -28672
+# ^-- %lo(loc0 - .tdata - 0x7000)
# DIS: 00000000 l O .tdata 00000000 loc0
Modified: lld/trunk/test/ELF/mips-tls-static-64.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-static-64.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-static-64.s (original)
+++ lld/trunk/test/ELF/mips-tls-static-64.s Mon Sep 9 15:04:20 2019
@@ -7,11 +7,11 @@
# RUN: llvm-objdump -s -t %t.exe | FileCheck %s
# CHECK: Contents of section .data:
-# CHECK-NEXT: 40000 00020004 ffffffff ffff8004 ffffffff
-# CHECK-NEXT: 40010 ffff9004
+# CHECK-NEXT: {{.*}} [[TGA:[0-9a-f]+]] ffffffff ffff8004 ffffffff
+# CHECK-NEXT: {{.*}} ffff9004
#
# CHECK: SYMBOL TABLE:
-# CHECK: 0000000000020004 .text 00000000 __tls_get_addr
+# CHECK: [[TGA]] .text 00000000 __tls_get_addr
# CHECK: 0000000000000000 g O .tdata 00000000 tls1
.text
Modified: lld/trunk/test/ELF/mips-tls-static.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-static.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls-static.s (original)
+++ lld/trunk/test/ELF/mips-tls-static.s Mon Sep 9 15:04:20 2019
@@ -7,13 +7,13 @@
# RUN: llvm-objdump -s -t %t.exe | FileCheck %s
# CHECK: Contents of section .data:
-# CHECK-NEXT: 40000 0002000c ffff8004 ffff9004
+# CHECK-NEXT: {{.*}} [[TGA:[0-9a-f]+]] ffff8004 ffff9004
# CHECK: Contents of section .got:
-# CHECK-NEXT: 40010 00000000 80000000 ffff9000 00000001
-# CHECK-NEXT: 40020 ffff8000 00000001 00000000
+# CHECK-NEXT: {{.*}} 00000000 80000000 ffff9000 00000001
+# CHECK-NEXT: {{.*}} ffff8000 00000001 00000000
#
# CHECK: SYMBOL TABLE:
-# CHECK: 0002000c .text 00000000 __tls_get_addr
+# CHECK: [[TGA]] .text 00000000 __tls_get_addr
# CHECK: 00000000 g O .tdata 00000000 tls1
.text
Modified: lld/trunk/test/ELF/mips-tls.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-tls.s (original)
+++ lld/trunk/test/ELF/mips-tls.s Mon Sep 9 15:04:20 2019
@@ -6,25 +6,30 @@
# 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: echo "SECTIONS { \
+# RUN: . = 0x10000; .text : { *(.text) } \
+# RUN: . = 0x30000; .got : { *(.got) } \
+# RUN: }" > %t.script
+
+# RUN: ld.lld %t.o %t.so -script %t.script -o %t.exe
# 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: ld.lld -shared %t.o %t.so -script %t.script -o %t-out.so
# 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: 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-NEXT: addiu $2, $3, -32736
+# DIS-NEXT: addiu $2, $3, -32744
+# DIS-NEXT: addiu $2, $3, -32728
+# DIS-NEXT: addiu $2, $3, -32720
+# DIS-NEXT: addiu $2, $3, -32740
# DIS: Contents of section .got:
-# DIS-NEXT: 40010 00000000 80000000 00000000 ffff9004
-# DIS-NEXT: 40020 00000000 00000000 00000001 00000000
-# DIS-NEXT: 40030 00000001 ffff8004
+# DIS-NEXT: 30000 00000000 80000000 00000000 ffff9004
+# DIS-NEXT: 30010 00000000 00000000 00000001 00000000
+# DIS-NEXT: 30020 00000001 ffff8004
# DIS: 00000000 l O .tdata 00000000 loc
# DIS: 00000004 g O .tdata 00000000 bar
@@ -32,13 +37,13 @@
# CHECK: Relocations [
# CHECK-NEXT: Section (7) .rel.dyn {
-# CHECK-NEXT: 0x40018 R_MIPS_TLS_TPREL32 foo 0x0
-# CHECK-NEXT: 0x40020 R_MIPS_TLS_DTPMOD32 foo 0x0
-# CHECK-NEXT: 0x40024 R_MIPS_TLS_DTPREL32 foo 0x0
+# CHECK-NEXT: 0x30008 R_MIPS_TLS_TPREL32 foo 0x0
+# CHECK-NEXT: 0x30010 R_MIPS_TLS_DTPMOD32 foo 0x0
+# CHECK-NEXT: 0x30014 R_MIPS_TLS_DTPREL32 foo 0x0
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT: Primary GOT {
-# CHECK-NEXT: Canonical gp value: 0x48000
+# CHECK-NEXT: Canonical gp value: 0x37FF0
# CHECK-NEXT: Reserved entries [
# CHECK: ]
# CHECK-NEXT: Local entries [
Modified: lld/trunk/test/ELF/mips-xgot-order.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-xgot-order.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/mips-xgot-order.s (original)
+++ lld/trunk/test/ELF/mips-xgot-order.s Mon Sep 9 15:04:20 2019
@@ -4,33 +4,36 @@
# 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 --no-show-raw-insn %t.exe | FileCheck %s
+# RUN: llvm-objdump -d --no-show-raw-insn %t.exe | FileCheck %s
+# RUN: llvm-readelf -s -mips-plt-got %t.exe | FileCheck -check-prefix=GOT %s
# CHECK: Disassembly of section .text:
# CHECK-EMPTY:
# CHECK-NEXT: __start:
-# 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-NEXT: lui $2, 0
+# CHECK-NEXT: lw $2, -32732($2)
+# CHECK-NEXT: lui $2, 0
+# CHECK-NEXT: lw $2, -32728($2)
#
# CHECK: bar:
-# CHECK-NEXT: 20010: lw $2, -32736($2)
-# CHECK-NEXT: 20014: lw $2, -32744($2)
-# CHECK-NEXT: 20018: addi $2, $2, 0
+# CHECK-NEXT: lw $2, -32736($2)
+# CHECK-NEXT: lw $2, -32744($2)
+# CHECK-NEXT: addi $2, $2, {{.*}}
-# CHECK: Contents of section .got:
-# CHECK-NEXT: 30010 00000000 80000000 00030000 00040000
-# ^ %hi(loc)
-# ^ redundant entry
-# CHECK-NEXT: 30020 00020010 00020000 00030000
-# ^ %got(bar)
-# ^ %got_hi/lo(start)
-# ^ %got_hi/lo(loc)
+# GOT: Symbol table '.symtab'
+# GOT: Num: Value Size Type Bind Vis Ndx Name
+# GOT: [[LOC:[0-9a-f]+]] 0 NOTYPE LOCAL DEFAULT 4 loc
+# GOT: [[START:[0-9a-f]+]] 0 NOTYPE GLOBAL DEFAULT 3 __start
+# GOT: [[BAR:[0-9a-f]+]] 0 NOTYPE GLOBAL DEFAULT 3 bar
-# CHECK: 00030000 .data 00000000 loc
-# CHECK: 00020000 .text 00000000 __start
-# CHECK: 00020010 .text 00000000 bar
+# GOT: Static GOT:
+# GOT: Local entries:
+# GOT: Address Access Initial
+# GOT-NEXT: -32744(gp) 00030000
+# GOT-NEXT: -32740(gp) 00040000
+# GOT-NEXT: -32736(gp) [[BAR]]
+# GOT-NEXT: -32732(gp) [[START]]
+# GOT-NEXT: -32728(gp) [[LOC]]
.text
.global __start, bar
Modified: lld/trunk/test/ELF/rel-addend-with-rela-input.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/rel-addend-with-rela-input.s?rev=371458&r1=371457&r2=371458&view=diff
==============================================================================
--- lld/trunk/test/ELF/rel-addend-with-rela-input.s (original)
+++ lld/trunk/test/ELF/rel-addend-with-rela-input.s Mon Sep 9 15:04:20 2019
@@ -3,36 +3,42 @@
# uses Elf_Rela
# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t-rela.o
-# RUN: llvm-readobj -h -S --section-data -r %t-rela.o | FileCheck -check-prefix INPUT-RELA %s
+# RUN: llvm-readobj -h -S --section-data -r %t-rela.o \
+# RUN: | FileCheck -check-prefix INPUT-RELA %s
+
# INPUT-RELA: ElfHeader {
# INPUT-RELA: Class: 64-bit
# INPUT-RELA: DataEncoding: BigEndian
# INPUT-RELA: Section {
# INPUT-RELA: Name: .data
# INPUT-RELA: SectionData (
-# INPUT-RELA-NEXT: 0000: 00000000 00000000 ABCDEF00 12345678 |.............4Vx|
-# ^--- No addend here since it uses RELA
+# INPUT-RELA-NEXT: 0000: 00000000 00000000 ABCDEF00 12345678
+# ^--- No addend here since it uses RELA
# INPUT-RELA: Relocations [
# INPUT-RELA-NEXT: Section ({{.+}}) .rela.data {
# INPUT-RELA-NEXT: 0x0 R_MIPS_64/R_MIPS_NONE/R_MIPS_NONE foo 0x5544
# INPUT-RELA-NEXT: }
# INPUT-RELA-NEXT: ]
-# Previously the addend to the dynamic relocation in the .data section was not copied if
-# the input file used RELA and the output uses REL. Check that it works now:
+# Previously the addend to the dynamic relocation in the .data section
+# was not copied if the input file used RELA and the output uses REL.
+# Check that it works now:
# RUN: ld.lld -shared -o %t.so %t-rela.o -verbose
-# RUN: llvm-readobj -h -S --section-data -r %t.so | FileCheck -check-prefix RELA-TO-REL %s
+# RUN: llvm-readobj -h -S --section-data -r %t.so \
+# RUN: | FileCheck -check-prefix RELA-TO-REL %s
+
# RELA-TO-REL: ElfHeader {
# RELA-TO-REL: Class: 64-bit
# RELA-TO-REL: DataEncoding: BigEndian
# RELA-TO-REL: Section {
# RELA-TO-REL: Name: .data
+# RELA-TO-REL: Address: 0x[[DATA:[0-9A-F]+]]
# RELA-TO-REL: SectionData (
-# RELA-TO-REL-NEXT: 0000: 00000000 00005544 ABCDEF00 12345678 |......UD.....4Vx|
-# ^--- Addend for relocation in .rel.dyn
+# RELA-TO-REL-NEXT: 0000: 00000000 00005544 ABCDEF00 12345678
+# ^--- Addend for relocation in .rel.dyn
# RELA-TO-REL: Relocations [
# RELA-TO-REL-NEXT: Section ({{.+}}) .rel.dyn {
-# RELA-TO-REL-NEXT: 0x10000 R_MIPS_REL32/R_MIPS_64/R_MIPS_NONE foo 0x0
+# RELA-TO-REL-NEXT: 0x[[DATA]] R_MIPS_REL32/R_MIPS_64/R_MIPS_NONE foo 0x0
# RELA-TO-REL-NEXT: }
# RELA-TO-REL-NEXT: ]
More information about the llvm-commits
mailing list