mirror of
				https://github.com/marqs85/ossc
				synced 2025-10-31 07:56:03 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			136 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| SEARCH_DIR(.)
 | |
| __DYNAMIC  =  0;
 | |
| 
 | |
| MEMORY
 | |
| {
 | |
|     dataram    : ORIGIN = 0x00010000, LENGTH = 0xa000
 | |
| }
 | |
| 
 | |
| /* Stack information variables */
 | |
| _min_stack      = 0x400;   /* 1K - minimum stack space to reserve */
 | |
| _stack_start   = ORIGIN(dataram) + LENGTH(dataram);
 | |
| 
 | |
| /* We have to align each sector to word boundaries as our current s19->slm
 | |
|  * conversion scripts are not able to handle non-word aligned sections. */
 | |
| 
 | |
| SECTIONS
 | |
| {
 | |
|     .vectors :
 | |
|     {
 | |
|         . = ALIGN(4);
 | |
|         KEEP(*(.vectors))
 | |
|     } > dataram
 | |
| 
 | |
|     .text : {
 | |
|         . = ALIGN(4);
 | |
|         _stext = .;
 | |
|         *(.text)
 | |
|         *(.text.*)
 | |
|         _etext  =  .;
 | |
|         __CTOR_LIST__ = .;
 | |
|         LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
 | |
|         *(.ctors)
 | |
|         LONG(0)
 | |
|         __CTOR_END__ = .;
 | |
|         __DTOR_LIST__ = .;
 | |
|         LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
 | |
|         *(.dtors)
 | |
|         LONG(0)
 | |
|         __DTOR_END__ = .;
 | |
|         *(.lit)
 | |
|         *(.shdata)
 | |
|         _endtext = .;
 | |
|     }  > dataram
 | |
| 
 | |
|     /*--------------------------------------------------------------------*/
 | |
|     /* Global constructor/destructor segement                             */
 | |
|     /*--------------------------------------------------------------------*/
 | |
| 
 | |
|     .preinit_array     :
 | |
|     {
 | |
|       PROVIDE_HIDDEN (__preinit_array_start = .);
 | |
|       KEEP (*(.preinit_array))
 | |
|       PROVIDE_HIDDEN (__preinit_array_end = .);
 | |
|     } > dataram
 | |
| 
 | |
|     .init_array     :
 | |
|     {
 | |
|       PROVIDE_HIDDEN (__init_array_start = .);
 | |
|       KEEP (*(SORT(.init_array.*)))
 | |
|       KEEP (*(.init_array ))
 | |
|       PROVIDE_HIDDEN (__init_array_end = .);
 | |
|     } > dataram
 | |
| 
 | |
|     .fini_array     :
 | |
|     {
 | |
|       PROVIDE_HIDDEN (__fini_array_start = .);
 | |
|       KEEP (*(SORT(.fini_array.*)))
 | |
|       KEEP (*(.fini_array ))
 | |
|       PROVIDE_HIDDEN (__fini_array_end = .);
 | |
|     } > dataram
 | |
| 
 | |
|     .rodata : {
 | |
|         . = ALIGN(4);
 | |
|         *(.rodata);
 | |
|         *(.rodata.*)
 | |
|     } > dataram
 | |
| 
 | |
|     .shbss :
 | |
|     {
 | |
|         . = ALIGN(4);
 | |
|         *(.shbss)
 | |
|     } > dataram
 | |
| 
 | |
|     .data : {
 | |
|         . = ALIGN(4);
 | |
|         sdata  =  .;
 | |
|         _sdata  =  .;
 | |
|         *(.data);
 | |
|         *(.data.*)
 | |
|         *(.sdata);
 | |
|         *(.sdata.*)
 | |
|         *(.sdata2);
 | |
|         *(.sdata2.*)
 | |
|         edata  =  .;
 | |
|         _edata  =  .;
 | |
|     } > dataram
 | |
| 
 | |
|     .bss :
 | |
|     {
 | |
|         . = ALIGN(4);
 | |
|         _bss_start = .;
 | |
|         *(.bss)
 | |
|         *(.bss.*)
 | |
|         *(.sbss)
 | |
|         *(.sbss.*)
 | |
|         *(COMMON)
 | |
|         _bss_end = .;
 | |
|     } > dataram
 | |
| 
 | |
|     /* ensure there is enough room for stack */
 | |
|     .stack (NOLOAD): {
 | |
|         . = ALIGN(4);
 | |
|         . = . + _min_stack ;
 | |
|         . = ALIGN(4);
 | |
|         stack = . ;
 | |
|         _stack = . ;
 | |
|     } > dataram
 | |
| 
 | |
|     .stab  0 (NOLOAD) :
 | |
|     {
 | |
|         [ .stab ]
 | |
|     }
 | |
| 
 | |
|     .stabstr  0 (NOLOAD) :
 | |
|     {
 | |
|         [ .stabstr ]
 | |
|     }
 | |
| 
 | |
|     .bss :
 | |
|     {
 | |
|         . = ALIGN(4);
 | |
|         _end = .;
 | |
|     } > dataram
 | |
| }
 | |
| 
 | 
