GithubHelp home page GithubHelp logo

Comments (7)

palmer-dabbelt avatar palmer-dabbelt commented on June 30, 2024

I bisected this down to the following commit: d7153c4

commit d7153c4ac333c9127c18efcf184607d368bb142d
Author: Alan Modra <[email protected]>
Date:   Thu Apr 27 11:08:14 2017 +0930

    Edit .eh_frame symbols
    
    Experimental support for moving symbols defined in .eh_frame as their
    CIEs/FDEs are edited or merged.
    
        * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
        (_bfd_elf_adjust_eh_frame_global_symbol): Declare.
        * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
        aug_data_len.
        (offset_adjust): New function.
        (_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
        (adjust_eh_frame_local_symbols): Likewise.
        (_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
        after changing anything.  Return true if anything changed.
        * elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
        _bfd_elf_adjust_eh_frame_global_symbol for globals.

:040000 040000 b023a3cdb7059b9d21c50f7beacd04236e0dedce 673f4819c2c29dee60b1cda42ac553bd5021c385 M      bfd
git bisect start
# good: [d0f744f970225f68460eb36a4975ae92a2e9495a] bfd: RISC-V: relax to gp in more cases.
git bisect good d0f744f970225f68460eb36a4975ae92a2e9495a
# bad: [b7e0fc3067b8c33ebc3106139ef2fa173c57226f] (WIP) RISC-V: Relax RISCV_PCREL_* to RISCV_GPREL_*
git bisect bad b7e0fc3067b8c33ebc3106139ef2fa173c57226f
# good: [8473b4472dce9ce87aaad35ff8e975e1487f914e] windows-nat.c: Fix bad initialization of ptid
git bisect good 8473b4472dce9ce87aaad35ff8e975e1487f914e
# bad: [1f78f649e868979d36490d7c2ea0b3d41abc5ec6] i386: Simplify VxWorks for non-PIC
git bisect bad 1f78f649e868979d36490d7c2ea0b3d41abc5ec6
# good: [4895cde29761f6c39fdb6c319ff4666ee39f5d28] gdb_xml_parser: make data fields private and make more functions methods
git bisect good 4895cde29761f6c39fdb6c319ff4666ee39f5d28
# good: [1587442d37ee4266e54d59bfdc783574f0587aff] i386: Set ELF_MAXPAGESIZE to 0x1000 for VxWorks
git bisect good 1587442d37ee4266e54d59bfdc783574f0587aff
# good: [19c4559475791cd70e319eaf5c1e23d23d9ae81e] nds32: Abort instead of returning REG_UNKNOWN
git bisect good 19c4559475791cd70e319eaf5c1e23d23d9ae81e
# good: [ce8ad8721313d288a05a95b62d95ca43db584ebb] MIPS/GAS: Fix `.option picX' handling with relaxation
git bisect good ce8ad8721313d288a05a95b62d95ca43db584ebb
# bad: [76c20d54ca5042e11af9ddf5723cc24cf47736ec] Constify elf_backend_eh_frame_address_size
git bisect bad 76c20d54ca5042e11af9ddf5723cc24cf47736ec
# good: [21d68fcd0c2f9113369d860ee1e5841bfacc35ff] PowerPC undefweak handling
git bisect good 21d68fcd0c2f9113369d860ee1e5841bfacc35ff
# bad: [d7153c4ac333c9127c18efcf184607d368bb142d] Edit .eh_frame symbols
git bisect bad d7153c4ac333c9127c18efcf184607d368bb142d
# good: [641338d8e9b62bde9672f13f0dca2324b61e46e2] Clear dynstr_index when forcing symbols local
git bisect good 641338d8e9b62bde9672f13f0dca2324b61e46e2
# first bad commit: [d7153c4ac333c9127c18efcf184607d368bb142d] Edit .eh_frame symbols

from riscv-binutils-gdb.

aswaterman avatar aswaterman commented on June 30, 2024

@kito-cheng any changes made to NDS32 port as a result of this change?

from riscv-binutils-gdb.

kito-cheng avatar kito-cheng commented on June 30, 2024

I've call @kuanlinchentw take a look at this issue, and our software version policy is based on stable release if possible, so we don't hit this yet.

from riscv-binutils-gdb.

kuanlinchentw avatar kuanlinchentw commented on June 30, 2024

In Alan's commit d7153c4, the st_value of symbols in .eh_frame are recalculated. It makes FDE's R_RISCV_SUB32 symbol's value be subtracted twice in adjust_eh_frame_local_symbols and _bfd_elf_write_section_eh_frame. NDS32 port in DIFF_EXPR is different from RISCV, so the commit is ok to NDS32. I will try to fix this issue as soon as possible.

from riscv-binutils-gdb.

aswaterman avatar aswaterman commented on June 30, 2024

thanks for following up @kuanlinchentw; I envy your BFD expertise.

from riscv-binutils-gdb.

luping1 avatar luping1 commented on June 30, 2024

just FYI, maybe you have known about it, I observed same error on binutils upstream master branch today. the 2.28 is good.

from riscv-binutils-gdb.

jim-wilson avatar jim-wilson commented on June 30, 2024

I reproduced this, and confirmed that the patch in issue #83 fixes it. So closing.

from riscv-binutils-gdb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.