Module Name: src
Committed By: matt
Date: Fri Jan 1 06:02:50 UTC 2010
Modified Files:
src/gnu/dist/binutils/gas [matt-nb5-mips64]: write.c
Log Message:
Only allow merging with a symbol + offset if that offset >= 0
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3.32.2 -r1.1.1.3.32.3 src/gnu/dist/binutils/gas/write.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/gnu/dist/binutils/gas/write.c
diff -u src/gnu/dist/binutils/gas/write.c:1.1.1.3.32.2 src/gnu/dist/binutils/gas/write.c:1.1.1.3.32.3
--- src/gnu/dist/binutils/gas/write.c:1.1.1.3.32.2 Wed Aug 26 12:33:54 2009
+++ src/gnu/dist/binutils/gas/write.c Fri Jan 1 06:02:50 2010
@@ -851,7 +851,8 @@
a non-zero addend if the addend would place the relocation outside
the section's limits. */
if ((symsec->flags & SEC_MERGE) != 0
- && (S_GET_VALUE(sym) + fixp->fx_offset >= bfd_get_section_size(symsec)
+ && (fixp->fx_offset < 0
+ || S_GET_VALUE(sym) + fixp->fx_offset >= bfd_get_section_size(symsec)
|| S_GET_VALUE(sym) + fixp->fx_offset < 0
|| fixp->fx_subsy != NULL))
continue;