File:  [RetroPC.NET] / xmil / adv / agb / advlibc / lib / advsys.ls
Revision 1.1: download - view: text, annotated - select for diffs
Fri Feb 4 15:42:09 2005 JST (20 years, 8 months ago) by yui
Branches: MAIN
CVS tags: HEAD
RetroPC CVS restarting 2005/02/04 (T.Yui)

OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
__text_start		= 0x08000000;
mainmem				= 0x02000000;
gram				= 0x02010000;
tram				= 0x0201c000;
pcg					= 0x0201e000;
font_ank			= 0x0201f800;
__ewram_start		= 0x0202c000;
__eheap_end			= 0x02040000;
z80core				= 0x03000000;
dma					= 0x03000040;
z80flag				= 0x03000080;
iocore				= 0x03000380;
crtc				= 0x03000598;
vramupd				= 0x030005e0;
__iwram_start		= 0x03000de0;
__sp_usr			= 0x03008000 - 0x100;
__sp_irq			= 0x03008000 - 0x60;
__intr_vector_buf	= 0x03007ffc;
__sp_usr_offset		= __sp_usr - 0x3000000;
SECTIONS
{
	.text __text_start :
	{
		*(.init)
		*(SORT(.init$*))
		*(.text)
		*(SORT(.text$*))
		*(.gnu.warning)
		*(.gnu.linkonce.t*)
		*(.glue_7)
		*(.glue_7t)
		. = ALIGN(4);
	} = 0xff

	__text_end = .;
	.rodata :
	{
		*(.rodata)
		*all.rodata*(*)
		*(.roda)
		*(.rodata.*)
		*(.gnu.linkonce.r*)
		SORT(CONSTRUCTORS)
		. = ALIGN(4);
	} = 0xff

	.ctors :
	{
		__ctor_list = .;
		LONG (-1);
		*(SORT(.crt0c.*));
		*(SORT(.ctors.*));
		*(.ctors);
		*(.ctor);
		LONG (0);
		. = ALIGN(4);
	} = 0

	.dtors :
	{
		__dtor_list = .;
		LONG (-1);
		*(SORT(.crt0d.*));
		*(SORT(.dtors.*));
		*(.dtors);
		*(.dtor);
		LONG (0);
		. = ALIGN(4);
	} = 0

	.eh_frame :
	{
		KEEP (*(.eh_frame))
		. = ALIGN(4);
	} = 0

	.gcc_except_table :
	{
		*(.gcc_except_table)
		. = ALIGN(4);
	} = 0

	__iwram_lma = ADDR(.text) + SIZEOF(.text) + SIZEOF(.rodata) + SIZEOF(.ctors) + SIZEOF(.dtors) + SIZEOF(.eh_frame) + SIZEOF(.gcc_except_table);
	.iwram __iwram_start : AT (__iwram_lma)
	{
		__iwram_start = ABSOLUTE(.);
		*(.iwdata0)
		*(.iwdata1)
		*(.iwdata2)
		*(.iwdata3)
		*(.iwdata4)
		*(.iwdata5)
		*(.iwram)
		. = ALIGN(4);
	} = 0xff
	__iwram_end = .;

	.bss ALIGN(4) :
	{
		__bss_start = ABSOLUTE(.);
		__bss_start__ = ABSOLUTE(.);
		*(.dynbss)
		*(.gnu.linkonce.b*)
		*(COMMON)
		. = ALIGN(4);
	}
	__bss_end = .;
	__bss_end__ = .;

	__data_lma = ADDR(.text) + SIZEOF(.text) + SIZEOF(.rodata) + SIZEOF(.ctors) + SIZEOF(.dtors) + SIZEOF(.eh_frame) + SIZEOF(.gcc_except_table) + SIZEOF(.iwram);
	.data ALIGN(4) : AT (__data_lma)
	{
		__data_start = ABSOLUTE(.);
		*(.data)
		*(.data.*)
		*(.gnu.linkonce.d*)
		CONSTRUCTORS
		*(.iwram.text)
		. = ALIGN(4);
	} = 0xff
	__data_end  =  .;
	PROVIDE (edata = .);

	__ewram_lma = ADDR(.text) + SIZEOF(.text) + SIZEOF(.rodata) + SIZEOF(.ctors) + SIZEOF(.dtors) + SIZEOF(.eh_frame) + SIZEOF(.gcc_except_table) + SIZEOF(.iwram) + SIZEOF(.data);
	.ewram __ewram_start : AT (__ewram_lma)
	{
		__ewram_start = ABSOLUTE(.);
		*(.ewram)
/*		*(.text)			*/
/*		*(SORT(.text$*))	*/
		. = ALIGN(4);
	} = 0xff
	__ewram_end = .;

	_end = .;
	__end__ = .;
	PROVIDE (end = .);

	__extromimage = ADDR(.text) + SIZEOF(.text) + SIZEOF(.rodata) + SIZEOF(.ctors) + SIZEOF(.dtors) + SIZEOF(.eh_frame) + SIZEOF(.gcc_except_table) + SIZEOF(.iwram) + SIZEOF(.data) + SIZEOF(.ewram);

	__rom_append = ADDR(.text) + SIZEOF(.text) + SIZEOF(.rodata) + SIZEOF(.ctors) + SIZEOF(.dtors) + SIZEOF(.eh_frame) + SIZEOF(.gcc_except_table) + SIZEOF(.iwram) + SIZEOF(.data) + SIZEOF(.ewram) + 0x6a800;

}


RetroPC.NET-CVS <cvs@retropc.net>