Skip to content

Commit 921d43f

Browse files
committed
Add trap instructions for ARM and MIPS.
This patch fills holes in executable sections with 0xd4 (ARM) or 0xef (MIPS). These trap instructions were suggested by Theo de Raadt. llvm-svn: 306322
1 parent a21c8e1 commit 921d43f

11 files changed

+131
-133
lines changed

lld/ELF/Arch/ARM.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ ARM::ARM() {
5757
GotPltEntrySize = 4;
5858
PltEntrySize = 16;
5959
PltHeaderSize = 20;
60+
TrapInstr = 0xd4d4d4d4;
6061
// ARM uses Variant 1 TLS
6162
TcbSize = 8;
6263
NeedsThunks = true;

lld/ELF/Arch/Mips.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ template <class ELFT> MIPS<ELFT>::MIPS() {
5454
CopyRel = R_MIPS_COPY;
5555
PltRel = R_MIPS_JUMP_SLOT;
5656
NeedsThunks = true;
57+
TrapInstr = 0xefefefef;
5758

5859
if (ELFT::Is64Bits) {
5960
RelativeRel = (R_MIPS_64 << 8) | R_MIPS_REL32;

lld/ELF/Arch/X86.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,7 @@ X86::X86() {
6060
PltEntrySize = 16;
6161
PltHeaderSize = 16;
6262
TlsGdRelaxSkip = 2;
63-
64-
// 0xCC is the "int3" (call debug exception handler) instruction.
65-
TrapInstr = 0xcccccccc;
63+
TrapInstr = 0xcccccccc; // 0xcc = INT3
6664
}
6765

6866
RelExpr X86::getRelExpr(uint32_t Type, const SymbolBody &S,

lld/ELF/Arch/X86_64.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,11 @@ template <class ELFT> X86_64<ELFT>::X86_64() {
6565
PltEntrySize = 16;
6666
PltHeaderSize = 16;
6767
TlsGdRelaxSkip = 2;
68+
TrapInstr = 0xcccccccc; // 0xcc = INT3
6869

6970
// Align to the large page size (known as a superpage or huge page).
7071
// FreeBSD automatically promotes large, superpage-aligned allocations.
7172
DefaultImageBase = 0x200000;
72-
73-
// 0xCC is the "int3" (call debug exception handler) instruction.
74-
TrapInstr = 0xcccccccc;
7573
}
7674

7775
template <class ELFT>

lld/test/ELF/arm-gnu-ifunc-plt.s

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@
6161
// DISASM: $d:
6262
// DISASM-NEXT: 11050: c0 0f 00 00 .word 0x00000fc0
6363
// Alignment to 16 byte boundary not strictly necessary on ARM, but harmless
64-
// DISASM-NEXT: 11054: 00 00 00 00 .word 0x00000000
65-
// DISASM-NEXT: 11058: 00 00 00 00 .word 0x00000000
66-
// DISASM-NEXT: 1105c: 00 00 00 00 .word 0x00000000
64+
// DISASM-NEXT: 11054: d4 d4 d4 d4 .word 0xd4d4d4d4
65+
// DISASM-NEXT: 11058: d4 d4 d4 d4 .word 0xd4d4d4d4
66+
// DISASM-NEXT: 1105c: d4 d4 d4 d4 .word 0xd4d4d4d4
6767
// DISASM: $a:
6868
// DISASM-NEXT: 11060: 04 c0 9f e5 ldr r12, [pc, #4]
6969
// DISASM-NEXT: 11064: 0f c0 8c e0 add r12, r12, pc

lld/test/ELF/arm-thumb-branch.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ callee_high:
5454
// CHECK-NEXT: 1001c: ff f3 fd 97 b.w #16777210
5555
// CHECK-NEXT: 10020: 3f f3 ff af bgt.w #1048574
5656
// CHECK-NEXT: 10024: 70 47 bx lr
57-
// CHECK-NEXT: 10026: 00 00 movs r0, r0
57+
// CHECK-NEXT: 10026:
5858
// CHECK-NEXT: Disassembly of section .callee2:
5959
// CHECK-NEXT: callee_high:
6060
// CHECK-NEXT: 10028: 70 47 bx lr

lld/test/ELF/arm-thumb-plt-reloc.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ _start:
3030
// CHECK-NEXT: 11002: 70 47 bx lr
3131
// CHECK: func3:
3232
// CHECK-NEXT: 11004: 70 47 bx lr
33-
// CHECK-NEXT: 11006: 00 00 movs r0, r0
33+
// CHECK-NEXT: 11006: d4 d4
3434
// CHECK: _start:
3535
// 11008 + 4 -12 = 0x11000 = func1
3636
// CHECK-NEXT: 11008: ff f7 fa ff bl #-12
@@ -49,7 +49,7 @@ _start:
4949
// DSOTHUMB-NEXT: 1002: 70 47 bx lr
5050
// DSOTHUMB: func3:
5151
// DSOTHUMB-NEXT: 1004: 70 47 bx lr
52-
// DSOTHUMB-NEXT: 1006: 00 00 movs r0, r0
52+
// DSOTHUMB-NEXT: 1006: d4 d4
5353
// DSOTHUMB: _start:
5454
// 0x1008 + 0x28 + 4 = 0x1034 = PLT func1
5555
// DSOTHUMB-NEXT: 1008: 00 f0 14 e8 blx #40

lld/test/ELF/mips-got16-relocatable.s

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
# OBJ-NEXT: 00000000: R_MIPS_GOT16 .data
1616
# OBJ-NEXT: 4: 27 24 00 00 addiu $4, $25, 0
1717
# OBJ-NEXT: 00000004: R_MIPS_LO16 .data
18-
# OBJ-NEXT: 8: 00 00 00 00 nop
19-
# OBJ-NEXT: c: 00 00 00 00 nop
18+
# OBJ-NEXT: 8: ef ef ef ef <unknown>
19+
# OBJ-NEXT: c: ef ef ef ef <unknown>
2020
# OBJ-NEXT: 10: 8f 99 00 00 lw $25, 0($gp)
2121
# OBJ-NEXT: 00000010: R_MIPS_GOT16 .data
2222
# OBJ-NEXT: 14: 27 24 00 10 addiu $4, $25, 16
@@ -26,8 +26,8 @@
2626
# SO-NEXT: .text:
2727
# SO-NEXT: 10000: 8f 99 80 18 lw $25, -32744($gp)
2828
# SO-NEXT: 10004: 27 24 00 00 addiu $4, $25, 0
29-
# SO-NEXT: 10008: 00 00 00 00 nop
30-
# SO-NEXT: 1000c: 00 00 00 00 nop
29+
# SO-NEXT: 10008: ef ef ef ef <unknown>
30+
# SO-NEXT: 1000c: ef ef ef ef <unknown>
3131
# SO-NEXT: 10010: 8f 99 80 18 lw $25, -32744($gp)
3232
# SO-NEXT: 10014: 27 24 00 10 addiu $4, $25, 16
3333

lld/test/ELF/mips-npic-call-pic-os.s

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,23 @@
3333
# CHECK-NEXT: 2002c: 08 00 80 10 j 131136 <foo2>
3434
# CHECK-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64
3535
# CHECK-NEXT: 20034: 00 00 00 00 nop
36-
# CHECK-NEXT: 20038: 00 00 00 00 nop
37-
# CHECK-NEXT: 2003c: 00 00 00 00 nop
36+
# CHECK-NEXT: 20038: ef ef ef ef <unknown>
37+
# CHECK-NEXT: 2003c: ef ef ef ef <unknown>
3838
# CHECK: foo2:
3939
# CHECK-NEXT: 20040: 00 00 00 00 nop
4040
# CHECK: __LA25Thunk_fpic:
4141
# CHECK-NEXT: 20044: 3c 19 00 02 lui $25, 2
4242
# CHECK-NEXT: 20048: 08 00 80 18 j 131168 <fpic>
4343
# CHECK-NEXT: 2004c: 27 39 00 60 addiu $25, $25, 96
4444
# CHECK-NEXT: 20050: 00 00 00 00 nop
45-
# CHECK-NEXT: 20054: 00 00 00 00 nop
46-
# CHECK-NEXT: 20058: 00 00 00 00 nop
47-
# CHECK-NEXT: 2005c: 00 00 00 00 nop
45+
# CHECK-NEXT: 20054: ef ef ef ef <unknown>
46+
# CHECK-NEXT: 20058: ef ef ef ef <unknown>
47+
# CHECK-NEXT: 2005c: ef ef ef ef <unknown>
4848
# CHECK: fpic:
4949
# CHECK-NEXT: 20060: 00 00 00 00 nop
50-
# CHECK-NEXT: 20064: 00 00 00 00 nop
51-
# CHECK-NEXT: 20068: 00 00 00 00 nop
52-
# CHECK-NEXT: 2006c: 00 00 00 00 nop
50+
# CHECK-NEXT: 20064: ef ef ef ef <unknown>
51+
# CHECK-NEXT: 20068: ef ef ef ef <unknown>
52+
# CHECK-NEXT: 2006c: ef ef ef ef <unknown>
5353
# CHECK: fnpic:
5454
# CHECK-NEXT: 20070: 00 00 00 00 nop
5555
# CHECK-NEXT: Disassembly of section differentos:
@@ -93,23 +93,23 @@
9393
# REVERSE-NEXT: 2002c: 08 00 80 10 j 131136 <foo2>
9494
# REVERSE-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64
9595
# REVERSE-NEXT: 20034: 00 00 00 00 nop
96-
# REVERSE-NEXT: 20038: 00 00 00 00 nop
97-
# REVERSE-NEXT: 2003c: 00 00 00 00 nop
96+
# REVERSE-NEXT: 20038: ef ef ef ef <unknown>
97+
# REVERSE-NEXT: 2003c: ef ef ef ef <unknown>
9898
# REVERSE: foo2:
9999
# REVERSE-NEXT: 20040: 00 00 00 00 nop
100-
# REVERSE-NEXT: 20044: 00 00 00 00 nop
101-
# REVERSE-NEXT: 20048: 00 00 00 00 nop
102-
# REVERSE-NEXT: 2004c: 00 00 00 00 nop
100+
# REVERSE-NEXT: 20044: ef ef ef ef <unknown>
101+
# REVERSE-NEXT: 20048: ef ef ef ef <unknown>
102+
# REVERSE-NEXT: 2004c: ef ef ef ef <unknown>
103103
# REVERSE: __LA25Thunk_fpic:
104104
# REVERSE-NEXT: 20050: 3c 19 00 02 lui $25, 2
105105
# REVERSE-NEXT: 20054: 08 00 80 18 j 131168 <fpic>
106106
# REVERSE-NEXT: 20058: 27 39 00 60 addiu $25, $25, 96
107107
# REVERSE-NEXT: 2005c: 00 00 00 00 nop
108108
# REVERSE: fpic:
109109
# REVERSE-NEXT: 20060: 00 00 00 00 nop
110-
# REVERSE-NEXT: 20064: 00 00 00 00 nop
111-
# REVERSE-NEXT: 20068: 00 00 00 00 nop
112-
# REVERSE-NEXT: 2006c: 00 00 00 00 nop
110+
# REVERSE-NEXT: 20064: ef ef ef ef <unknown>
111+
# REVERSE-NEXT: 20068: ef ef ef ef <unknown>
112+
# REVERSE-NEXT: 2006c: ef ef ef ef <unknown>
113113
# REVERSE: fnpic:
114114
# REVERSE-NEXT: 20070: 00 00 00 00 nop
115115
# REVERSE-NEXT: Disassembly of section differentos:

lld/test/ELF/mips-npic-call-pic-script.s

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -33,77 +33,77 @@
3333
# CHECK-NEXT: 2002c: 08 00 80 10 j 131136 <foo2>
3434
# CHECK-NEXT: 20030: 27 39 00 40 addiu $25, $25, 64
3535
# CHECK-NEXT: 20034: 00 00 00 00 nop
36-
# CHECK-NEXT: 20038: 00 00 00 00 nop
37-
# CHECK-NEXT: 2003c: 00 00 00 00 nop
36+
# CHECK-NEXT: 20038: ef ef ef ef <unknown>
37+
# CHECK-NEXT: 2003c: ef ef ef ef <unknown>
3838
# CHECK: foo2:
3939
# CHECK-NEXT: 20040: 00 00 00 00 nop
40-
# CHECK-NEXT: 20044: 00 00 00 00 nop
41-
# CHECK-NEXT: 20048: 00 00 00 00 nop
42-
# CHECK-NEXT: 2004c: 00 00 00 00 nop
43-
# CHECK-NEXT: 20050: 00 00 00 00 nop
44-
# CHECK-NEXT: 20054: 00 00 00 00 nop
45-
# CHECK-NEXT: 20058: 00 00 00 00 nop
46-
# CHECK-NEXT: 2005c: 00 00 00 00 nop
47-
# CHECK-NEXT: 20060: 00 00 00 00 nop
48-
# CHECK-NEXT: 20064: 00 00 00 00 nop
49-
# CHECK-NEXT: 20068: 00 00 00 00 nop
50-
# CHECK-NEXT: 2006c: 00 00 00 00 nop
51-
# CHECK-NEXT: 20070: 00 00 00 00 nop
52-
# CHECK-NEXT: 20074: 00 00 00 00 nop
53-
# CHECK-NEXT: 20078: 00 00 00 00 nop
54-
# CHECK-NEXT: 2007c: 00 00 00 00 nop
55-
# CHECK-NEXT: 20080: 00 00 00 00 nop
56-
# CHECK-NEXT: 20084: 00 00 00 00 nop
57-
# CHECK-NEXT: 20088: 00 00 00 00 nop
58-
# CHECK-NEXT: 2008c: 00 00 00 00 nop
59-
# CHECK-NEXT: 20090: 00 00 00 00 nop
60-
# CHECK-NEXT: 20094: 00 00 00 00 nop
61-
# CHECK-NEXT: 20098: 00 00 00 00 nop
62-
# CHECK-NEXT: 2009c: 00 00 00 00 nop
63-
# CHECK-NEXT: 200a0: 00 00 00 00 nop
64-
# CHECK-NEXT: 200a4: 00 00 00 00 nop
65-
# CHECK-NEXT: 200a8: 00 00 00 00 nop
66-
# CHECK-NEXT: 200ac: 00 00 00 00 nop
67-
# CHECK-NEXT: 200b0: 00 00 00 00 nop
68-
# CHECK-NEXT: 200b4: 00 00 00 00 nop
69-
# CHECK-NEXT: 200b8: 00 00 00 00 nop
70-
# CHECK-NEXT: 200bc: 00 00 00 00 nop
71-
# CHECK-NEXT: 200c0: 00 00 00 00 nop
72-
# CHECK-NEXT: 200c4: 00 00 00 00 nop
73-
# CHECK-NEXT: 200c8: 00 00 00 00 nop
74-
# CHECK-NEXT: 200cc: 00 00 00 00 nop
75-
# CHECK-NEXT: 200d0: 00 00 00 00 nop
76-
# CHECK-NEXT: 200d4: 00 00 00 00 nop
77-
# CHECK-NEXT: 200d8: 00 00 00 00 nop
78-
# CHECK-NEXT: 200dc: 00 00 00 00 nop
79-
# CHECK-NEXT: 200e0: 00 00 00 00 nop
80-
# CHECK-NEXT: 200e4: 00 00 00 00 nop
81-
# CHECK-NEXT: 200e8: 00 00 00 00 nop
82-
# CHECK-NEXT: 200ec: 00 00 00 00 nop
83-
# CHECK-NEXT: 200f0: 00 00 00 00 nop
84-
# CHECK-NEXT: 200f4: 00 00 00 00 nop
85-
# CHECK-NEXT: 200f8: 00 00 00 00 nop
86-
# CHECK-NEXT: 200fc: 00 00 00 00 nop
87-
# CHECK-NEXT: 20100: 00 00 00 00 nop
88-
# CHECK-NEXT: 20104: 00 00 00 00 nop
89-
# CHECK-NEXT: 20108: 00 00 00 00 nop
90-
# CHECK-NEXT: 2010c: 00 00 00 00 nop
91-
# CHECK-NEXT: 20110: 00 00 00 00 nop
92-
# CHECK-NEXT: 20114: 00 00 00 00 nop
93-
# CHECK-NEXT: 20118: 00 00 00 00 nop
94-
# CHECK-NEXT: 2011c: 00 00 00 00 nop
95-
# CHECK-NEXT: 20120: 00 00 00 00 nop
96-
# CHECK-NEXT: 20124: 00 00 00 00 nop
97-
# CHECK-NEXT: 20128: 00 00 00 00 nop
98-
# CHECK-NEXT: 2012c: 00 00 00 00 nop
99-
# CHECK-NEXT: 20130: 00 00 00 00 nop
100-
# CHECK-NEXT: 20134: 00 00 00 00 nop
101-
# CHECK-NEXT: 20138: 00 00 00 00 nop
102-
# CHECK-NEXT: 2013c: 00 00 00 00 nop
103-
# CHECK-NEXT: 20140: 00 00 00 00 nop
104-
# CHECK-NEXT: 20144: 00 00 00 00 nop
105-
# CHECK-NEXT: 20148: 00 00 00 00 nop
106-
# CHECK-NEXT: 2014c: 00 00 00 00 nop
40+
# CHECK-NEXT: 20044: ef ef ef ef <unknown>
41+
# CHECK-NEXT: 20048: ef ef ef ef <unknown>
42+
# CHECK-NEXT: 2004c: ef ef ef ef <unknown>
43+
# CHECK-NEXT: 20050: ef ef ef ef <unknown>
44+
# CHECK-NEXT: 20054: ef ef ef ef <unknown>
45+
# CHECK-NEXT: 20058: ef ef ef ef <unknown>
46+
# CHECK-NEXT: 2005c: ef ef ef ef <unknown>
47+
# CHECK-NEXT: 20060: ef ef ef ef <unknown>
48+
# CHECK-NEXT: 20064: ef ef ef ef <unknown>
49+
# CHECK-NEXT: 20068: ef ef ef ef <unknown>
50+
# CHECK-NEXT: 2006c: ef ef ef ef <unknown>
51+
# CHECK-NEXT: 20070: ef ef ef ef <unknown>
52+
# CHECK-NEXT: 20074: ef ef ef ef <unknown>
53+
# CHECK-NEXT: 20078: ef ef ef ef <unknown>
54+
# CHECK-NEXT: 2007c: ef ef ef ef <unknown>
55+
# CHECK-NEXT: 20080: ef ef ef ef <unknown>
56+
# CHECK-NEXT: 20084: ef ef ef ef <unknown>
57+
# CHECK-NEXT: 20088: ef ef ef ef <unknown>
58+
# CHECK-NEXT: 2008c: ef ef ef ef <unknown>
59+
# CHECK-NEXT: 20090: ef ef ef ef <unknown>
60+
# CHECK-NEXT: 20094: ef ef ef ef <unknown>
61+
# CHECK-NEXT: 20098: ef ef ef ef <unknown>
62+
# CHECK-NEXT: 2009c: ef ef ef ef <unknown>
63+
# CHECK-NEXT: 200a0: ef ef ef ef <unknown>
64+
# CHECK-NEXT: 200a4: ef ef ef ef <unknown>
65+
# CHECK-NEXT: 200a8: ef ef ef ef <unknown>
66+
# CHECK-NEXT: 200ac: ef ef ef ef <unknown>
67+
# CHECK-NEXT: 200b0: ef ef ef ef <unknown>
68+
# CHECK-NEXT: 200b4: ef ef ef ef <unknown>
69+
# CHECK-NEXT: 200b8: ef ef ef ef <unknown>
70+
# CHECK-NEXT: 200bc: ef ef ef ef <unknown>
71+
# CHECK-NEXT: 200c0: ef ef ef ef <unknown>
72+
# CHECK-NEXT: 200c4: ef ef ef ef <unknown>
73+
# CHECK-NEXT: 200c8: ef ef ef ef <unknown>
74+
# CHECK-NEXT: 200cc: ef ef ef ef <unknown>
75+
# CHECK-NEXT: 200d0: ef ef ef ef <unknown>
76+
# CHECK-NEXT: 200d4: ef ef ef ef <unknown>
77+
# CHECK-NEXT: 200d8: ef ef ef ef <unknown>
78+
# CHECK-NEXT: 200dc: ef ef ef ef <unknown>
79+
# CHECK-NEXT: 200e0: ef ef ef ef <unknown>
80+
# CHECK-NEXT: 200e4: ef ef ef ef <unknown>
81+
# CHECK-NEXT: 200e8: ef ef ef ef <unknown>
82+
# CHECK-NEXT: 200ec: ef ef ef ef <unknown>
83+
# CHECK-NEXT: 200f0: ef ef ef ef <unknown>
84+
# CHECK-NEXT: 200f4: ef ef ef ef <unknown>
85+
# CHECK-NEXT: 200f8: ef ef ef ef <unknown>
86+
# CHECK-NEXT: 200fc: ef ef ef ef <unknown>
87+
# CHECK-NEXT: 20100: ef ef ef ef <unknown>
88+
# CHECK-NEXT: 20104: ef ef ef ef <unknown>
89+
# CHECK-NEXT: 20108: ef ef ef ef <unknown>
90+
# CHECK-NEXT: 2010c: ef ef ef ef <unknown>
91+
# CHECK-NEXT: 20110: ef ef ef ef <unknown>
92+
# CHECK-NEXT: 20114: ef ef ef ef <unknown>
93+
# CHECK-NEXT: 20118: ef ef ef ef <unknown>
94+
# CHECK-NEXT: 2011c: ef ef ef ef <unknown>
95+
# CHECK-NEXT: 20120: ef ef ef ef <unknown>
96+
# CHECK-NEXT: 20124: ef ef ef ef <unknown>
97+
# CHECK-NEXT: 20128: ef ef ef ef <unknown>
98+
# CHECK-NEXT: 2012c: ef ef ef ef <unknown>
99+
# CHECK-NEXT: 20130: ef ef ef ef <unknown>
100+
# CHECK-NEXT: 20134: ef ef ef ef <unknown>
101+
# CHECK-NEXT: 20138: ef ef ef ef <unknown>
102+
# CHECK-NEXT: 2013c: ef ef ef ef <unknown>
103+
# CHECK-NEXT: 20140: ef ef ef ef <unknown>
104+
# CHECK-NEXT: 20144: ef ef ef ef <unknown>
105+
# CHECK-NEXT: 20148: ef ef ef ef <unknown>
106+
# CHECK-NEXT: 2014c: ef ef ef ef <unknown>
107107
# CHECK: __start:
108108
# CHECK-NEXT: 20150: 0c 00 80 00 jal 131072 <__LA25Thunk_foo1a>
109109
# CHECK-NEXT: 20154: 00 00 00 00 nop
@@ -124,9 +124,9 @@
124124
# CHECK-NEXT: 2018c: 00 00 00 00 nop
125125
# CHECK: fpic:
126126
# CHECK-NEXT: 20190: 00 00 00 00 nop
127-
# CHECK-NEXT: 20194: 00 00 00 00 nop
128-
# CHECK-NEXT: 20198: 00 00 00 00 nop
129-
# CHECK-NEXT: 2019c: 00 00 00 00 nop
127+
# CHECK-NEXT: 20194: ef ef ef ef <unknown>
128+
# CHECK-NEXT: 20198: ef ef ef ef <unknown>
129+
# CHECK-NEXT: 2019c: ef ef ef ef <unknown>
130130
# CHECK: fnpic:
131131
# CHECK-NEXT: 201a0: 00 00 00 00 nop
132132

@@ -166,9 +166,9 @@ __start:
166166
# ORPH1-NEXT: 2003c: 00 00 00 00 nop
167167
# ORPH1: fpic:
168168
# ORPH1-NEXT: 20040: 00 00 00 00 nop
169-
# ORPH1-NEXT: 20044: 00 00 00 00 nop
170-
# ORPH1-NEXT: 20048: 00 00 00 00 nop
171-
# ORPH1-NEXT: 2004c: 00 00 00 00 nop
169+
# ORPH1-NEXT: 20044: ef ef ef ef <unknown>
170+
# ORPH1-NEXT: 20048: ef ef ef ef <unknown>
171+
# ORPH1-NEXT: 2004c: ef ef ef ef <unknown>
172172
# ORPH1: fnpic:
173173
# ORPH1-NEXT: 20050: 00 00 00 00 nop
174174
# ORPH1: __LA25Thunk_foo1a:
@@ -181,9 +181,9 @@ __start:
181181
# ORPH1-NEXT: 20068: 08 00 80 21 j 131204 <foo1b>
182182
# ORPH1-NEXT: 2006c: 27 39 00 84 addiu $25, $25, 132
183183
# ORPH1-NEXT: 20070: 00 00 00 00 nop
184-
# ORPH1-NEXT: 20074: 00 00 00 00 nop
185-
# ORPH1-NEXT: 20078: 00 00 00 00 nop
186-
# ORPH1-NEXT: 2007c: 00 00 00 00 nop
184+
# ORPH1-NEXT: 20074: ef ef ef ef <unknown>
185+
# ORPH1-NEXT: 20078: ef ef ef ef <unknown>
186+
# ORPH1-NEXT: 2007c: ef ef ef ef <unknown>
187187
# ORPH1: foo1a:
188188
# ORPH1-NEXT: 20080: 00 00 00 00 nop
189189
# ORPH1: foo1b:
@@ -193,8 +193,8 @@ __start:
193193
# ORPH1-NEXT: 2008c: 08 00 80 28 j 131232 <foo2>
194194
# ORPH1-NEXT: 20090: 27 39 00 a0 addiu $25, $25, 160
195195
# ORPH1-NEXT: 20094: 00 00 00 00 nop
196-
# ORPH1-NEXT: 20098: 00 00 00 00 nop
197-
# ORPH1-NEXT: 2009c: 00 00 00 00 nop
196+
# ORPH1-NEXT: 20098: ef ef ef ef <unknown>
197+
# ORPH1-NEXT: 2009c: ef ef ef ef <unknown>
198198
# ORPH1: foo2:
199199
# ORPH1-NEXT: 200a0: 00 00 00 00 nop
200200

@@ -224,9 +224,9 @@ __start:
224224
# ORPH2-NEXT: 2003c: 00 00 00 00 nop
225225
# ORPH2: fpic:
226226
# ORPH2-NEXT: 20040: 00 00 00 00 nop
227-
# ORPH2-NEXT: 20044: 00 00 00 00 nop
228-
# ORPH2-NEXT: 20048: 00 00 00 00 nop
229-
# ORPH2-NEXT: 2004c: 00 00 00 00 nop
227+
# ORPH2-NEXT: 20044: ef ef ef ef <unknown>
228+
# ORPH2-NEXT: 20048: ef ef ef ef <unknown>
229+
# ORPH2-NEXT: 2004c: ef ef ef ef <unknown>
230230
# ORPH2: fnpic:
231231
# ORPH2-NEXT: 20050: 00 00 00 00 nop
232232
# ORPH2-NEXT: Disassembly of section .text:
@@ -249,7 +249,7 @@ __start:
249249
# ORPH2-NEXT: 2008c: 08 00 80 28 j 131232 <foo2>
250250
# ORPH2-NEXT: 20090: 27 39 00 a0 addiu $25, $25, 160
251251
# ORPH2-NEXT: 20094: 00 00 00 00 nop
252-
# ORPH2-NEXT: 20098: 00 00 00 00 nop
253-
# ORPH2-NEXT: 2009c: 00 00 00 00 nop
252+
# ORPH2-NEXT: 20098: ef ef ef ef <unknown>
253+
# ORPH2-NEXT: 2009c: ef ef ef ef <unknown>
254254
# ORPH2: foo2:
255255
# ORPH2-NEXT: 200a0: 00 00 00 00 nop

0 commit comments

Comments
 (0)