diff options
author | Christopher Faylor <me@cgf.cx> | 2005-08-07 06:38:13 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-08-07 06:38:13 +0400 |
commit | 82eaabf52123bfaf45adb30d1e48271bd9207cae (patch) | |
tree | 4b7dcd295f801a55f012467018d9176cc108f9f0 /winsup/cygwin/cygwin.sc | |
parent | 244f5a27a6b7ce664030de6e4c08e9d43a099ad0 (diff) |
* 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.
Diffstat (limited to 'winsup/cygwin/cygwin.sc')
-rw-r--r-- | winsup/cygwin/cygwin.sc | 48 |
1 files changed, 24 insertions, 24 deletions
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); } |