* dllfixdbg: New perl script.

* configure.in: Detect objcopy, objdump, strip.
* configure: Regenerate.
* Makefile.in: Pass target objcopy/objdump to new dllfixdbg script.  Remove
previous perl check.
* cygwin.sc: Add .gnu_debuglink_overlay section for eventual replacement with
.gnu_debuglink section.  Revert move of cygheap to end of image.
This commit is contained in:
Christopher Faylor
2005-08-08 02:27:43 +00:00
parent 1e0cb9ee0a
commit cbda22eb63
6 changed files with 402 additions and 104 deletions

View File

@ -70,6 +70,47 @@ SECTIONS
{
*(.cygwin_dll_common)
}
.gnu_debuglink_overlay ALIGN(__section_alignment__) (NOLOAD):
{
BYTE(0) /* c */
BYTE(0) /* y */
BYTE(0) /* g */
BYTE(0) /* w */
BYTE(0) /* i */
BYTE(0) /* n */
BYTE(0) /* 1 */
BYTE(0) /* . */
BYTE(0) /* d */
BYTE(0) /* b */
BYTE(0) /* g */
BYTE(0) /* \0 */
LONG(0) /* checksum */
}
.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);
__cygwin_debug_size = SIZEOF(.gnu_debuglink);
/DISCARD/ :
{
*(.debug$S)
@ -98,28 +139,4 @@ 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);
}