https://sourceware.org/bugzilla/show_bug.cgi?id=26126
Bug ID: 26126 Summary: aarch64/mips: reject symbolic operand of an instruction taking an immediate operand Product: binutils Version: 2.35 (HEAD) Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: i at maskray dot me Target Milestone: --- Rigid: % powerpc64le-linux-gnu-as <<< 'or 3, 3, start-.; start:' # good % powerpc64le-linux-gnu-as <<< 'or 3, 3, start; start:' {standard input}: Assembler messages: {standard input}:1: Error: unsupported relocation against .text Permissive: % aarch64-linux-gnu-as <<< 'orr w3, w3, start; start:' # no relocation % mipsel-linux-gnu-as <<< 'ori $3, $3, start; start:' % llvm-objdump -dr ... 0: 04 00 63 34 ori $3, $3, 4 <start> 00000000: R_MIPS_LO16 .text % mips64el-linux-gnuabi64-as <<< 'ori $3, $3, start; start:' # succeeded % llvm-objdump -dr ... 0: 00 00 63 34 ori $3, $3, 0 <.text> 0000000000000000: R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE .text+0x4 On most RISC architectures, the immediate bits cannot encode an arbitrary symbolic value (32-bit/64-bit). It probably makes sense rejecting assembling the instruction. -- You are receiving this mail because: You are on the CC list for the bug.