PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
eefixconf.c
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright ps2dev - http://www.ps2dev.org
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
11#include "srxfixup_internal.h"
12
13// clang-format off
14const char *ee_defaultconf =
15 " @EE\n"
16 " .reginfo { @remove }\n"
17 "\n"
18 " # Elf-header\n"
19 " # Program-header-table\n"
20 " .eemod\n"
21 "\n"
22 " @Define {\n"
23 " @Segments_name { TEXT DATA BSS GLOBALDATA AFTER_SHT }\n"
24 " @Memory_segment { TEXT DATA BSS GLOBALDATA }\n"
25 " @Program_header_order { .eemod { TEXT DATA BSS } }\n"
26 " @CreateSymbols {\n"
27 " ## name bind type segment shindex base\n"
28 " ## .section\n"
29 " { _ftext GLOBAL OBJECT TEXT 0 start }\n"
30 " { etext GLOBAL OBJECT TEXT SHN_RADDR end }\n"
31 " { _etext GLOBAL OBJECT TEXT SHN_RADDR end }\n"
32 " { _fdata GLOBAL OBJECT DATA 0 start }\n"
33 " { edata GLOBAL OBJECT DATA SHN_RADDR end }\n"
34 " { _edata GLOBAL OBJECT DATA SHN_RADDR end }\n"
35 " { _fbss GLOBAL OBJECT BSS SHN_RADDR start }\n"
36 " { end GLOBAL OBJECT BSS SHN_RADDR end }\n"
37 " { _end GLOBAL OBJECT BSS SHN_RADDR end }\n"
38 " { _gp GLOBAL OBJECT GLOBALDATA SHN_RADDR gpbase }\n"
39 " }\n"
40 " }\n"
41 "\n"
42 " # TEXT segment\n"
43 " .init { @segment {TEXT} } .rel.init { @segment {AFTER_SHT} }\n"
44 " .text { @segment {TEXT} @createinfo{PROGBITS ALLOC EXECINSTR}}\n"
45 " .rel.text{ @segment {AFTER_SHT} }\n"
46 " .gnu.linkonce.t* { @segment {TEXT} }\n"
47 " .rel.gnu.linkonce.t* { @segment {AFTER_SHT} }\n"
48 " .fini { @segment {TEXT} } .rel.fini { @segment {AFTER_SHT} }\n"
49 " .vutext { @segment {TEXT} } .rel.vutext { @segment {AFTER_SHT} }\n"
50 "\n"
51 " # DATA segment\n"
52 " .ctors { @segment {DATA} } .rel.ctors { @segment {AFTER_SHT} }\n"
53 " .dtors { @segment {DATA} } .rel.dtors { @segment {AFTER_SHT} }\n"
54 " .eh_frame { @segment {DATA} } .rel.eh_frame { @segment {AFTER_SHT} }\n"
55 " .gcc_except_table { @segment {DATA} } .rel.gcc_except_table { @segment {AFTER_SHT} }\n"
56 " .erx.lib { @segment {DATA} } .rel.erx.lib { @segment {AFTER_SHT} }\n"
57 " .erx.stub{ @segment {DATA} } .rel.erx.stub { @segment {AFTER_SHT} }\n"
58 " .rodata { @segment {DATA} } .rel.rodata { @segment {AFTER_SHT} }\n"
59 " .rodata1 { @segment {DATA} } .rel.rodata1 { @segment {AFTER_SHT} }\n"
60 " .gnu.linkonce.r* { @segment {DATA} }\n"
61 " .rel.gnu.linkonce.r* { @segment {AFTER_SHT} }\n"
62 " .data { @segment {DATA} @createinfo {PROGBITS ALLOC WRITE} }\n"
63 " .rel.data{ @segment {AFTER_SHT} }\n"
64 " .data1 { @segment {DATA} } .rel.data1 { @segment {AFTER_SHT} }\n"
65 " .gnu.linkonce.d* { @segment {DATA} }\n"
66 " .rel.gnu.linkonce.d* { @segment {AFTER_SHT} }\n"
67 " .vudata { @segment {DATA} } .rel.vudata { @segment {AFTER_SHT} }\n"
68 "\n"
69 " .sdata { @segment {DATA GLOBALDATA} } .rel.sdata {@segment{AFTER_SHT}}\n"
70 " .lit8 { @segment {DATA GLOBALDATA} }\n"
71 " .lit4 { @segment {DATA GLOBALDATA} }\n"
72 " .gnu.linkonce.s* { @segment {DATA GLOBALDATA} }\n"
73 " .rel.gnu.linkonce.s* { @segment {AFTER_SHT} }\n"
74 "\n"
75 " # BSS segment\n"
76 " .sbss { @segment { BSS GLOBALDATA } }\n"
77 " .bss { @segment { BSS } }\n"
78 " .vubss { @segment { BSS } }\n"
79 "\n"
80 " @Program_header_data { 1 }\n"
81 "\n"
82 " .mdebug\n"
83 " .shstrtab\n"
84 "\n"
85 " @Section_header_table\n"
86 " @Segment_data { AFTER_SHT }\n"
87 "\n"
88 " .mdebug.* { @remove }\n"
89 " .DVP.* { @remove }\n"
90 " .rel.DVP.* { @remove }\n"
91 " .jcr { @remove }\n"
92 " .rel.jcr { @remove }\n"
93 " .rela.* { @remove }\n"
94 "\n"
95 " .symtab\n"
96 " .strtab\n"
97 " * ##### other sections\n"
98 "\n"
99 ""
100;
101// clang-format on