Comments (7)
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.
@kito-cheng any changes made to NDS32 port as a result of this change?
from riscv-binutils-gdb.
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.
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.
thanks for following up @kuanlinchentw; I envy your BFD expertise.
from riscv-binutils-gdb.
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.
I reproduced this, and confirmed that the patch in issue #83 fixes it. So closing.
from riscv-binutils-gdb.
Related Issues (20)
- How gdb register csr HOT 2
- riscv64 gdb doesn't recognize riscv32 symbol tables: "Sorry, Dave" HOT 1
- GDB internal error HOT 1
- About the opcode constraints documentation. HOT 3
- What is the expected behavior upon hitting a EBREAK? HOT 3
- riscv-binutils-2.35-rvb: `_`instead of `.` ? HOT 2
- How to add a new custom instruction? HOT 6
- riscv-binutils-2.35-rvb: wrong match for xperm.h HOT 2
- a tricky one about gdb HOT 5
- Overlappings on the operand name for p ext
- Registers are interpreted as 64-bit when architecture is set to rv32 HOT 2
- ld: cannot find default versions of the ISA extension `i', when linking rv32e HOT 5
- GDB build fails on CentOS 7.9.2009 HOT 1
- Is there a way to let gdbserver instruct gdb client to use compressed breakpoints? HOT 2
- objdump cant correctly dissemble instructions that reuse other's encoding
- right way to compress branching instuction (decbnez from ZCE extension)
- Objdump and auipc: the immediate value should be displayed shifted HOT 2
- Does anyone know the status about zfh support of binutils? HOT 5
- GDB Single Step fails on RISCV, EL2 with ICCM HOT 1
- continue function not working??? HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riscv-binutils-gdb.