10: b7 02 00 00 02 00 00 00 mov %r2,2
18: 18 06 00 00 38 00 00 00 lddw %r6,0x38
20: 00 00 00 00 00 00 00 00[ ]*
- 18: R_BPF_INSN_64 .text
+ 18: R_BPF_64_64 .text
28: 8d 06 00 00 00 00 00 00 call %r6
30: 95 00 00 00 00 00 00 00 exit
+++ /dev/null
- mov %r1,1
- mov %r2,2
- mov %r3,3
- ja bar
- exit
#source: bar.s
#objdump: -dr
#ld: -EL
-#name: CALL with disp32 reloc
+#name: CALL with 64_32 reloc
.*: +file format .*bpf.*
+++ /dev/null
-#as: --EL
-#source: baz.s
-#source: bar.s
-#objdump: -dr
-#ld: -EL
-#name: jump with disp16 reloc
-
-.*: +file format .*bpf.*
-
-Disassembly of section .text:
-
-[0-9a-f]+ <.*>:
- *[0-9a-f]+: b7 01 00 00 01 00 00 00 mov %r1,1
- *[0-9a-f]+: b7 02 00 00 02 00 00 00 mov %r2,2
- *[0-9a-f]+: b7 03 00 00 03 00 00 00 mov %r3,3
- *[0-9a-f]+: 05 00 01 00 00 00 00 00 ja 1
- *[0-9a-f]+: 95 00 00 00 00 00 00 00 exit
-
-[0-9a-f]+ <bar>:
- *[0-9a-f]+: bf 21 00 00 00 00 00 00 mov %r1,%r2
- *[0-9a-f]+: bf 13 00 00 00 00 00 00 mov %r3,%r1
- *[0-9a-f]+: 95 00 00 00 00 00 00 00 exit
Contents of section \.data:
0020 666f6f00 62617200 00000000 00000020 .*
- 0030 00000028 003034 .*
+ 0030 00000028 .*
Contents of section \.data:
0020 666f6f00 62617200 20000000 00000000 .*
- 0030 28000000 300034 .*
+ 0030 28000000 .*
.quad foo
d32:
.word d64
-d16:
- .half d32
-d8:
- .byte d16
[0-9a-f]+ <.*>:
*[0-9a-f]+: 18 10 00 00 00 00 00 28[ ]*lddw %r1,0x28
*[0-9a-f]+: 00 00 00 00 00 00 00 00[ ]*
- *[0-9a-f]+: b7 20 00 00 00 00 00 26[ ]*mov %r2,0x26
- *[0-9a-f]+: 61 34 00 24 00 00 00 00[ ]*ldxw %r3,\[%r4\+0x24\]
[0-9a-f]+ <.*>:
*[0-9a-f]+: 18 01 00 00 28 00 00 00[ ]*lddw %r1,0x28
*[0-9a-f]+: 00 00 00 00 00 00 00 00[ ]*
- *[0-9a-f]+: b7 02 00 00 26 00 00 00[ ]*mov %r2,0x26
- *[0-9a-f]+: 61 43 24 00 00 00 00 00[ ]*ldxw %r3,\[%r4\+0x24\]
lddw %r1, bar + 4
- mov %r2, bar + 2
-
- ldxw %r3, [%r4 + bar]
+++ /dev/null
-#as: --EB
-#source: reloc-insn32.s
-#objdump: -d
-#ld: -Tdata=0xdabeef -EB
-#name: reloc INSN32 BE
-
-.*: +file format .*bpfbe
-
-Disassembly of section .text:
-
-[0-9a-f]+ <main>:
- *[0-9a-f]+: b7 10 00 00 00 da be f3[ ]*mov %r1,0xdabef3
- *[0-9a-f]+: 16 10 00 02 00 da be f3[ ]*jeq32 %r1,0xdabef3,2
- *[0-9a-f]+: 38 00 00 00 00 da be ff[ ]*ldabsdw 0xdabeff
- *[0-9a-f]+: 95 00 00 00 00 00 00 00[ ]*exit
-
-[0-9a-f]+ <baz>:
- *[0-9a-f]+: 07 10 00 00 00 da be ef[ ]*add %r1,0xdabeef
- *[0-9a-f]+: 62 20 00 08 00 da be f7[ ]*stw \[%r2\+8\],0xdabef7
+++ /dev/null
-#as: --EL
-#source: reloc-insn32.s
-#objdump: -d
-#ld: -Tdata=0xdabeef -EL
-#name: reloc INSN32 LE
-
-.*: +file format .*bpfle
-
-Disassembly of section .text:
-
-[0-9a-f]+ <main>:
- *[0-9a-f]+: b7 01 00 00 f3 be da 00[ ]*mov %r1,0xdabef3
- *[0-9a-f]+: 16 01 02 00 f3 be da 00[ ]*jeq32 %r1,0xdabef3,2
- *[0-9a-f]+: 38 00 00 00 ff be da 00[ ]*ldabsdw 0xdabeff
- *[0-9a-f]+: 95 00 00 00 00 00 00 00[ ]*exit
-
-[0-9a-f]+ <baz>:
- *[0-9a-f]+: 07 01 00 00 ef be da 00[ ]*add %r1,0xdabeef
- *[0-9a-f]+: 62 02 08 00 f7 be da 00[ ]*stw \[%r2\+8\],0xdabef7
+++ /dev/null
- .data
-foo:
- .string "foo"
-bar:
- .string "bar"
-d64:
- .dword bar
-d32:
- .word d64
-
- .text
-main:
- mov %r1, bar
- jeq32 %r1, bar, baz
- ldabsdw d32
- exit
-
-baz:
- add %r1, foo
- stw [%r2 + 8], d64