bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/25861] xtensa ld error: (.debug_line+0x3b12): dangerous relocati


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/25861] xtensa ld error: (.debug_line+0x3b12): dangerous relocation: overflow after relaxation
Date: Thu, 23 Apr 2020 01:48:30 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=25861

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Max Filippov <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=30ce8e47fad9b057b6d7af9e1d43061126d34d20

commit 30ce8e47fad9b057b6d7af9e1d43061126d34d20
Author: Max Filippov <address@hidden>
Date:   Sun Apr 19 19:04:41 2020 -0700

    xtensa: fix PR ld/25861

    Introduce new relaxations XTENSA_PDIFF{8,16,32} for positive differences
    (subtracted symbol precedes diminished symbol) and XTENSA_NDIFF{8,16,32}
    for negative differences (subtracted symbol follows diminished symbol).
    Don't generate XTENSA_DIFF relocations in the assembler, generate
    XTENSA_PDIFF or XTENSA_NDIFF based on relative symbol position.

    Handle XTENSA_DIFF in BFD for compatibility with old object files.
    Handle XTENSA_PDIFF and XTENSA_NDIFF in BFD, treating difference value
    as unsigned.

    2020-04-22  Max Filippov  <address@hidden>
    bfd/
            * bfd-in2.h: Regenerated.
            * elf32-xtensa.c (elf_howto_table): New entries for
            R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
            (elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc)
            (relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and
            R_XTENSA_NDIFF{8,16,32}.
            * libbfd.h (bfd_reloc_code_real_names): Add names for
            BFD_RELOC_XTENSA_PDIFF{8,16,32} and
            BFD_RELOC_XTENSA_NDIFF{8,16,32}.
            * reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32}
            and BFD_RELOC_XTENSA_NDIFF{8,16,32}.

    binutils/
            * readelf.c (is_none_reloc): Recognize
            BFD_RELOC_XTENSA_PDIFF{8,16,32} and
            BFD_RELOC_XTENSA_NDIFF{8,16,32}.

    gas/
            * config/tc-xtensa.c (md_apply_fix): Replace
            BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
            BFD_RELOC_XTENSA_PDIFF{8,16,32} and
            BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
            * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
            with BFD_RELOC_XTENSA_PDIFF16 in the expected output.

    include/
            * elf/xtensa.h (elf_xtensa_reloc_type): New entries for
            R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.

    ld/
            * testsuite/ld-xtensa/relax-loc.d: New test definition.
            * testsuite/ld-xtensa/relax-loc.s: New test source.
            * testsuite/ld-xtensa/xtensa.exp (relax-loc): New test.

-- 
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]