When cross-compiling kernel/signal.c from the Linux kernel for Vax on an i686 Linux PC the assembler crashes with memory corruption reported by libc. Using libefence turns the error into a segmentation fault.
The error is caused by lines 550-552 in app.c. If the from-buffer contains more text than the space left in the to-buffer to ends up pointing after the buffer, and the next call of PUT writes beyond the end. To fix the problem something like the attached patch could be used - it just copies the check from PUT. -- Summary: Memory corruption from gas Product: binutils Version: 2.17 Status: NEW Severity: critical Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: renard at nospam dot dk CC: bug-binutils at gnu dot org GCC host triplet: i686-linux-gnu GCC target triplet: vax-linux-uclibc http://sourceware.org/bugzilla/show_bug.cgi?id=4722 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils