⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gp32.x

📁 the test file for GP32 gameboy hack
💻 X
字号:
/*//////////////////////////////////////////////////////////////////////////*/
/* GP32.x                                                                   */
/*//////////////////////////////////////////////////////////////////////////*/
/*
	linker script
	thanks to Jeff Frohwein
*/

OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)

MEMORY
{
	ram : ORIGIN = 0x0c000000, LENGTH = 8M
}

SECTIONS
{
	.text :   /* ALIGN (4): */
	{
	    __text_start = . ;

	    *(EXCLUDE_FILE (*text.iwram*) .text)
	    *(.text.*)
	    *(.stub)
	    /* .gnu.warning sections are handled specially by elf32.em.  */
	    *(.gnu.warning)
	    *(.gnu.linkonce.t*)
	    *(.glue_7)
	    *(.glue_7t)
	    . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
	} >ram = 0xff

	__text_end = . ;

	.rodata :
  	{
	    *(.rodata)
	    *all.rodata*(*)
	    *(.roda)
	    *(.rodata.*)
	    *(.gnu.linkonce.r*)
	    SORT(CONSTRUCTORS)
	    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
  	} >ram = 0xff

  	.ctors :
  	{
	    /* gcc uses crtbegin.o to find the start of the constructors, so
	       we make sure it is first.  Because this is a wildcard, it
	       doesn't matter if the user does not actually link against
	       crtbegin.o; the linker won't look for a file to match a
	       wildcard.  The wildcard also means that it doesn't matter which
	       directory crtbegin.o is in.  */
	    KEEP (*crtbegin.o(.ctors))
	    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
	    KEEP (*(SORT(.ctors.*)))
	    KEEP (*(.ctors))
	    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
  	} >ram = 0

  	.dtors :
  	{
	    KEEP (*crtbegin.o(.dtors))
	    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
	    KEEP (*(SORT(.dtors.*)))
	    KEEP (*(.dtors))
	    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
  	} >ram = 0

  	.eh_frame :
  	{
	    KEEP (*(.eh_frame))
	    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
  	} >ram = 0

  	.gcc_except_table :
  	{
	    *(.gcc_except_table)
	    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
  	} >ram = 0
  	__ro_end = . ;

  	.data ALIGN(4) :
  	{
	    __data_start = ABSOLUTE(.);
	    *(.data)
	    *(.data.*)
	    *(.gnu.linkonce.d*)
	    CONSTRUCTORS
	    . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
  	} >ram = 0xff

  	__data_end  =  . ;

  	.bss ALIGN(4) :
  	{
	   __bss_start = ABSOLUTE(.);
	   /* __bss_start__ = ABSOLUTE(.); */
	   *(.dynbss)
	   *(.gnu.linkonce.b*)
	   *(COMMON)
	   . = ALIGN(4);    /* REQUIRED. LD is flaky without it. */
  	} > ram
  	__bss_end = . ;

 	__eheap_start = . ; /* Needed by DevKitAdvance. Start of malloc() heap for DKA. */

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

  	/* 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 debug sections.
     	Symbols in the DWARF debugging sections are relative to the beginning
     	of the section so we begin them at 0.  */
  	/* DWARF 1 */
	.debug          0 : { *(.debug) }
	.line           0 : { *(.line) }
	/* GNU DWARF 1 extensions */
	.debug_srcinfo  0 : { *(.debug_srcinfo) }
	.debug_sfnames  0 : { *(.debug_sfnames) }
	/* DWARF 1.1 and DWARF 2 */
	.debug_aranges  0 : { *(.debug_aranges) }
	.debug_pubnames 0 : { *(.debug_pubnames) }
	/* DWARF 2 */
	.debug_info     0 : { *(.debug_info) }
	.debug_abbrev   0 : { *(.debug_abbrev) }
	.debug_line     0 : { *(.debug_line) }
	.debug_frame    0 : { *(.debug_frame) }
	.debug_str      0 : { *(.debug_str) }
	.debug_loc      0 : { *(.debug_loc) }
	.debug_macinfo  0 : { *(.debug_macinfo) }
	/* SGI/MIPS DWARF 2 extensions */
	.debug_weaknames 0 : { *(.debug_weaknames) }
	.debug_funcnames 0 : { *(.debug_funcnames) }
	.debug_typenames 0 : { *(.debug_typenames) }
	.debug_varnames  0 : { *(.debug_varnames) }
	.stack 0x80000 : { _stack = .; *(.stack) }
	/* These must appear regardless of  .  */
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -