https://sourceware.org/bugzilla/show_bug.cgi?id=30715
Bug ID: 30715 Summary: VAX: md_create_long_jump() generates jumps using absolute addressing mode Product: binutils Version: 2.39 Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: kalvisd at gmail dot com Target Milestone: --- Created attachment 15033 --> https://sourceware.org/bugzilla/attachment.cgi?id=15033&action=edit Test case demonstrating the problem and proposed solution tc-vax.c:md_create_long_jump(), used as part of the resolution of "broken words" for the VAX platform, generates jumps using absolute addressing. While not incorrect, this will result in warnings from the linker when linking a position-independent shared library, and warnings from NetBSD's dynamic linker ld.elf_so when the resulting library is loaded. This is seen when compiling Perl for NetBSD/vax, for example. When linking the warning is something like ld: asmfn.o: warning: R_VAX_32 relocation to 0x86f0 from .text section and when running the resulting program the warning from the dynamic linker is something like ./libshared.so: text relocations If the addressing mode is changed to PC-relative, the linkers no longer emit warnings. A test case, and a patch proposed as a solution is attached. GNU Make is required to compile the test case. Compiled using GCC 10.5 and binutils 2.39 for NetBSD 10.99.6 -- You are receiving this mail because: You are on the CC list for the bug.