/*
 *  MIPS32 linker script
 *  
 *  kernel text
 *  kernel data
 *  
 */
#undef mips
#define mips mips

OUTPUT_ARCH(mips)

ENTRY(kernel_image_start) 

SECTIONS {
	. = KERNEL_LOAD_ADDRESS;
	.text : {
		ktext_start = .;
		*(.text);
		ktext_end = .;
	}
	.data : {
		kdata_start = .;
		*(.data);		/* initialized data */
		hardcoded_ktext_size = .;
		LONG(ktext_end - ktext_start);	
		hardcoded_kdata_size = .;
		LONG(kdata_end - kdata_start);
		hardcoded_load_address = .;
		LONG(KERNEL_LOAD_ADDRESS);
		*(.rodata*);
		*(.sdata);
		*(.reginfo);
		/* Unfortunately IRIX does not allow us
	         * to include this as a last section :-(
		 * BSS/SBSS addresses will be wrong */
		symbol_table = .;
		*(symtab.*);             
	}
	_gp = . + 0x8000;
	.lit8 : { *(.lit8) }
	.lit4 : { *(.lit4) }
	.sbss : {
		*(.sbss);
		*(.scommon);
	}
	.bss : {
		*(.bss);		/* uninitialized static variables */
		*(COMMON); 		/* global variables */
	}

	kdata_end = .;

	/DISCARD/ : {
	  *(.mdebug*);
	  *(.pdr);
	  *(.comment);
	  *(.note);
	}
}
