From 82eaabf52123bfaf45adb30d1e48271bd9207cae Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sun, 7 Aug 2005 02:38:13 +0000 Subject: * Makefile.in: Warn when end of cygheap is not on 64k boundary. * cygwin.sc: Try harder to ensure that cygheap is on a 64k boundary. Move cygheap to end of image to stop interference from unstripped debug regions. --- winsup/cygwin/cygwin.sc | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'winsup/cygwin/cygwin.sc') diff --git a/winsup/cygwin/cygwin.sc b/winsup/cygwin/cygwin.sc index 9270ab5e2..e2a83d05d 100644 --- a/winsup/cygwin/cygwin.sc +++ b/winsup/cygwin/cygwin.sc @@ -70,30 +70,6 @@ SECTIONS { *(.cygwin_dll_common) } - .idata ALIGN(__section_alignment__) : - { - /* This cannot currently be handled with grouped sections. - See pe.em:sort_sections. */ - SORT(*)(.idata$2) - SORT(*)(.idata$3) - /* These zeroes mark the end of the import list. */ - LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); - SORT(*)(.idata$4) - SORT(*)(.idata$5) - SORT(*)(.idata$6) - SORT(*)(.idata$7) - . = ALIGN(16); - __cygheap_start = ABSOLUTE(.); - } - .cygheap ALIGN(__section_alignment__): - { - __cygheap_mid = .; - *(.cygheap) - . = ALIGN(512 * 1024, 0x10000); - . += 8192; /* inexplicably needed for alignment on 64K boundary?!? */ - } - __cygheap_end = ABSOLUTE(.); - __cygheap_end1 = __cygheap_mid + SIZEOF(.cygheap); /DISCARD/ : { *(.debug$S) @@ -122,4 +98,28 @@ SECTIONS .debug_macinfo ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_macinfo) } .debug_macinfo ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_macinfo) } .debug_ranges ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_ranges) } + .idata ALIGN(__section_alignment__) : + { + /* This cannot currently be handled with grouped sections. + See pe.em:sort_sections. */ + SORT(*)(.idata$2) + SORT(*)(.idata$3) + /* These zeroes mark the end of the import list. */ + LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); + SORT(*)(.idata$4) + SORT(*)(.idata$5) + SORT(*)(.idata$6) + SORT(*)(.idata$7) + . = ALIGN(16); + __cygheap_start = ABSOLUTE(.); + . = ALIGN(0x10000); + } + .cygheap ALIGN(__section_alignment__) : + { + __cygheap_mid = .; + *(.cygheap) + . = ALIGN(512 * 1024, 0x10000); + } + __cygheap_end = ABSOLUTE(.); + __cygheap_end1 = __cygheap_mid + SIZEOF(.cygheap); } -- cgit v1.2.3