Subversion Repositories HelenOS

Rev

Rev 3913 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3913 Rev 4687
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
 
8
 
9
#undef mips
9
#undef mips
10
#define mips mips
10
#define mips mips
11
 
11
 
12
#define KERNEL_LOAD_ADDRESS 0x80100000
12
#define KERNEL_LOAD_ADDRESS 0x80100000
13
 
13
 
14
OUTPUT_ARCH(mips)
14
OUTPUT_ARCH(mips)
15
ENTRY(kernel_image_start)
15
ENTRY(kernel_image_start)
16
 
16
 
17
SECTIONS {
17
SECTIONS {
18
	. = KERNEL_LOAD_ADDRESS;
18
	. = KERNEL_LOAD_ADDRESS;
19
	.text : {
19
	.text : {
20
		ktext_start = .;
20
		ktext_start = .;
21
		*(.text);
21
		*(.text);
22
		ktext_end = .;
22
		ktext_end = .;
23
	}
23
	}
24
	.data : {
24
	.data : {
25
		kdata_start = .;
25
		kdata_start = .;
26
		*(.data);                       /* initialized data */
26
		*(.data);                       /* initialized data */
27
		hardcoded_ktext_size = .;
27
		hardcoded_ktext_size = .;
28
		LONG(ktext_end - ktext_start);
28
		LONG(ktext_end - ktext_start);
29
		hardcoded_kdata_size = .;
29
		hardcoded_kdata_size = .;
30
		LONG(kdata_end - kdata_start);
30
		LONG(kdata_end - kdata_start);
31
		hardcoded_load_address = .;
31
		hardcoded_load_address = .;
32
		LONG(KERNEL_LOAD_ADDRESS);
32
		LONG(KERNEL_LOAD_ADDRESS);
33
		*(.rodata*);
33
		*(.rodata*);
34
		*(.sdata);
34
		*(.sdata);
35
		*(.reginfo);
35
		*(.reginfo);
36
		*(.sbss);
36
		*(.sbss);
37
		*(.scommon);
37
		*(.scommon);
38
		*(.bss);                        /* uninitialized static variables */
38
		*(.bss);                        /* uninitialized static variables */
39
		*(COMMON);                      /* global variables */
39
		*(COMMON);                      /* global variables */
40
		symbol_table = .;
40
		symbol_table = .;
41
		*(symtab.*);
41
		*(symtab.*);
42
	}
42
	}
43
	_gp = . + 0x8000;
43
	_gp = . + 0x8000;
44
	.lit8 : { *(.lit8) }
44
	.lit8 : { *(.lit8) }
45
	.lit4 : { *(.lit4) }
45
	.lit4 : { *(.lit4) }
46
	
46
	
47
	kdata_end = .;
47
	kdata_end = .;
48
	
48
	
49
	/DISCARD/ : {
49
	/DISCARD/ : {
50
		*(.mdebug*);
50
		*(.mdebug*);
51
		*(.pdr);
51
		*(.pdr);
52
		*(.comment);
52
		*(.comment);
53
		*(.note);
53
		*(.note);
54
	}
54
	}
55
}
55
}
56
 
56