Cygwin: drop objcopy .gnu_debuglink juggle
Prior to 591fec858d01 ("Cygwin: decouple cygheap from Cygwin DLL") the .cygheap section was required to stay the last section in the final binary. That required some juggling with objcopy to make sure the .gnu_debuglink section is prior to the .cygheap section in the final DLL. This isn't required anymore, so just drop it. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
49df152de7
commit
ebbff10ae1
|
@ -576,28 +576,16 @@ $(PRE_DLL_NAME): $(LDSCRIPT) libdll.a $(VERSION_OFILES) $(LIBSERVER)\
|
||||||
|
|
||||||
# create cygwin1.dbg file
|
# create cygwin1.dbg file
|
||||||
$(DBG_DLL_NAME): $(PRE_DLL_NAME)
|
$(DBG_DLL_NAME): $(PRE_DLL_NAME)
|
||||||
$(AM_V_GEN)$(OBJCOPY) -R .gnu_debuglink_overlay \
|
$(AM_V_GEN)$(OBJCOPY) --add-gnu-debuglink=/dev/null \
|
||||||
--add-gnu-debuglink=/dev/null \
|
|
||||||
--only-keep-debug \
|
--only-keep-debug \
|
||||||
$(PRE_DLL_NAME) \
|
$(PRE_DLL_NAME) \
|
||||||
$(DBG_DLL_NAME)
|
$(DBG_DLL_NAME)
|
||||||
|
|
||||||
# create stripped, temporary DLL, append .gnu_debuglink section, move
|
# create stripped release DLL, append .gnu_debuglink section
|
||||||
# .gnu_debuglink section in place of .gnu_debuglink_overlay placeholder
|
|
||||||
# section and store result in new-cygwin1.dll
|
|
||||||
$(NEW_DLL_NAME): $(PRE_DLL_NAME) $(DBG_DLL_NAME)
|
$(NEW_DLL_NAME): $(PRE_DLL_NAME) $(DBG_DLL_NAME)
|
||||||
$(AM_V_GEN)TMP_DLL_NAME=$$( mktemp --suffix=.dll ) && \
|
$(AM_V_GEN)$(OBJCOPY) -g \
|
||||||
$(OBJCOPY) -g \
|
--add-gnu-debuglink=$(DBG_DLL_NAME) \
|
||||||
--keep-section=.gnu_debuglink_overlay \
|
$(PRE_DLL_NAME) $(NEW_DLL_NAME)
|
||||||
--add-gnu-debuglink=$(DBG_DLL_NAME) \
|
|
||||||
$(PRE_DLL_NAME) $${TMP_DLL_NAME} && \
|
|
||||||
vma=$$( objdump --headers $${TMP_DLL_NAME} | \
|
|
||||||
awk '/.gnu_debuglink_overlay/{print $$4;}' ) && \
|
|
||||||
$(OBJCOPY) -R .gnu_debuglink_overlay \
|
|
||||||
--change-section-address .gnu_debuglink=0x$${vma} \
|
|
||||||
--set-section-flag .gnu_debuglink=contents,readonly,debug,noload \
|
|
||||||
$${TMP_DLL_NAME} $(NEW_DLL_NAME) && \
|
|
||||||
rm $${TMP_DLL_NAME}
|
|
||||||
|
|
||||||
# cygwin import library
|
# cygwin import library
|
||||||
toolopts=--cpu=@target_cpu@ --ar=@AR@ --as=@AS@ --nm=@NM@ --objcopy=@OBJCOPY@
|
toolopts=--cpu=@target_cpu@ --ar=@AR@ --as=@AS@ --nm=@NM@ --objcopy=@OBJCOPY@
|
||||||
|
|
|
@ -116,22 +116,6 @@ SECTIONS
|
||||||
*(.rsrc)
|
*(.rsrc)
|
||||||
*(SORT(.rsrc$*))
|
*(SORT(.rsrc$*))
|
||||||
}
|
}
|
||||||
.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 */
|
|
||||||
}
|
|
||||||
/DISCARD/ :
|
/DISCARD/ :
|
||||||
{
|
{
|
||||||
*(.debug$S)
|
*(.debug$S)
|
||||||
|
|
Loading…
Reference in New Issue