Subversion Repositories HelenOS

Rev

Rev 3022 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3022 Rev 4055
Line 1... Line 1...
1
/*
1
/*
2
 *  ARM linker script
2
 * ARM linker script
3
 *  
3
 *
4
 *  kernel text
4
 *  kernel text
5
 *  kernel data
5
 *  kernel data
6
 *  
6
 *
7
 */
7
 */
8
 
8
 
9
OUTPUT_ARCH(arm)
-
 
10
ENTRY(kernel_image_start) 
9
#define KERNEL_LOAD_ADDRESS 0x80200000
11
 
10
 
-
 
11
OUTPUT_ARCH(arm)
-
 
12
ENTRY(kernel_image_start)
12
 
13
 
13
SECTIONS {
14
SECTIONS {
14
	. = KERNEL_LOAD_ADDRESS;
15
	. = KERNEL_LOAD_ADDRESS;
15
	.text : {
16
	.text : {
16
		ktext_start = .;
17
		ktext_start = .;
17
		*(.text);
18
		*(.text);
18
		ktext_end = .;
19
		ktext_end = .;
19
	}
20
	}
20
	.data : {
21
	.data : {
21
		kdata_start = .;
22
		kdata_start = .;
22
		*(.data);		/* initialized data */
23
		*(.data);                       /* initialized data */
23
		hardcoded_ktext_size = .;
24
		hardcoded_ktext_size = .;
24
		LONG(ktext_end - ktext_start);	
25
		LONG(ktext_end - ktext_start);
25
		hardcoded_kdata_size = .;
26
		hardcoded_kdata_size = .;
26
		LONG(kdata_end - kdata_start);
27
		LONG(kdata_end - kdata_start);
27
		hardcoded_load_address = .;
28
		hardcoded_load_address = .;
28
		LONG(KERNEL_LOAD_ADDRESS);
29
		LONG(KERNEL_LOAD_ADDRESS);
29
		*(.bss);		/* uninitialized static variables */
30
		*(.bss);                        /* uninitialized static variables */
30
		*(COMMON); 		/* global variables */
31
		*(COMMON);                      /* global variables */
31
 
32
		
32
		*(.rodata*);
33
		*(.rodata*);
33
		*(.sdata);
34
		*(.sdata);
34
		*(.reginfo);
35
		*(.reginfo);
35
		symbol_table = .;
36
		symbol_table = .;
36
		*(symtab.*);             
37
		*(symtab.*);
37
	}
38
	}
38
	.sbss : {
39
	.sbss : {
39
		*(.sbss);
40
		*(.sbss);
40
		*(.scommon);
41
		*(.scommon);
41
	}
42
	}
42
 
43
	
43
	kdata_end = .;
44
	kdata_end = .;
44
 
45
	
45
	/DISCARD/ : {
46
	/DISCARD/ : {
46
	  *(.mdebug*);
47
	  *(.mdebug*);
47
	  *(.pdr);
48
	  *(.pdr);
48
	  *(.comment);
49
	  *(.comment);
49
	  *(.note);
50
	  *(.note);
50
	}
51
	}
51
 
-
 
52
}
52
}