mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 06:17:47 +08:00
* scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of
the import list.
This commit is contained in:
18
ld/ChangeLog
18
ld/ChangeLog
@ -1,3 +1,19 @@
|
|||||||
|
Fri Jun 6 23:47:42 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of
|
||||||
|
the import list.
|
||||||
|
|
||||||
|
Thu May 29 13:13:22 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Don't
|
||||||
|
crash if an output section has no BFD section.
|
||||||
|
|
||||||
|
Fri May 23 15:23:25 1997 Fred Fish <fnf@cygnus.com>
|
||||||
|
|
||||||
|
* lexsup.c (ld_options): Add entry for the new "task-link" option.
|
||||||
|
(parse_args): Handle the "task-link" option.
|
||||||
|
(OPTION_TASK_LINK): Add define.
|
||||||
|
|
||||||
Wed May 21 17:44:15 1997 Ian Lance Taylor <ian@cygnus.com>
|
Wed May 21 17:44:15 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
* ldmain.c (main): Correct check of fclose return value when
|
* ldmain.c (main): Correct check of fclose return value when
|
||||||
@ -5,7 +21,7 @@ Wed May 21 17:44:15 1997 Ian Lance Taylor <ian@cygnus.com>
|
|||||||
|
|
||||||
Thu May 15 11:35:29 1997 Nick Clifton <nickc@cygnus.com>
|
Thu May 15 11:35:29 1997 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
* ldlang.c (lang_check): Add test of the return value from the
|
* ldlang.c (lang_check): Add test of the return value from the
|
||||||
call to bfd_merge_private_bfd_data().
|
call to bfd_merge_private_bfd_data().
|
||||||
|
|
||||||
Mon May 12 23:22:58 1997 Ian Lance Taylor <ian@cygnus.com>
|
Mon May 12 23:22:58 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
# Linker script for PE.
|
# Linker script for PE.
|
||||||
# These are substituted in as variables in order to get '}' in a shell
|
|
||||||
# conditional expansion.
|
|
||||||
INIT='.init : { *(.init) }'
|
|
||||||
FINI='.fini : { *(.fini) }'
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
OUTPUT_FORMAT(${OUTPUT_FORMAT})
|
OUTPUT_FORMAT(${OUTPUT_FORMAT})
|
||||||
${LIB_SEARCH_DIRS}
|
${LIB_SEARCH_DIRS}
|
||||||
@ -11,95 +8,92 @@ ENTRY(_mainCRTStartup)
|
|||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
|
||||||
.text ${RELOCATING+ __image_base__ + __section_alignment__ } :
|
.text ${RELOCATING+ __image_base__ + __section_alignment__ } :
|
||||||
{
|
{
|
||||||
${RELOCATING+ *(.init);}
|
${RELOCATING+ *(.init)}
|
||||||
*(.text)
|
*(.text)
|
||||||
${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
|
${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
|
||||||
LONG (-1); *(.ctors); *(.ctor); LONG (0); }
|
LONG (-1); *(.ctors); *(.ctor); LONG (0); }
|
||||||
${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
|
${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
|
||||||
LONG (-1); *(.dtors); *(.dtor); LONG (0); }
|
LONG (-1); *(.dtors); *(.dtor); LONG (0); }
|
||||||
${RELOCATING+ *(.fini);}
|
${RELOCATING+ *(.fini)}
|
||||||
${RELOCATING+ *(.gcc_exc);}
|
/* ??? Why is .gcc_exc here? */
|
||||||
${RELOCATING+ etext = .};
|
${RELOCATING+ *(.gcc_exc)}
|
||||||
}
|
${RELOCATING+ etext = .;}
|
||||||
|
/* Grouped section support currently must be explicitly provided for
|
||||||
|
in the linker script. */
|
||||||
|
*(.text\$)
|
||||||
|
*(.gcc_except_table)
|
||||||
|
}
|
||||||
|
|
||||||
.bss BLOCK(__section_alignment__) :
|
.bss BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
__bss_start__ = . ;
|
__bss_start__ = . ;
|
||||||
*(.bss) ;
|
*(.bss)
|
||||||
*(COMMON);
|
*(COMMON)
|
||||||
__bss_end__ = . ;
|
__bss_end__ = . ;
|
||||||
}
|
}
|
||||||
.data BLOCK(__section_alignment__) :
|
.data BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
__data_start__ = . ;
|
__data_start__ = . ;
|
||||||
*(.data);
|
*(.data)
|
||||||
*(.data2);
|
*(.data2)
|
||||||
__data_end__ = . ;
|
__data_end__ = . ;
|
||||||
}
|
/* Grouped section support currently must be explicitly provided for
|
||||||
|
in the linker script. */
|
||||||
|
*(.data\$)
|
||||||
|
}
|
||||||
|
|
||||||
.rdata BLOCK(__section_alignment__) :
|
.rdata BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
*(.rdata)
|
*(.rdata)
|
||||||
;
|
/* Grouped section support currently must be explicitly provided for
|
||||||
|
in the linker script. */
|
||||||
|
*(.rdata\$)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.edata BLOCK(__section_alignment__) :
|
||||||
|
{
|
||||||
.edata BLOCK(__section_alignment__) : {
|
*(.edata)
|
||||||
*(.edata) ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/DISCARD/ BLOCK(__section_alignment__) :
|
||||||
/DISCARD/ BLOCK(__section_alignment__) : {
|
{
|
||||||
*(.debug\$S)
|
*(.debug\$S)
|
||||||
*(.debug\$T)
|
*(.debug\$T)
|
||||||
*(.debug\$F)
|
*(.debug\$F)
|
||||||
*(.drectve)
|
*(.drectve)
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.idata BLOCK(__section_alignment__) :
|
.idata BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
|
/* This cannot currently be handled with grouped sections.
|
||||||
|
See pe.em:sort_sections. */
|
||||||
*(.idata\$2)
|
*(.idata\$2)
|
||||||
*(.idata\$3)
|
*(.idata\$3)
|
||||||
|
${RELOCATING+ /* These zeroes mark the end of the import list. */}
|
||||||
|
${RELOCATING+ LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);}
|
||||||
*(.idata\$4)
|
*(.idata\$4)
|
||||||
*(.idata\$5)
|
*(.idata\$5)
|
||||||
*(.idata\$6)
|
*(.idata\$6)
|
||||||
*(.idata\$7)
|
*(.idata\$7)
|
||||||
;
|
|
||||||
}
|
}
|
||||||
.CRT BLOCK(__section_alignment__) :
|
.CRT BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
*(.CRT\$XCA)
|
/* Grouped sections are used to handle .CRT\$foo. */
|
||||||
*(.CRT\$XCC)
|
*(.CRT\$)
|
||||||
*(.CRT\$XCZ)
|
|
||||||
*(.CRT\$XIA)
|
|
||||||
*(.CRT\$XIC)
|
|
||||||
*(.CRT\$XIZ)
|
|
||||||
*(.CRT\$XLA)
|
|
||||||
*(.CRT\$XLZ)
|
|
||||||
*(.CRT\$XPA)
|
|
||||||
*(.CRT\$XPX)
|
|
||||||
*(.CRT\$XPZ)
|
|
||||||
*(.CRT\$XTA)
|
|
||||||
*(.CRT\$XTZ)
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
.rsrc BLOCK(__section_alignment__) :
|
.rsrc BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
*(.rsrc\$01)
|
/* Grouped sections are used to handle .rsrc\$0[12]. */
|
||||||
*(.rsrc\$02)
|
*(.rsrc\$)
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.endjunk BLOCK(__section_alignment__) :
|
.endjunk BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
/* end is deprecated, don't use it */
|
/* end is deprecated, don't use it */
|
||||||
${RELOCATING+ end = .};
|
${RELOCATING+ end = .;}
|
||||||
${RELOCATING+ __end__ = .};
|
${RELOCATING+ __end__ = .;}
|
||||||
}
|
}
|
||||||
|
|
||||||
.stab BLOCK(__section_alignment__) ${RELOCATING+(NOLOAD)} :
|
.stab BLOCK(__section_alignment__) ${RELOCATING+(NOLOAD)} :
|
||||||
@ -112,13 +106,9 @@ SECTIONS
|
|||||||
[ .stabstr ]
|
[ .stabstr ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.reloc BLOCK(__section_alignment__) :
|
.reloc BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
*(.reloc)
|
*(.reloc)
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
Reference in New Issue
Block a user