[lld] r233691 - [Mips] Do not use MIPS assembler and disassembler in the tests
Simon Atanasyan
simon at atanasyan.com
Tue Mar 31 06:04:02 PDT 2015
Author: atanasyan
Date: Tue Mar 31 08:04:01 2015
New Revision: 233691
URL: http://llvm.org/viewvc/llvm-project?rev=233691&view=rev
Log:
[Mips] Do not use MIPS assembler and disassembler in the tests
No functional changes.
Modified:
lld/trunk/test/elf/Mips/hilo16-1.test
lld/trunk/test/elf/Mips/hilo16-2.test
lld/trunk/test/elf/Mips/hilo16-3.test
lld/trunk/test/elf/Mips/hilo16-8-micro.test
lld/trunk/test/elf/Mips/hilo16-9-micro.test
Modified: lld/trunk/test/elf/Mips/hilo16-1.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-1.test?rev=233691&r1=233690&r2=233691&view=diff
==============================================================================
--- lld/trunk/test/elf/Mips/hilo16-1.test (original)
+++ lld/trunk/test/elf/Mips/hilo16-1.test Tue Mar 31 08:04:01 2015
@@ -1,44 +1,77 @@
-# REQUIRES: mips
-
# Check handling multiple HI16 relocation followed by a single LO16 relocation.
-#
-# RUN: llvm-mc -triple=mipsel -filetype=obj -o=%t-obj %s
-# RUN: lld -flavor gnu -target mipsel -e glob1 -o %t-exe %t-obj
-# RUN: llvm-objdump -t -disassemble %t-exe | FileCheck %s
-
-# CHECK: Disassembly of section .text:
-# CHECK: glob1:
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 42 00 08 3c lui $8, 66
-# CHECK-NEXT: {{[0-9a-f]+}}: 3e 00 08 3c lui $8, 62
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 02 08 3c lui $8, 576
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 fe 08 3c lui $8, 65088
-# CHECK-NEXT: {{[0-9a-f]+}}: 55 01 08 85 lh $8, 341($8)
+
+# RUN: yaml2obj -format=elf %s > %t.o
+# RUN: lld -flavor gnu -target mipsel -e T0 -o %t.exe %t.o
+# RUN: llvm-objdump -s -t %t.exe | FileCheck %s
+
+# CHECK: Contents of section .text:
+# CHECK-NEXT: 400110 4000083c 4000083c 4000083c 4000083c
+# CHECK-NEXT: 400120 4200083c 3e00083c 4002083c 40fe083c
+# CHECK-NEXT: 400130 35010885 00000000
# CHECK: SYMBOL TABLE:
-# CHECK: {{[0-9a-f]+}} g F .text 00000024 glob1
-# CHECK: {{[0-9a-f]+}} g F .text 00000004 glob2
+# CHECK: 00400110 g F .text 00000024 T0
+# CHECK: 00400134 g F .text 00000004 T1
- .global glob1
- .ent glob1
-glob1:
- lui $t0,%hi(glob2+0x1)
- lui $t0,%hi(glob2+(-0x1))
- lui $t0,%hi(glob2+0x1ff)
- lui $t0,%hi(glob2+(-0x1ff))
- lui $t0,%hi(glob2+0x1ffff)
- lui $t0,%hi(glob2+(-0x1ffff))
- lui $t0,%hi(glob2+0x1ffffff)
- lui $t0,%hi(glob2+(-0x1ffffff))
-
- lh $t0,%lo(glob2+(-0x1ffffff))($t0)
- .end glob1
-
- .global glob2
- .ent glob2
-glob2:
- nop
- .end glob2
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_MIPS
+ Flags: [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2]
+
+Sections:
+- Name: .text
+ Type: SHT_PROGBITS
+ Content: "0000083c0000083c0000083c0000083c0200083cfeff083c0002083c00fe083c0100088500000000"
+# ^ %hi(T1+1) ^ %hi(T1+0x1ff) ^ %hi(T1+0x1ffff) ^ %hi(T1-0x1ffffff)
+# ^ %hi(T1-1) ^ %hi(T1-0x1ff) ^ %hi(T1-0x1ffff) ^ %lo(T1-0x1ffffff)
+# ^ %hi(T1+0x1ffffff)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text
+ Type: SHT_REL
+ Info: .text
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0x4
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0x8
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0xC
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0x10
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0x14
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0x18
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0x1C
+ Symbol: T1
+ Type: R_MIPS_HI16
+ - Offset: 0x20
+ Symbol: T1
+ Type: R_MIPS_LO16
+
+Symbols:
+ Global:
+ - Name: T0
+ Section: .text
+ Type: STT_FUNC
+ Value: 0
+ Size: 36
+ - Name: T1
+ Section: .text
+ Type: STT_FUNC
+ Value: 36
+ Size: 4
Modified: lld/trunk/test/elf/Mips/hilo16-2.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-2.test?rev=233691&r1=233690&r2=233691&view=diff
==============================================================================
--- lld/trunk/test/elf/Mips/hilo16-2.test (original)
+++ lld/trunk/test/elf/Mips/hilo16-2.test Tue Mar 31 08:04:01 2015
@@ -1,68 +1,131 @@
-# REQUIRES: mips
-
# Check handling of HI16 and LO16 relocations for regular symbol.
#
# R_MIPS_HI16: (AHL + S) - (short)(AHL + S)
# R_MIPS_LO16: AHL + S
# where AHL = (AHI << 16) + ALO
-#
-# RUN: llvm-mc -triple=mipsel -filetype=obj -o=%t-obj %s
-# RUN: lld -flavor gnu -target mipsel -e glob1 -o %t-exe %t-obj
-# RUN: llvm-objdump -t -disassemble %t-exe | FileCheck %s
-
-# CHECK: Disassembly of section .text:
-# CHECK: glob1:
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 71 01 08 85 lh $8, 369($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 6f 01 08 85 lh $8, 367($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 6f 03 08 85 lh $8, 879($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64
-# CHECK-NEXT: {{[0-9a-f]+}}: 71 ff 08 85 lh $8, -143($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 42 00 08 3c lui $8, 66
-# CHECK-NEXT: {{[0-9a-f]+}}: 6f 01 08 85 lh $8, 367($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 3e 00 08 3c lui $8, 62
-# CHECK-NEXT: {{[0-9a-f]+}}: 71 01 08 85 lh $8, 369($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 02 08 3c lui $8, 576
-# CHECK-NEXT: {{[0-9a-f]+}}: 6f 01 08 85 lh $8, 367($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 40 fe 08 3c lui $8, 65088
-# CHECK-NEXT: {{[0-9a-f]+}}: 71 01 08 85 lh $8, 369($8)
-# CHECK: SYMBOL TABLE:
-# CHECK: {{[0-9a-f]+}} g F .text 00000040 glob1
-# CHECK: {{[0-9a-f]+}} g F .text 00000004 glob2
+# RUN: yaml2obj -format=elf %s > %t.o
+# RUN: lld -flavor gnu -target mipsel -e T0 -o %t.exe %t.o
+# RUN: llvm-objdump -s -t %t.exe | FileCheck %s
+
+# CHECK: Contents of section .text:
+# CHECK-NEXT: 400110 4000083c 51010885 4000083c 4f010885
+# CHECK-NEXT: 400120 4000083c 4f030885 4000083c 51ff0885
+# CHECK-NEXT: 400130 4200083c 4f010885 3e00083c 51010885
+# CHECK-NEXT: 400140 4002083c 4f010885 40fe083c 51010885
+# CHECK-NEXT: 400150 00000000
- .global glob1
- .ent glob1
-glob1:
- lui $t0,%hi(glob2+0x1)
- lh $t0,%lo(glob2+0x1)($t0)
-
- lui $t0,%hi(glob2+(-0x1))
- lh $t0,%lo(glob2+(-0x1))($t0)
-
- lui $t0,%hi(glob2+0x1ff)
- lh $t0,%lo(glob2+0x1ff)($t0)
-
- lui $t0,%hi(glob2+(-0x1ff))
- lh $t0,%lo(glob2+(-0x1ff))($t0)
-
- lui $t0,%hi(glob2+0x1ffff)
- lh $t0,%lo(glob2+0x1ffff)($t0)
-
- lui $t0,%hi(glob2+(-0x1ffff))
- lh $t0,%lo(glob2+(-0x1ffff))($t0)
-
- lui $t0,%hi(glob2+0x1ffffff) # truncate
- lh $t0,%lo(glob2+0x1ffffff)($t0)
-
- lui $t0,%hi(glob2+(-0x1ffffff)) # truncate
- lh $t0,%lo(glob2+(-0x1ffffff))($t0)
- .end glob1
-
- .global glob2
- .ent glob2
-glob2:
- nop
- .end glob2
+# CHECK: SYMBOL TABLE:
+# CHECK: 00400110 g F .text 00000020 T0
+# CHECK: 00400130 g F .text 00000020 T1
+# CHECK: 00400150 g F .text 00000004 T2
+
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_MIPS
+ Flags: [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2]
+
+Sections:
+- Name: .text.1
+ Type: SHT_PROGBITS
+ Content: "0000083c010008850000083cffff08850000083cff0108850000083c01fe0885"
+# ^ %hi(T2+1) ^ %hi(T2-1) ^ %hi(T2+0x1ff) ^ %hi(T2-0x1ff)
+# ^ %lo(T2+1) ^ %lo(T2-1) ^ %lo(T2+0x1ff) ^ %lo(T2-0x1ff)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.1
+ Type: SHT_REL
+ Info: .text.1
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0x4
+ Symbol: T2
+ Type: R_MIPS_LO16
+ - Offset: 0x8
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0xC
+ Symbol: T2
+ Type: R_MIPS_LO16
+ - Offset: 0x10
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0x14
+ Symbol: T2
+ Type: R_MIPS_LO16
+ - Offset: 0x18
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0x1C
+ Symbol: T2
+ Type: R_MIPS_LO16
+
+- Name: .text.2
+ Type: SHT_PROGBITS
+ Content: "0200083cffff0885feff083c010008850002083cffff088500fe083c01000885"
+# ^ %hi(T2+0x1ffff) ^ %hi(T2+0x1ffffff)
+# ^ %lo(T2+0x1ffff) ^ %lo(T2+0x1ffffff)
+# ^ %hi(T2-0x1ffff) ^ %hi(T2-0x1ffffff)
+# ^ %lo(T2-0x1ffff) ^ %lo(T2-0x1ffffff)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.2
+ Type: SHT_REL
+ Info: .text.2
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0x4
+ Symbol: T2
+ Type: R_MIPS_LO16
+ - Offset: 0x8
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0xC
+ Symbol: T2
+ Type: R_MIPS_LO16
+ - Offset: 0x10
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0x14
+ Symbol: T2
+ Type: R_MIPS_LO16
+ - Offset: 0x18
+ Symbol: T2
+ Type: R_MIPS_HI16
+ - Offset: 0x1C
+ Symbol: T2
+ Type: R_MIPS_LO16
+
+- Name: .text.3
+ Type: SHT_PROGBITS
+ Content: "00000000"
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+Symbols:
+ Global:
+ - Name: T0
+ Section: .text.1
+ Type: STT_FUNC
+ Value: 0
+ Size: 64
+ - Name: T1
+ Section: .text.2
+ Type: STT_FUNC
+ Value: 0
+ Size: 64
+ - Name: T2
+ Section: .text.3
+ Type: STT_FUNC
+ Value: 0
+ Size: 4
Modified: lld/trunk/test/elf/Mips/hilo16-3.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-3.test?rev=233691&r1=233690&r2=233691&view=diff
==============================================================================
--- lld/trunk/test/elf/Mips/hilo16-3.test (original)
+++ lld/trunk/test/elf/Mips/hilo16-3.test Tue Mar 31 08:04:01 2015
@@ -1,45 +1,74 @@
-# REQUIRES: mips
-
# Check handling of HI16 and LO16 relocations for _gp_disp.
#
# R_MIPS_HI16: (AHL + GP - P) - (short)(AHL + GP - P)
# R_MIPS_LO16: AHL + GP - P + 4
# where AHL = (AHI << 16) + ALO
-#
-# RUN: llvm-mc -triple=mipsel -filetype=obj -o=%t-obj %s
-# RUN: lld -flavor gnu -target mipsel -shared -o %t-so %t-obj
-# RUN: llvm-objdump -t -disassemble %t-so | FileCheck %s
-
-# CHECK: Disassembly of section .text:
-# CHECK: glob1:
-# CHECK-NEXT: {{[0-9a-f]+}}: 01 00 08 3c lui $8, 1
-# CHECK-NEXT: {{[0-9a-f]+}}: 01 8f 08 85 lh $8, -28927($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 01 00 08 3c lui $8, 1
-# CHECK-NEXT: {{[0-9a-f]+}}: f7 8e 08 85 lh $8, -28937($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 01 00 08 3c lui $8, 1
-# CHECK-NEXT: {{[0-9a-f]+}}: ef 90 08 85 lh $8, -28433($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 01 00 08 3c lui $8, 1
-# CHECK-NEXT: {{[0-9a-f]+}}: e9 8c 08 85 lh $8, -29463($8)
-# CHECK-NEXT: {{[0-9a-f]+}}: 03 00 08 3c lui $8, 3
-# CHECK-NEXT: {{[0-9a-f]+}}: df 8e 08 85 lh $8, -28961($8)
-
-# CHECK: SYMBOL TABLE:
-# CHECK: {{[0-9a-f]+}} g F .text 00000028 glob1
-# CHECK: {{[0-9a-f]+}} g *ABS* 00000000 _gp_disp
- .global glob1
-glob1:
- lui $t0,%hi(_gp_disp+0x1)
- lh $t0,%lo(_gp_disp+0x1)($t0)
+# RUN: yaml2obj -format=elf %s > %t.o
+# RUN: lld -flavor gnu -target mipsel -shared -o %t.so %t.o
+# RUN: llvm-objdump -s -t %t.so | FileCheck %s
+
+# CHECK: Contents of section .text:
+# CHECK-NEXT: 00d0 0100083c 218f0885 0100083c 178f0885
+# CHECK-NEXT: 00e0 0100083c 0f910885 0100083c 098d0885
+# CHECK-NEXT: 00f0 0200083c ffff0885
- lui $t0,%hi(_gp_disp+(-0x1))
- lh $t0,%lo(_gp_disp+(-0x1))($t0)
-
- lui $t0,%hi(_gp_disp+0x1ff)
- lh $t0,%lo(_gp_disp+0x1ff)($t0)
-
- lui $t0,%hi(_gp_disp+(-0x1ff))
- lh $t0,%lo(_gp_disp+(-0x1ff))($t0)
+# CHECK: SYMBOL TABLE:
+# CHECK: 000000d0 g F .text 00000028 T0
+# CHECK: 00008ff0 g *ABS* 00000000 _gp_disp
- lui $t0,%hi(_gp_disp+0x1ffff)
- lh $t0,%lo(_gp_disp+0x1ffff)($t0)
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_MIPS
+ Flags: [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2]
+
+Sections:
+- Name: .text
+ Type: SHT_PROGBITS
+ Content: "0000083C010008850000083CFFFF08850000083CFF0108850000083C01FE08850200083CFFFF0885"
+# ^ %hi(gp+1) ^ %hi(gp-1) ^ %hi(gp+0x1ff) ^ %hi(gp-0x1ff) ^ %lo(gp+0x1ffff)
+# ^ %lo(gp+1) ^ %lo(gp-1) ^ %lo(gp+0x1ff) ^ %lo(gp-0x1ff)
+# ^ %hi(gp+0x1ffff)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text
+ Type: SHT_REL
+ Info: .text
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: _gp_disp
+ Type: R_MIPS_HI16
+ - Offset: 0x4
+ Symbol: _gp_disp
+ Type: R_MIPS_LO16
+ - Offset: 0x8
+ Symbol: _gp_disp
+ Type: R_MIPS_HI16
+ - Offset: 0xC
+ Symbol: _gp_disp
+ Type: R_MIPS_LO16
+ - Offset: 0x10
+ Symbol: _gp_disp
+ Type: R_MIPS_HI16
+ - Offset: 0x14
+ Symbol: _gp_disp
+ Type: R_MIPS_LO16
+ - Offset: 0x18
+ Symbol: _gp_disp
+ Type: R_MIPS_HI16
+ - Offset: 0x1C
+ Symbol: _gp_disp
+ Type: R_MIPS_LO16
+
+Symbols:
+ Global:
+ - Name: T0
+ Section: .text
+ Type: STT_FUNC
+ Value: 0
+ Size: 80
+ - Name: _gp_disp
Modified: lld/trunk/test/elf/Mips/hilo16-8-micro.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-8-micro.test?rev=233691&r1=233690&r2=233691&view=diff
==============================================================================
--- lld/trunk/test/elf/Mips/hilo16-8-micro.test (original)
+++ lld/trunk/test/elf/Mips/hilo16-8-micro.test Tue Mar 31 08:04:01 2015
@@ -1,81 +1,159 @@
-# REQUIRES: mips
-
# Check calculation of AHL addendums for R_MICROMIPS_HI16 / R_MICROMIPS_LO16
# relocations for a regular symbol.
-#
-# RUN: llvm-mc -triple=mipsel -mattr=micromips -filetype=obj -o=%t-obj %s
-# RUN: lld -flavor gnu -target mipsel -e glob1 -o %t-exe %t-obj
-# RUN: llvm-objdump -t -d -mattr=micromips %t-exe | FileCheck %s
-
-# CHECK: Disassembly of section .text:
-# CHECK-NEXT: glob1:
-# CHECK-NEXT: 400130: a8 41 40 00 lui $8, 64
-# CHECK-NEXT: 400134: 08 3d 6a 01 lh $8, 362($8)
-# CHECK-NEXT: 400138: a8 41 41 00 lui $8, 65
-# CHECK-NEXT: 40013c: 08 3d 68 81 lh $8, -32408($8)
-# CHECK-NEXT: 400140: a8 41 41 00 lui $8, 65
-# CHECK-NEXT: 400144: 08 3d e9 81 lh $8, -32279($8)
-# CHECK-NEXT: 400148: a8 41 42 00 lui $8, 66
-# CHECK-NEXT: 40014c: 08 3d 69 81 lh $8, -32407($8)
-# CHECK-NEXT: 400150: a8 41 40 40 lui $8, 16448
-# CHECK-NEXT: 400154: 08 3d 69 01 lh $8, 361($8)
-# CHECK-NEXT: 400158: a8 41 40 80 lui $8, 32832
-# CHECK-NEXT: 40015c: 08 3d 69 01 lh $8, 361($8)
-# CHECK-NEXT: 400160: a8 41 c1 80 lui $8, 32961
-# CHECK-NEXT: 400164: 08 3d e9 81 lh $8, -32279($8)
-
-# CHECK: glob2:
-# CHECK-NEXT: 400168: a8 41 40 00 lui $8, 64
-# CHECK-NEXT: 40016c: a8 41 40 00 lui $8, 64
-# CHECK-NEXT: 400170: a8 41 41 00 lui $8, 65
-# CHECK-NEXT: 400174: a8 41 42 00 lui $8, 66
-# CHECK-NEXT: 400178: a8 41 40 40 lui $8, 16448
-# CHECK-NEXT: 40017c: a8 41 40 80 lui $8, 32832
-# CHECK-NEXT: 400180: a8 41 c1 80 lui $8, 32961
-# CHECK-NEXT: 400184: 08 3d b1 81 lh $8, -32335($8)
-# CHECK: SYMBOL TABLE:
-# CHECK: 00400130 g F .text 00000038 glob1
-# CHECK: 00400168 g F .text 00000020 glob2
+# RUN: yaml2obj -format=elf %s > %t.o
+# RUN: lld -flavor gnu -target mipsel -e T0 -o %t.exe %t.o
+# RUN: llvm-objdump -s -t %t.exe | FileCheck %s
+
+# CHECK: Contents of section .text:
+# CHECK-NEXT: 400110 a8414000 083d5201 a8414100 083d5081
+# CHECK-NEXT: 400120 a8414100 083dd181 a8414200 083d5181
+# CHECK-NEXT: 400130 a8414040 083d5101 a8414080 083d5101
+# CHECK-NEXT: 400140 a841c180 083dd181 00000000 00000000
+# CHECK-NEXT: 400150 a8414000 a8414000 a8414100 a8414200
+# CHECK-NEXT: 400160 a8414040 a8414080 a841c180 083d9181
- .globl glob1
- .type glob1, @function
- .set micromips
- .ent glob1
-glob1:
- lui $t0,%hi(glob2+0x00000001)
- lh $t0,%lo(glob2+0x00000001)($t0)
-
- lui $t0,%hi(glob2+0x00007fff)
- lh $t0,%lo(glob2+0x00007fff)($t0)
-
- lui $t0,%hi(glob2+0x00008080)
- lh $t0,%lo(glob2+0x00008080)($t0)
-
- lui $t0,%hi(glob2+0x00018000)
- lh $t0,%lo(glob2+0x00018000)($t0)
-
- lui $t0,%hi(glob2+0x40000000)
- lh $t0,%lo(glob2+0x40000000)($t0)
-
- lui $t0,%hi(glob2+0x80000000)
- lh $t0,%lo(glob2+0x80000000)($t0)
-
- lui $t0,%hi(glob2+0x80808080)
- lh $t0,%lo(glob2+0x80808080)($t0)
- .end glob1
-
- .globl glob2
- .type glob2, @function
- .set micromips
- .ent glob2
-glob2:
- lui $t0,%hi(glob1+0x00000001)
- lui $t0,%hi(glob1+0x00007fff)
- lui $t0,%hi(glob1+0x00008080)
- lui $t0,%hi(glob1+0x00018000)
- lui $t0,%hi(glob1+0x40000000)
- lui $t0,%hi(glob1+0x80000000)
- lui $t0,%hi(glob1+0x80808080)
- lh $t0,%lo(glob1+0x80808080)($t0)
- .end glob2
+# CHECK: SYMBOL TABLE:
+# CHECK: 00400110 g F .text 00000020 T0
+# CHECK: 00400130 g F .text 00000018 T1
+# CHECK: 00400150 g F .text 00000020 T2
+
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_MIPS
+ Flags: [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2, EF_MIPS_MICROMIPS]
+
+Sections:
+- Name: .text.1
+ Type: SHT_PROGBITS
+ Content: "A8410000083D0100A8410000083DFF7FA8410100083D8080A8410200083D0080"
+# ^ %hi(T2+1) ^ %hi(T2+0x7fff) ^ %lo(T2+0x8080)
+# ^ %lo(T2+1) ^ %lo(T2+0x7fff) ^ %hi(T2+0x18000)
+# ^ %hi(T2+0x8080) ^ %lo(T2+0x18000)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.1
+ Type: SHT_REL
+ Info: .text.1
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: T2
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x4
+ Symbol: T2
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x8
+ Symbol: T2
+ Type: R_MICROMIPS_HI16
+ - Offset: 0xC
+ Symbol: T2
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x10
+ Symbol: T2
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x14
+ Symbol: T2
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x18
+ Symbol: T2
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x1C
+ Symbol: T2
+ Type: R_MICROMIPS_LO16
+
+- Name: .text.2
+ Type: SHT_PROGBITS
+ Content: "A8410040083D0000A8410080083D0000A8418180083D8080"
+# ^ %hi(T2+0x40000000) ^ %lo(T2+0x80000000)
+# ^ %lo(T2+0x40000000) ^ %hi(T2+0x80808080)
+# ^ %hi(T2+0x80000000) ^ %lo(T2+0x80808080)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.2
+ Type: SHT_REL
+ Info: .text.2
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: T2
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x4
+ Symbol: T2
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x8
+ Symbol: T2
+ Type: R_MICROMIPS_HI16
+ - Offset: 0xC
+ Symbol: T2
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x10
+ Symbol: T2
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x14
+ Symbol: T2
+ Type: R_MICROMIPS_LO16
+
+- Name: .text.3
+ Type: SHT_PROGBITS
+ Content: "A8410000A8410000A8410100A8410200A8410040A8410080A8418180083D8080"
+# ^ %hi(T0+0x1) ^ %hi(T0+0x8080) ^ %hi(T0+0x80000000)
+# ^ %hi(T0+0x7fff) ^ %hi(T0+0x40000000) ^ %lo(T0+0x80808080)
+# ^ %hi(T0+0x18000) ^ %hi(T0+0x80808080)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.3
+ Type: SHT_REL
+ Info: .text.3
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: T0
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x4
+ Symbol: T0
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x8
+ Symbol: T0
+ Type: R_MICROMIPS_HI16
+ - Offset: 0xC
+ Symbol: T0
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x10
+ Symbol: T0
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x14
+ Symbol: T0
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x18
+ Symbol: T0
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x1C
+ Symbol: T0
+ Type: R_MICROMIPS_LO16
+
+Symbols:
+ Global:
+ - Name: T0
+ Section: .text.1
+ Type: STT_FUNC
+ Value: 0
+ Size: 32
+ Other: [STO_MIPS_MICROMIPS]
+ - Name: T1
+ Section: .text.2
+ Type: STT_FUNC
+ Value: 0
+ Size: 24
+ Other: [STO_MIPS_MICROMIPS]
+ - Name: T2
+ Section: .text.3
+ Type: STT_FUNC
+ Value: 0
+ Size: 32
+ Other: [STO_MIPS_MICROMIPS]
Modified: lld/trunk/test/elf/Mips/hilo16-9-micro.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/hilo16-9-micro.test?rev=233691&r1=233690&r2=233691&view=diff
==============================================================================
--- lld/trunk/test/elf/Mips/hilo16-9-micro.test (original)
+++ lld/trunk/test/elf/Mips/hilo16-9-micro.test Tue Mar 31 08:04:01 2015
@@ -1,68 +1,142 @@
-# REQUIRES: mips
-
# Check calculation of AHL addendums for R_MICROMIPS_HI16 / R_MICROMIPS_LO16
# relocations for the _gp_disp symbol.
#
-# RUN: llvm-mc -triple=mipsel -mattr=micromips -filetype=obj -o=%t-obj %s
-# RUN: lld -flavor gnu -target mipsel -shared -o %t-so %t-obj
-# RUN: llvm-objdump -t -d -mattr=micromips %t-so | FileCheck %s
-
-# CHECK: Disassembly of section .text:
-# CHECK-NEXT: glob1:
-# CHECK-NEXT: 130: a8 41 01 00 lui $8, 1
-# CHECK-NEXT: 134: 08 3d c0 9e lh $8, -24896($8)
-# CHECK-NEXT: 138: a8 41 01 00 lui $8, 1
-# CHECK-NEXT: 13c: 08 3d b6 1e lh $8, 7862($8)
-# CHECK-NEXT: 140: a8 41 01 00 lui $8, 1
-# CHECK-NEXT: 144: 08 3d 2f 1f lh $8, 7983($8)
-# CHECK-NEXT: 148: a8 41 02 00 lui $8, 2
-# CHECK-NEXT: 14c: 08 3d a7 1e lh $8, 7847($8)
-# CHECK-NEXT: 150: a8 41 01 40 lui $8, 16385
-# CHECK-NEXT: 154: 08 3d 9f 9e lh $8, -24929($8)
-
-# CHECK: glob2:
-# CHECK-NEXT: 158: a8 41 01 00 lui $8, 1
-# CHECK-NEXT: 15c: a8 41 01 00 lui $8, 1
-# CHECK-NEXT: 160: a8 41 02 00 lui $8, 2
-# CHECK-NEXT: 164: a8 41 03 00 lui $8, 3
-# CHECK-NEXT: 168: a8 41 01 40 lui $8, 16385
-# CHECK-NEXT: 16c: 08 3d 87 9e lh $8, -24953($8)
+# RUN: yaml2obj -format=elf %s > %t.o
+# RUN: lld -flavor gnu -target mipsel -shared -o %t.so %t.o
+# RUN: llvm-objdump -s -t %t.so | FileCheck %s
+
+# CHECK: Contents of section .text:
+# CHECK-NEXT: 0110 a8410100 083de08e a8410100 083dd60e
+# CHECK-NEXT: 0120 a8410200 a841cf8e 00000000 00000000
+# CHECK-NEXT: 0130 083d0200 a841bf8e 083d0080 a841b88e
+# CHECK-NEXT: 0140 a8410100 a8410100 a8410200 a8410300
+# CHECK-NEXT: 0150 a8410140 083d9f8e
# CHECK: SYMBOL TABLE:
-# CHECK: 00000130 g F .text 00000028 glob1
-# CHECK: 00000158 g F .text 00000018 glob2
-# CHECK: 00009ff0 g *ABS* 00000000 _gp_disp
-
- .globl glob1
- .type glob1, @function
- .set micromips
- .ent glob1
-glob1:
- lui $t0,%hi(_gp_disp+0x00000001)
- lh $t0,%lo(_gp_disp+0x00000001)($t0)
-
- lui $t0,%hi(_gp_disp+0x00007fff)
- lh $t0,%lo(_gp_disp+0x00007fff)($t0)
-
- lui $t0,%hi(_gp_disp+0x00008080)
- lh $t0,%lo(_gp_disp+0x00008080)($t0)
-
- lui $t0,%hi(_gp_disp+0x00018000)
- lh $t0,%lo(_gp_disp+0x00018000)($t0)
-
- lui $t0,%hi(_gp_disp+0x40000000)
- lh $t0,%lo(_gp_disp+0x40000000)($t0)
- .end glob1
-
- .globl glob2
- .type glob2, @function
- .set micromips
- .ent glob2
-glob2:
- lui $t0,%hi(_gp_disp+0x00000001)
- lui $t0,%hi(_gp_disp+0x00007fff)
- lui $t0,%hi(_gp_disp+0x00008080)
- lui $t0,%hi(_gp_disp+0x00018000)
- lui $t0,%hi(_gp_disp+0x40000000)
- lh $t0,%lo(_gp_disp+0x40000000)($t0)
- .end glob2
+# CHECK: 00000110 g F .text 00000018 T0
+# CHECK: 00000130 g F .text 00000010 T1
+# CHECK: 00000140 g F .text 00000018 T2
+# CHECK: 00008ff0 g *ABS* 00000000 _gp_disp
+
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_MIPS
+ Flags: [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2, EF_MIPS_MICROMIPS]
+
+Sections:
+- Name: .text.1
+ Type: SHT_PROGBITS
+ Content: "A8410000083D0100A8410000083DFF7FA8410100A8410000"
+# ^ %hi(gp+0x1) ^ %hi(gp+0x7fff) ^ %lo(gp+0x8080)
+# ^ %lo(gp+0x1) ^ %lo(gp+0x7fff)
+# ^ %hi(gp+0x8080)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.1
+ Type: SHT_REL
+ Info: .text.1
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x4
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x8
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0xC
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x10
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x14
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_LO16
+
+- Name: .text.2
+ Type: SHT_PROGBITS
+ Content: "083D0100A8410000083DFF7FA8410100"
+# ^ %hi(gp+0x18000) ^ %lo(gp+0x40000000)
+# ^ %lo(gp+0x18000)
+# ^ %hi(gp+0x40000000)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.2
+ Type: SHT_REL
+ Info: .text.2
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x4
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_LO16
+ - Offset: 0x8
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0xC
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_LO16
+
+- Name: .text.3
+ Type: SHT_PROGBITS
+ Content: "A8410000A8410000A8410100A8410200A8410040083D0000"
+# ^ %hi(gp+0x1) ^ %hi(gp+0x8080) ^ %lo(gp+0x40000000)
+# ^ %hi(gp+0x7fff) ^ %hi(gp+0x40000000)
+# ^ %hi(gp+0x18000)
+ AddressAlign: 16
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+
+- Name: .rel.text.3
+ Type: SHT_REL
+ Info: .text.3
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x0
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x4
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x8
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0xC
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x10
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_HI16
+ - Offset: 0x14
+ Symbol: _gp_disp
+ Type: R_MICROMIPS_LO16
+
+Symbols:
+ Global:
+ - Name: T0
+ Section: .text.1
+ Type: STT_FUNC
+ Value: 0
+ Size: 24
+ Other: [STO_MIPS_MICROMIPS]
+ - Name: T1
+ Section: .text.2
+ Type: STT_FUNC
+ Value: 0
+ Size: 16
+ Other: [STO_MIPS_MICROMIPS]
+ - Name: T2
+ Section: .text.3
+ Type: STT_FUNC
+ Value: 0
+ Size: 24
+ Other: [STO_MIPS_MICROMIPS]
+ - Name: _gp_disp
More information about the llvm-commits
mailing list