Subversion Repositories HelenOS-historic

Rev

Rev 457 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 457 Rev 461
1
/*
1
/*
2
 *  MIPS32 linker script
2
 *  MIPS32 linker script
3
 *  
3
 *  
4
 *  kernel text
4
 *  kernel text
5
 *  kernel data
5
 *  kernel data
6
 *  
6
 *  
7
 */
7
 */
8
#undef mips
8
#undef mips
9
#define mips mips
9
#define mips mips
10
 
10
 
11
OUTPUT_FORMAT(BFD)
-
 
12
OUTPUT_ARCH(mips)
11
OUTPUT_ARCH(mips)
13
 
12
 
14
ENTRY(kernel_image_start) 
13
ENTRY(kernel_image_start) 
15
 
14
 
16
SECTIONS {
15
SECTIONS {
17
	. = KERNEL_LOAD_ADDRESS;
16
	. = KERNEL_LOAD_ADDRESS;
18
	.text : {
17
	.text : {
19
		ktext_start = .;
18
		ktext_start = .;
20
		*(.text);
19
		*(.text);
21
		ktext_end = .;
20
		ktext_end = .;
22
	}
21
	}
23
	.data : {
22
	.data : {
24
		kdata_start = .;
23
		kdata_start = .;
25
		*(.data);		/* initialized data */
24
		*(.data);		/* initialized data */
26
		hardcoded_ktext_size = .;
25
		hardcoded_ktext_size = .;
27
		LONG(ktext_end - ktext_start);	
26
		LONG(ktext_end - ktext_start);	
28
		hardcoded_kdata_size = .;
27
		hardcoded_kdata_size = .;
29
		LONG(kdata_end - kdata_start);
28
		LONG(kdata_end - kdata_start);
30
		hardcoded_load_address = .;
29
		hardcoded_load_address = .;
31
		LONG(KERNEL_LOAD_ADDRESS);
30
		LONG(KERNEL_LOAD_ADDRESS);
32
		*(.rodata*);
31
		*(.rodata*);
33
		*(.sdata);
32
		*(.sdata);
34
		*(.reginfo);
33
		*(.reginfo);
35
		/* Unfortunately IRIX does not allow us
34
		/* Unfortunately IRIX does not allow us
36
	         * to include this as a last section :-(
35
	         * to include this as a last section :-(
37
		 * BSS/SBSS addresses will be wrong */
36
		 * BSS/SBSS addresses will be wrong */
38
		symbol_table = .;
37
		symbol_table = .;
39
		*(symtab.*);             
38
		*(symtab.*);             
40
	}
39
	}
41
	_gp = . + 0x8000;
40
	_gp = . + 0x8000;
42
	.lit8 : { *(.lit8) }
41
	.lit8 : { *(.lit8) }
43
	.lit4 : { *(.lit4) }
42
	.lit4 : { *(.lit4) }
44
	.sbss : {
43
	.sbss : {
45
		*(.sbss);
44
		*(.sbss);
46
		*(.scommon);
45
		*(.scommon);
47
	}
46
	}
48
	.bss : {
47
	.bss : {
49
		*(.bss);		/* uninitialized static variables */
48
		*(.bss);		/* uninitialized static variables */
50
		*(COMMON); 		/* global variables */
49
		*(COMMON); 		/* global variables */
51
	}
50
	}
52
 
51
 
53
	kdata_end = .;
52
	kdata_end = .;
54
 
53
 
55
	/DISCARD/ : {
54
	/DISCARD/ : {
56
	  *(.mdebug*);
55
	  *(.mdebug*);
57
	  *(.pdr);
56
	  *(.pdr);
58
	  *(.comment);
57
	  *(.comment);
59
	  *(.note);
58
	  *(.note);
60
	}
59
	}
61
}
60
}
62
 
61