[Bug ld/31503] [hppa] Unsupported 14-bit PA 2.0 relocations for 32-bit (narrow) mode (elf32-hppa.c)

2024-03-16 Thread sam at gentoo dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=31503

Sam James  changed:

   What|Removed |Added

 CC||sam at gentoo dot org

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/31503] New: [hppa] Unsupported 14-bit PA 2.0 relocations for 32-bit (narrow) mode (elf32-hppa.c)

2024-03-16 Thread danglin at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=31503

Bug ID: 31503
   Summary: [hppa] Unsupported 14-bit PA 2.0 relocations for
32-bit (narrow) mode (elf32-hppa.c)
   Product: binutils
   Version: unspecified
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---

elf32-hppa.c lacks support for several 14-bit PA 2.0 relocations (e.g.,
DPREL14WR and DPREL14DR).  Primarily, support is lacking for floating
point loads and stores with long displacements.  We lack both non-pic
and pic relocations.

Details can be found in the "Processor-Specific ELF Supplement for PA-RISC":
https://www.google.com/url?sa=t=web=j=89978449=https://refspecs.linuxfoundation.org/elf/elf-pa.pdf=2ahUKEwjzx8bvkvmEAxU_5ckDHbCQCLYQFnoECBQQAQ=AOvVaw3MBtDH0Qd2IHQpBF_3vBbN

Because of the lack of support for these relocations, gcc must block
generation of both integer and floating-point instructions that potentially
use these relocations before the reload pass completes.  This results in
an extra addil instruction to compute each memory address.  After reload,
it is possible to remove the extra addil when we have an integer move but
this results in less optimal code than would be generated if symbolic
references could be handled before reload.  Not sure if addil removal is
actually supported.

-- 
You are receiving this mail because:
You are on the CC list for the bug.