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&source=web&rct=j&opi=89978449&url=https://refspecs.linuxfoundation.org/elf/elf-pa.pdf&ved=2ahUKEwjzx8bvkvmEAxU_5ckDHbCQCLYQFnoECBQQAQ&usg=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.

Reply via email to