This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Dlltool fix - do not munge padding entries in .reloc section


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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]