Summary: | ppc32 segmentation fault in make_stub | ||
---|---|---|---|
Product: | binutils | Reporter: | marillat |
Component: | gold | Assignee: | Alan Modra <amodra> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ian, marillat |
Priority: | P2 | ||
Version: | 2.35 | ||
Target Milestone: | 2.36 | ||
Host: | Target: | ||
Build: | Last reconfirmed: | ||
Attachments: | fix under test |
Description
marillat
2021-01-01 14:19:26 UTC
Created attachment 13087 [details]
fix under test
Please try this out. I don't have an easy way of building kodi myself at the moment.
Comment on attachment 13087 [details]
fix under test
I rebuild binutils with this patch and started to rebuild kodi.
5 or 6 hours are needed to rebuild kodi...
Kodi build fine now. I'll add a comment to the Debian BTS. Thank you very much. Christian The master branch has been updated by Alan Modra <amodra@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e3b53295d59d2e78292eaae4500243dd9e007ae4 commit e3b53295d59d2e78292eaae4500243dd9e007ae4 Author: Alan Modra <amodra@gmail.com> Date: Sat Jan 2 21:45:02 2021 +1030 PR27140, ppc32 segmentation fault in make_stub This fixes a thinko in commit fa40fbe4849. st_other global entry bits are relevant only for 64-bit ELFv2. PowerPC gold leaves local sym vector of st_other bits as NULL for 32-bit, hence the segfault. PR 27140 * powerpc.cc (Target_powerpc::Branch_info::make_stub): Only access object->st_other() when 64-bit. (Stub_table::add_long_branch_entry): Ignore "other" when 32-bit. The binutils-2_35-branch branch has been updated by Alan Modra <amodra@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f8db4612c51d9980131268a1be06654846d9c8de commit f8db4612c51d9980131268a1be06654846d9c8de Author: Alan Modra <amodra@gmail.com> Date: Sat Jan 2 21:45:02 2021 +1030 PR27140, ppc32 segmentation fault in make_stub This fixes a thinko in commit fa40fbe4849. st_other global entry bits are relevant only for 64-bit ELFv2. PowerPC gold leaves local sym vector of st_other bits as NULL for 32-bit, hence the segfault. PR 27140 * powerpc.cc (Target_powerpc::Branch_info::make_stub): Only access object->st_other() when 64-bit. (Stub_table::add_long_branch_entry): Ignore "other" when 32-bit. (cherry picked from commit e3b53295d59d2e78292eaae4500243dd9e007ae4) Fixed |