[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/27597] nios: assertion fail in nios2_elf32_install_imm16
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/27597] nios: assertion fail in nios2_elf32_install_imm16 |
Date: |
Fri, 16 Feb 2024 12:28:29 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=27597
--- Comment #3 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alan Modra <amodra@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=900c0f0aa3d78cd9e67ccd26fbc86224cef4c5b1
commit 900c0f0aa3d78cd9e67ccd26fbc86224cef4c5b1
Author: Alan Modra <amodra@gmail.com>
Date: Fri Feb 16 22:33:29 2024 +1030
PR27597, nios: assertion fail in nios2_elf32_install_imm16
The assertion in nios2_elf32_install_imm16 triggers when the PLT is
twice the maximum allowable size for a branch from PLTn to reach
.PLTresolve, and on no other call to nios2_elf32_install_imm16. That
makes the assertion completely useless. We can handle a PIC PLT
exceeding 0x8000 in size by bouncing branches that won't reach through
previous branches.
PR 27597
* elf32-nios2.c (nios2_elf32_install_imm16): Delete BFD_ASSERT.
(nios2_build_one_stub): Don't bother masking value passed to
nios2_elf32_install_imm16.
(nios2_elf32_finish_dynamic_symbol): Likewise. Handle overflow
of PLTn branch to .PLTresolve by bouncing through prior branches.
--
You are receiving this mail because:
You are on the CC list for the bug.