Subversion Repositories HelenOS

Rev

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

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