binutils-gdb/ld/scripttempl/ip2k.sc
H.J. Lu 34734a010b Include compressed DWARF debug sections in ELF linker scripts.
binutils/testsuite/

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* binutils-all/libdw2.out: Also accept MIPS_DWARF.

ld/

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* scripttempl/armbpabi.sc: Include compressed DWARF debug
	sections.
	* scripttempl/avr.sc: Likewise.
	* scripttempl/elf32cr16.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/elf32msp430.sc: Likewise.
	* scripttempl/elf32msp430_3.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/ip2k.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/mmo.sc: Likewise.
	* scripttempl/v850.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.

ld/testsuite/

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/compress1a.d: Also check MIPS_DWARF.
	* ld-elf/compress1b.d: Likewise.
	* ld-elf/compress1c.d: Likewise.
2010-11-02 13:47:44 +00:00

151 lines
4.3 KiB
Scala

cat << EOF
OUTPUT_FORMAT("elf32-ip2k", "elf32-ip2k", "elf32-ip2k")
OUTPUT_ARCH(ip2k)
${RELOCATING+ENTRY(_start)}
SEARCH_DIR(.);
/* IP2022 default linker script. */
MEMORY
{
D_GPR : org = 0x01000080, len = 128
D_RAM : org = 0x01000100, len = 4K - 256
P_RAM : org = 0x02000000, len = 16K
P_ROM : org = 0x02010000, len = 64K - 32
P_RESET : org = 0x0201FFE0, len = 32
P_CONFIG : org = 0x02020000, len = 128
}
SECTIONS
{
/* Allocated memory end markers
(initialized to start of appropiate memory address). */
__data_end = 0x01000100;
__pram_end = 0x02000000;
__flash_end = 0x02010000;
/* Global general purpose registers in direct addressing range. */
.gpr 0x01000080 :
{
*(.gpr)
} >D_GPR
/* Pre-allocated, pre-initialized data memory. */
__data_run_begin = __data_end;
__data_load_begin = (__flash_end + 1) & 0xFFFFFFFE;
.data __data_run_begin : AT (__data_load_begin)
{
* (.data);
* (.rodata)
} >D_RAM
__data_run_end = __data_run_begin + SIZEOF(.data);
__data_load_end = __data_load_begin + SIZEOF(.data);
__data_end = __data_run_end;
__flash_end = __data_load_end;
/* Pre-allocated, uninitialized data memory. */
__bss_begin = __data_end;
.bss __bss_begin :
{
* (.bss)
} >D_RAM
__bss_end = __bss_begin + SIZEOF(.bss);
__data_end = __bss_end;
/* Pre-allocated PRAM data memory. */
__pram_data_begin = (__pram_end + 1) & 0xFFFFFFFE;
.pram_data __pram_data_begin :
{
* (.pram_data)
} >P_RAM
__pram_data_end = __pram_data_begin + SIZEOF(.pram_data);
__pram_end = __pram_data_end;
/* PRAM code. */
__pram_run_begin = (__pram_end + 1) & 0xFFFFFFFE;
__pram_load_begin = (__flash_end + 1) & 0xFFFFFFFE;
.pram __pram_run_begin : AT (__pram_load_begin)
{
* (.pram)
} >P_RAM
__pram_run_end = __pram_run_begin + SIZEOF(.pram);
__pram_load_end = __pram_load_begin + SIZEOF(.pram);
__pram_load_shift = ((__pram_run_begin - __pram_load_begin) & 0x1FFFF) | 0x02000000;
__pram_end = __pram_run_end;
__flash_end = __pram_load_end;
/* PRAM overlay code. */
__pram_overlay_run_start = (__pram_end + 1) & 0xFFFFFFFE;
__pram_overlay_load_start = (__flash_end + 1) & 0xFFFFFFFE;
OVERLAY __pram_overlay_run_start : AT (__pram_overlay_load_start)
{
.pram1 { */overlay1/* (.pram); * (.pram1) }
.pram2 { */overlay2/* (.pram); * (.pram2) }
} >P_RAM
__pram_overlay_run_end = .;
__pram_overlay_load_end = __pram_overlay_load_start + SIZEOF(.pram1) + SIZEOF(.pram2);
__pram_end = __pram_overlay_run_end;
__flash_end = __pram_overlay_load_end;
/* Flash code. */
__text_begin = (__flash_end + 1) & 0xFFFFFFFE;
.text __text_begin :
{
* (.text);
* (.text.libgcc)
} >P_ROM = 0xffff
__text_end = __text_begin + SIZEOF(.text);
__flash_end = __text_end;
/* Strings. */
__strings_begin = (__flash_end + 1) & 0xFFFFFFFE;
.strings __strings_begin :
{
* (strings);
* (.progmem.data)
} >P_ROM = 0xffff
__strings_end = __strings_begin + SIZEOF (.strings);
__flash_end = __strings_end;
.ctors : { * (.ctors) } > P_ROM
.dtors : { * (.dtors) } > P_ROM
/* Reset code. */
.reset : { * (.reset) } >P_RESET = 0xffff
/* Configuration block. */
.config : { * (.config) } >P_CONFIG = 0xffff
/* Stack. */
PROVIDE (__stack = 0x01000FFF);
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF 1. */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions. */
.debug_srcinfo 0 : { *(.debug_srcinfo .zdebug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames .zdebug_sfnames) }
/* DWARF 1.1 and DWARF 2. */
.debug_aranges 0 : { *(.debug_aranges .zdebug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames .zdebug_pubnames) }
/* DWARF 2. */
.debug_info 0 : { *(.debug_info${RELOCATING+ .gnu.linkonce.wi.*} .zdebug_info) }
.debug_abbrev 0 : { *(.debug_abbrev .zdebug_abbrev) }
.debug_line 0 : { *(.debug_line .zdebug_line) }
.debug_frame 0 : { *(.debug_frame .zdebug_frame) }
.debug_str 0 : { *(.debug_str .zdebug_str) }
.debug_loc 0 : { *(.debug_loc .zdebug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo .zdebug_macinfo) }
}
EOF