This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Dlltool fix - do not munge padding entries in .reloc section
- To: binutils at sourceware dot cygnus dot com
- Subject: Dlltool fix - do not munge padding entries in .reloc section
- From: Nick Clifton <nickc at cygnus dot com>
- Date: Thu, 18 Nov 1999 18:35:13 GMT
- Reply-to: nickc at cygnus dot co dot uk
Hi Guys
Does anyone have any objections to my applying the following small
patch ? It prevents flush_page() from munging padding entries in
the .reloc section so that they come out as 0x0. (Without the patch
they come out as 0xf000, which is an illegal entry).
Cheers
Nick
1999-11-18 Nick Clifton <nickc@cygnus.com>
* dlltool.c (flush_page): Do not munge padding entries in the
.reloc section.
Index: binutils/dlltool.c
===================================================================
RCS file: /cvs/binutils/binutils/binutils/dlltool.c,v
retrieving revision 1.16
diff -p -r1.16 dlltool.c
*** dlltool.c 1999/11/03 18:16:52 1.16
--- dlltool.c 1999/11/18 18:32:52
*************** flush_page (f, need, page_addr, on_page)
*** 1574,1581 ****
ASM_C);
for (i = 0; i < on_page; i++)
! fprintf (f, "\t%s\t0x%lx\n", ASM_SHORT,
! ((need[i] - page_addr) | 0x3000) & 0xffff);
/* And padding */
if (on_page & 1)
--- 1574,1587 ----
ASM_C);
for (i = 0; i < on_page; i++)
! {
! long needed = need[i];
!
! if (needed)
! needed = ((needed - page_addr) | 0x3000) & 0xffff;
!
! fprintf (f, "\t%s\t0x%lx\n", ASM_SHORT, needed);
! }
/* And padding */
if (on_page & 1)