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;