aboutsummaryrefslogtreecommitdiff
path: root/src/ps1/playstation.x
blob: 71a4c34c432f519a9f7bd4eef35e620557518a59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*
 * Linker script to generate an ELF file
 * that has to be converted to PS-X EXE.
 */

TARGET("elf32-littlemips")
OUTPUT_ARCH("mips")
ENTRY(_start)
INPUT(-lgcc)

SECTIONS
{
	. = 0x80010000;

	.text ALIGN(4) :
	{
        *(.text.startup)
		*(.text*)
	}

	.rodata ALIGN(4) :
	{
		*(.rodata)
	}

	.data ALIGN(4) :
	{
		 *(.data)
	}

	.ctors ALIGN(4) :
	{
		*(.ctors)
	}

	.dtors ALIGN(4) :
 	{
		*(.dtors)
	}

	.bss  ALIGN(4) :
	{
		*(.bss)
		*(.bss.*)
		*(.gnu.linkonce.b.*)
		*(COMMON)
		*(.sbss)
		*(.sbss.*)
		*(.gnu.linkonce.sb.*)
		*(.scommon)
	}

	__text_start = ADDR(.text);
	__text_end = ADDR(.text) + SIZEOF(.text);

	__rodata_start = ADDR(.rodata);
	__rodata_end = ADDR(.rodata) + SIZEOF(.rodata);

	__data_start = ADDR(.data);
	__data_end = ADDR(.data) + SIZEOF(.data);

	__ctor_list = ADDR(.ctors);
	__ctor_end = ADDR(.ctors) + SIZEOF(.ctors);

	__dtor_list = ADDR(.dtors);
	__dtor_end = ADDR(.dtors) + SIZEOF(.dtors);

	__bss_start = ADDR(.bss);
	__bss_end = ADDR(.bss) + SIZEOF(.bss);

	__ram_end = 0x8020FFFF;

	__scratchpad = 0x1f800000;
}