All of lore.kernel.org
 help / color / mirror / Atom feed
* [OpenRISC] [PATCH v2 0/4] OpenRISC large binary fixes
@ 2021-05-01 21:02 Stafford Horne
  2021-05-01 21:02 ` [OpenRISC] [PATCH v2 1/4] or1k: Fix issue with plt link failure for local calls Stafford Horne
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Stafford Horne @ 2021-05-01 21:02 UTC (permalink / raw)
  To: openrisc

Changes since v1:
 - Replaced patches 3/4 with a different approach.  Instead of relying on seeing
   R_OR1K_GOT_AHI16 relocations to enable large plts, I just track the PLT entry
   count and switch to large PLT when we detect the overflow will occur.
 - Patch "Avoid R_OR1K_GOT16 overflow failures in presence of R_OR1K_GOT_AHI16"
   is the actual bug fix for 21464, which was missed in the original series.  We
   inhibit truncation detection when the low got() relocation is paired with the
   new high gotha() relocation.

These are several fixes to OpenRISC BFD to handle issues mostly related to
linking large files.

There will be a GCC patch then depends on this, a new -mcmodel=large argument is
added to GCC to allow creating GOT relocation values larger than 64k.

The series fixes 3 issues:

 * PR 27624 - Assertion failure when dynamic symol is localized
 * PR 21464 - GOT relocation truncation.
 * PR 27746 - Issue with silent overlows in PLT code.

Stafford Horne (4):
  or1k: Fix issue with plt link failure for local calls
  or1k: Implement relocation R_OR1K_GOT_AHI16 for gotha()
  or1k: Avoid R_OR1K_GOT16 overflow failures in presence of
    R_OR1K_GOT_AHI16
  or1k: Support large plt_relocs when generating plt entries

 bfd/bfd-in2.h                    |   1 +
 bfd/elf32-or1k.c                 | 190 +++++++++++++++++++++++--------
 bfd/libbfd.h                     |   1 +
 bfd/reloc.c                      |   2 +
 cpu/or1k.opc                     |   7 +-
 gas/testsuite/gas/or1k/reloc-1.d |   4 +-
 gas/testsuite/gas/or1k/reloc-1.s |   4 +
 include/elf/or1k.h               |   1 +
 ld/testsuite/ld-or1k/gotha1.dd   |  34 ++++++
 ld/testsuite/ld-or1k/gotha1.s    |  24 ++++
 ld/testsuite/ld-or1k/gotha2.dd   |  21 ++++
 ld/testsuite/ld-or1k/gotha2.s    |  22 ++++
 ld/testsuite/ld-or1k/or1k.exp    |   8 ++
 ld/testsuite/ld-or1k/pltlib.s    |   1 +
 opcodes/or1k-asm.c               |   7 +-
 15 files changed, 279 insertions(+), 48 deletions(-)
 create mode 100644 ld/testsuite/ld-or1k/gotha1.dd
 create mode 100644 ld/testsuite/ld-or1k/gotha1.s
 create mode 100644 ld/testsuite/ld-or1k/gotha2.dd
 create mode 100644 ld/testsuite/ld-or1k/gotha2.s

-- 
2.26.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-05-03 10:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-01 21:02 [OpenRISC] [PATCH v2 0/4] OpenRISC large binary fixes Stafford Horne
2021-05-01 21:02 ` [OpenRISC] [PATCH v2 1/4] or1k: Fix issue with plt link failure for local calls Stafford Horne
2021-05-01 21:02 ` [OpenRISC] [PATCH v2 2/4] or1k: Implement relocation R_OR1K_GOT_AHI16 for gotha() Stafford Horne
2021-05-01 21:02 ` [OpenRISC] [PATCH v2 3/4] or1k: Avoid R_OR1K_GOT16 overflow failures in presence of R_OR1K_GOT_AHI16 Stafford Horne
2021-05-01 21:02 ` [OpenRISC] [PATCH v2 4/4] or1k: Support large plt_relocs when generating plt entries Stafford Horne
2021-05-01 23:39 ` [OpenRISC] [PATCH v2 0/4] OpenRISC large binary fixes Giulio Benetti
2021-05-03 10:33 ` Giulio Benetti

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.