--- /dev/null
+#source: elf-rel28.s
+#as: -n32
+#objdump: -dr
+#name: MIPS ELF reloc 28 (n32)
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+.* <foo>:
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_CALL_HI16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_CALL_LO16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_CALL16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_DISP bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_PAGE bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_OFST bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_HI16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_LO16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GPREL16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_HIGHEST bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_HIGHER bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_SUB bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_GD bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_LDM bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_HI16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_LO16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_HI16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_LO16 bar
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_GOTTPREL bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_CALL_HI16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_CALL_LO16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_CALL16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_DISP bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_PAGE bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_OFST bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_HI16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_LO16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GPREL16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_HIGHEST bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_HIGHER bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_SUB bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_GD bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_LDM bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_HI16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_LO16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_HI16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_LO16 bar
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_GOTTPREL bar
+ ...
--- /dev/null
+#source: elf-rel28.s
+#as: -64
+#objdump: -dr
+#name: MIPS ELF reloc 28 (n64)
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+.* <foo>:
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_CALL_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_CALL_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_CALL16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_DISP bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_PAGE bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_OFST bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GOT16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_GPREL16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_HIGHEST bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_HIGHER bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_SUB bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_GD bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_LDM bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: dc840000 ld a0,0\(a0\)
+ .*: R_MIPS_TLS_GOTTPREL bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_CALL_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_CALL_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_CALL16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_DISP bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_PAGE bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_OFST bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GOT16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_GPREL16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_HIGHEST bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_HIGHER bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_SUB bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_GD bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_LDM bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_DTPREL_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_HI16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_TPREL_LO16 bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+.*: fc840000 sd a0,0\(a0\)
+ .*: R_MIPS_TLS_GOTTPREL bar
+ .*: R_MIPS_NONE \*ABS\*
+ .*: R_MIPS_NONE \*ABS\*
+ \.\.\.
--- /dev/null
+ .ent foo
+foo:
+ # Many of these do not make conceptual sense, but they should
+ # at least assemble.
+ ld $4,%call_hi(bar)($4)
+ ld $4,%call_lo(bar)($4)
+ ld $4,%call16(bar)($4)
+ ld $4,%got_disp(bar)($4)
+ ld $4,%got_page(bar)($4)
+ ld $4,%got_ofst(bar)($4)
+ ld $4,%got_hi(bar)($4)
+ ld $4,%got_lo(bar)($4)
+ ld $4,%got(bar)($4)
+ ld $4,%gp_rel(bar)($4)
+ ld $4,%half(bar)($4)
+ ld $4,%highest(bar)($4)
+ ld $4,%higher(bar)($4)
+ ld $4,%neg(bar)($4)
+ ld $4,%tlsgd(bar)($4)
+ ld $4,%tlsldm(bar)($4)
+ ld $4,%dtprel_hi(bar)($4)
+ ld $4,%dtprel_lo(bar)($4)
+ ld $4,%tprel_hi(bar)($4)
+ ld $4,%tprel_lo(bar)($4)
+ ld $4,%gottprel(bar)($4)
+
+ sd $4,%call_hi(bar)($4)
+ sd $4,%call_lo(bar)($4)
+ sd $4,%call16(bar)($4)
+ sd $4,%got_disp(bar)($4)
+ sd $4,%got_page(bar)($4)
+ sd $4,%got_ofst(bar)($4)
+ sd $4,%got_hi(bar)($4)
+ sd $4,%got_lo(bar)($4)
+ sd $4,%got(bar)($4)
+ sd $4,%gp_rel(bar)($4)
+ sd $4,%half(bar)($4)
+ sd $4,%highest(bar)($4)
+ sd $4,%higher(bar)($4)
+ sd $4,%neg(bar)($4)
+ sd $4,%tlsgd(bar)($4)
+ sd $4,%tlsldm(bar)($4)
+ sd $4,%dtprel_hi(bar)($4)
+ sd $4,%dtprel_lo(bar)($4)
+ sd $4,%tprel_hi(bar)($4)
+ sd $4,%tprel_lo(bar)($4)
+ sd $4,%gottprel(bar)($4)
+ .end foo