bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/30715] New: VAX: md_create_long_jump() generates jumps using ab


From: kalvisd at gmail dot com
Subject: [Bug gas/30715] New: VAX: md_create_long_jump() generates jumps using absolute addressing mode
Date: Wed, 02 Aug 2023 07:00:53 +0000

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]