Skip to content

Commit 814b705

Browse files
committedAug 19, 2015
[Mips] Use 'or' for move instead of [d]addu in PLT entries
Patch by Simon Dardis. Differential Revision: http://reviews.llvm.org/D12103 llvm-svn: 245491
1 parent 989cbbd commit 814b705

12 files changed

+18
-18
lines changed
 

‎lld/lib/ReaderWriter/ELF/Mips/MipsRelocationPass.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ static const uint8_t mipsBePlt0AtomContent[] = {
4343
0x8f, 0x99, 0x00, 0x00, // lw $25, %lo(&GOTPLT[0])($28)
4444
0x27, 0x9c, 0x00, 0x00, // addiu $28, $28, %lo(&GOTPLT[0])
4545
0x03, 0x1c, 0xc0, 0x23, // subu $24, $24, $28
46-
0x03, 0xe0, 0x78, 0x21, // move $15, $31
46+
0x03, 0xe0, 0x78, 0x25, // move $15, $31
4747
0x00, 0x18, 0xc0, 0x82, // srl $24, $24, 2
4848
0x03, 0x20, 0xf8, 0x09, // jalr $25
4949
0x27, 0x18, 0xff, 0xfe // subu $24, $24, 2
@@ -55,7 +55,7 @@ static const uint8_t mipsLePlt0AtomContent[] = {
5555
0x00, 0x00, 0x99, 0x8f, // lw $25, %lo(&GOTPLT[0])($28)
5656
0x00, 0x00, 0x9c, 0x27, // addiu $28, $28, %lo(&GOTPLT[0])
5757
0x23, 0xc0, 0x1c, 0x03, // subu $24, $24, $28
58-
0x21, 0x78, 0xe0, 0x03, // move $15, $31
58+
0x25, 0x78, 0xe0, 0x03, // move $15, $31
5959
0x82, 0xc0, 0x18, 0x00, // srl $24, $24, 2
6060
0x09, 0xf8, 0x20, 0x03, // jalr $25
6161
0xfe, 0xff, 0x18, 0x27 // subu $24, $24, 2

‎lld/test/elf/Mips/la25-stub-npic-shared.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
# CHECK: Contents of section .plt:
1313
# CHECK-NEXT: 400190 40001c3c 0020998f 00209c27 23c01c03
14-
# CHECK-NEXT: 4001a0 2178e003 82c01800 09f82003 feff1827
14+
# CHECK-NEXT: 4001a0 2578e003 82c01800 09f82003 feff1827
1515
# CHECK-NEXT: 4001b0 40000f3c 0820f98d 08002003 0820f825
1616
# ^ PLT.T1
1717
# CHECK-NEXT: 4001c0 00799307 22ff0000 9945020f

‎lld/test/elf/Mips/plt-entry-mixed-1.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
# CHECK-NEXT: 400174: 00 20 99 8f lw $25, 8192($gp)
2222
# CHECK-NEXT: 400178: 00 20 9c 27 addiu $gp, $gp, 8192
2323
# CHECK-NEXT: 40017c: 23 c0 1c 03 subu $24, $24, $gp
24-
# CHECK-NEXT: 400180: 21 78 e0 03 move $15, $ra
24+
# CHECK-NEXT: 400180: 25 78 e0 03 move $15, $ra
2525
# CHECK-NEXT: 400184: 82 c0 18 00 srl $24, $24, 2
2626
# CHECK-NEXT: 400188: 09 f8 20 03 jalr $25
2727
# CHECK-NEXT: 40018c: fe ff 18 27 addiu $24, $24, -2

‎lld/test/elf/Mips/plt-entry-mixed-2.test

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
# to support microMIPS instruction encoding.
1919

2020
# CHECK: Contents of section .plt:
21-
# CHECK-NEXT: 400170 40001c3c 0020998f 00209c27 23c01c03 @..<. ... .'#...
22-
# CHECK-NEXT: 400180 2178e003 82c01800 09f82003 feff1827 !x........ ....'
23-
# CHECK-NEXT: 400190 40000f3c 0820f98d 08002003 0820f825 @..<. .... .. .%
24-
# CHECK-NEXT: 4001a0 00799a07 22ff0000 9945020f .y.."....E..
21+
# CHECK-NEXT: 400170 40001c3c 0020998f 00209c27 23c01c03
22+
# CHECK-NEXT: 400180 2578e003 82c01800 09f82003 feff1827
23+
# CHECK-NEXT: 400190 40000f3c 0820f98d 08002003 0820f825
24+
# CHECK-NEXT: 4001a0 00799a07 22ff0000 9945020f
2525

2626
# so.o
2727
---

‎lld/test/elf/Mips/plt-entry-mixed-4.test

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
# to support microMIPS instruction encoding.
1919

2020
# CHECK: Contents of section .plt:
21-
# CHECK-NEXT: 400170 40001c3c 0020998f 00209c27 23c01c03 @..<. ... .'#...
22-
# CHECK-NEXT: 400180 2178e003 82c01800 09f82003 feff1827 !x........ ....'
23-
# CHECK-NEXT: 400190 40000f3c 0820f98d 08002003 0820f825 @..<. .... .. .%
21+
# CHECK-NEXT: 400170 40001c3c 0020998f 00209c27 23c01c03
22+
# CHECK-NEXT: 400180 2578e003 82c01800 09f82003 feff1827
23+
# CHECK-NEXT: 400190 40000f3c 0820f98d 08002003 0820f825
2424

2525
# so.o
2626
---

‎lld/test/elf/Mips/plt-entry-r6-be.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# CHECK-NEXT: 400164: 8f 99 20 00 lw $25, 8192($gp)
1818
# CHECK-NEXT: 400168: 27 9c 20 00 addiu $gp, $gp, 8192
1919
# CHECK-NEXT: 40016c: 03 1c c0 23 subu $24, $24, $gp
20-
# CHECK-NEXT: 400170: 03 e0 78 21 move $15, $ra
20+
# CHECK-NEXT: 400170: 03 e0 78 25 move $15, $ra
2121
# CHECK-NEXT: 400174: 00 18 c0 82 srl $24, $24, 2
2222
# CHECK-NEXT: 400178: 03 20 f8 09 jalr $25
2323
# CHECK-NEXT: 40017c: 27 18 ff fe addiu $24, $24, -2

‎lld/test/elf/Mips/plt-entry-r6.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# CHECK-NEXT: 400164: 00 20 99 8f lw $25, 8192($gp)
1818
# CHECK-NEXT: 400168: 00 20 9c 27 addiu $gp, $gp, 8192
1919
# CHECK-NEXT: 40016c: 23 c0 1c 03 subu $24, $24, $gp
20-
# CHECK-NEXT: 400170: 21 78 e0 03 move $15, $ra
20+
# CHECK-NEXT: 400170: 25 78 e0 03 move $15, $ra
2121
# CHECK-NEXT: 400174: 82 c0 18 00 srl $24, $24, 2
2222
# CHECK-NEXT: 400178: 09 f8 20 03 jalr $25
2323
# CHECK-NEXT: 40017c: fe ff 18 27 addiu $24, $24, -2

‎lld/test/elf/Mips/plt-header-be.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# CHECK-NEXT: 400164: 8f 99 20 00 lw $25, 8192($gp)
1818
# CHECK-NEXT: 400168: 27 9c 20 00 addiu $gp, $gp, 8192
1919
# CHECK-NEXT: 40016c: 03 1c c0 23 subu $24, $24, $gp
20-
# CHECK-NEXT: 400170: 03 e0 78 21 move $15, $ra
20+
# CHECK-NEXT: 400170: 03 e0 78 25 move $15, $ra
2121
# CHECK-NEXT: 400174: 00 18 c0 82 srl $24, $24, 2
2222
# CHECK-NEXT: 400178: 03 20 f8 09 jalr $25
2323
# CHECK-NEXT: 40017c: 27 18 ff fe addiu $24, $24, -2

‎lld/test/elf/Mips/plt-header-mixed.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# DIS-NEXT: 400174: 00 20 99 8f lw $25, 8192($gp)
2121
# DIS-NEXT: 400178: 00 20 9c 27 addiu $gp, $gp, 8192
2222
# DIS-NEXT: 40017c: 23 c0 1c 03 subu $24, $24, $gp
23-
# DIS-NEXT: 400180: 21 78 e0 03 move $15, $ra
23+
# DIS-NEXT: 400180: 25 78 e0 03 move $15, $ra
2424
# DIS-NEXT: 400184: 82 c0 18 00 srl $24, $24, 2
2525
# DIS-NEXT: 400188: 09 f8 20 03 jalr $25
2626
# DIS-NEXT: 40018c: fe ff 18 27 addiu $24, $24, -2

‎lld/test/elf/Mips/plt-header.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# EXE-NEXT: 400164: 00 20 99 8f lw $25, 8192($gp)
2020
# EXE-NEXT: 400168: 00 20 9c 27 addiu $gp, $gp, 8192
2121
# EXE-NEXT: 40016c: 23 c0 1c 03 subu $24, $24, $gp
22-
# EXE-NEXT: 400170: 21 78 e0 03 move $15, $ra
22+
# EXE-NEXT: 400170: 25 78 e0 03 move $15, $ra
2323
# EXE-NEXT: 400174: 82 c0 18 00 srl $24, $24, 2
2424
# EXE-NEXT: 400178: 09 f8 20 03 jalr $25
2525
# EXE-NEXT: 40017c: fe ff 18 27 addiu $24, $24, -2

‎lld/test/elf/Mips/rel-dynamic-01.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
# PLT-NEXT: 4001f4: 00 20 99 8f lw $25, 8192($gp)
2424
# PLT-NEXT: 4001f8: 00 20 9c 27 addiu $gp, $gp, 8192
2525
# PLT-NEXT: 4001fc: 23 c0 1c 03 subu $24, $24, $gp
26-
# PLT-NEXT: 400200: 21 78 e0 03 move $15, $ra
26+
# PLT-NEXT: 400200: 25 78 e0 03 move $15, $ra
2727
# PLT-NEXT: 400204: 82 c0 18 00 srl $24, $24, 2
2828
# PLT-NEXT: 400208: 09 f8 20 03 jalr $25
2929
# PLT-NEXT: 40020c: fe ff 18 27 addiu $24, $24, -2

‎lld/test/elf/Mips/rel-dynamic-03.test

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# PLT-NEXT: 400164: 00 20 99 8f lw $25, 8192($gp)
2525
# PLT-NEXT: 400168: 00 20 9c 27 addiu $gp, $gp, 8192
2626
# PLT-NEXT: 40016c: 23 c0 1c 03 subu $24, $24, $gp
27-
# PLT-NEXT: 400170: 21 78 e0 03 move $15, $ra
27+
# PLT-NEXT: 400170: 25 78 e0 03 move $15, $ra
2828
# PLT-NEXT: 400174: 82 c0 18 00 srl $24, $24, 2
2929
# PLT-NEXT: 400178: 09 f8 20 03 jalr $25
3030
# PLT-NEXT: 40017c: fe ff 18 27 addiu $24, $24, -2

0 commit comments

Comments
 (0)
Please sign in to comment.