http://sourceware.org/bugzilla/show_bug.cgi?id=14718
Bug #: 14718
Summary: ld crashes on ARMv5 due to unaligned memory access
Product: binutils
Version: 2.22
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
Created attachment 6686
--> http://sourceware.org/bugzilla/attachment.cgi?id=6686
hackish fix
See Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=433669
With binutils 2.22, gcc 4.5.4 on an ARMv5 system, ld crashes when static
linking a program:
# gcc -static hello.c
collect2: ld terminated with signal 11 [Segmentation fault]
The input can be anything, like "int main () { return 0; }".
I've tracked it down to misaligned memory accesses in bfd/elf32-arm.c. The
attached patch fixes the misaligned access, the crash no longer occurs and the
resulting program runs.
Note that this patch uses a gcc-only feature (attribute packed which makes the
compiler handle misalignment in software). It's probably not suitable for
inclusion into binutils as-is if binutils is to compile with something other
than gcc. Instead of this, memcpy() can be used to read and write misaligned
memory in a standard way.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils