@@ -52,23 +52,64 @@ SECTIONS
5252 *(.dport .rodata )
5353 _dport0_rodata_end = ABSOLUTE (.);
5454 } >dport0_0_seg :dport0_0_phdr
55-
55+
5656 .dport0.literal : ALIGN (4 )
5757 {
5858 _dport0_literal_start = ABSOLUTE (.);
5959 *(.dport0 .literal )
6060 *(.dport .literal )
6161 _dport0_literal_end = ABSOLUTE (.);
6262 } >dport0_0_seg :dport0_0_phdr
63-
63+
6464 .dport0.data : ALIGN (4 )
6565 {
6666 _dport0_data_start = ABSOLUTE (.);
6767 *(.dport0 .data )
6868 *(.dport .data )
6969 _dport0_data_end = ABSOLUTE (.);
7070 } >dport0_0_seg :dport0_0_phdr
71-
71+
72+ .irom0.text : ALIGN (4 )
73+ {
74+ _irom0_text_start = ABSOLUTE (.);
75+ *(.irom0 .literal .irom .literal .irom .text .literal .irom0 .text .irom .text )
76+ *py*.o *(.literal * .text *)
77+ *gccollect.o *(.literal * .text *)
78+ *gchelper.o *(.literal * .text *)
79+ _irom0_text_end = ABSOLUTE (.);
80+ } >irom0_0_seg :irom0_0_phdr
81+
82+ .text : ALIGN (4 )
83+ {
84+ _stext = .;
85+ _text_start = ABSOLUTE (.);
86+ *(.entry .text )
87+ *(.init .literal )
88+ *(.init )
89+ *(.literal .text .literal .* .text .* .stub .gnu .warning .gnu .linkonce .literal .* .gnu .linkonce .t .*.literal .gnu .linkonce .t .*)
90+ *(.fini .literal )
91+ *(.fini )
92+ *(.gnu .version )
93+ *qstr.o (.rodata .const_pool )
94+ *.o (.rodata .mp_type_ *)
95+ /*
96+ can't put these here for some reason...
97+ *builtin.o(.rodata.mp_builtin_*_obj)
98+ *parse.o(.rodata.rule_*)
99+ */
100+ _text_end = ABSOLUTE (.);
101+ _etext = .;
102+ } >iram1_0_seg :iram1_0_phdr
103+
104+ .lit4 : ALIGN (4 )
105+ {
106+ _lit4_start = ABSOLUTE (.);
107+ *(*.lit4 )
108+ *(.lit4 .*)
109+ *(.gnu .linkonce .lit4 .*)
110+ _lit4_end = ABSOLUTE (.);
111+ } >iram1_0_seg :iram1_0_phdr
112+
72113 .data : ALIGN (4 )
73114 {
74115 _data_start = ABSOLUTE (.);
@@ -85,7 +126,7 @@ SECTIONS
85126 *(.jcr )
86127 _data_end = ABSOLUTE (.);
87128 } >dram0_0_seg :dram0_0_phdr
88-
129+
89130 .rodata : ALIGN (4 )
90131 {
91132 _rodata_start = ABSOLUTE (.);
@@ -123,7 +164,7 @@ SECTIONS
123164 _bss_table_end = ABSOLUTE (.);
124165 _rodata_end = ABSOLUTE (.);
125166 } >dram0_0_seg :dram0_0_phdr
126-
167+
127168 .bss ALIGN (8 ) (NOLOAD) : ALIGN (4 )
128169 {
129170 . = ALIGN (8 );
@@ -145,38 +186,6 @@ SECTIONS
145186 _bss_end = ABSOLUTE (.);
146187 _heap_start = ABSOLUTE (.);
147188 } >dram0_0_seg :dram0_0_bss_phdr
148-
149- .irom0.text : ALIGN (4 )
150- {
151- _irom0_text_start = ABSOLUTE (.);
152- *(.irom0 .literal .irom .literal .irom .text .literal .irom0 .text .irom .text )
153- *py*.o *(.literal * .text *)
154- _irom0_text_end = ABSOLUTE (.);
155- } >irom0_0_seg :irom0_0_phdr
156-
157- .text : ALIGN (4 )
158- {
159- _stext = .;
160- _text_start = ABSOLUTE (.);
161- *(.entry .text )
162- *(.init .literal )
163- *(.init )
164- *(.literal .text .literal .* .text .* .stub .gnu .warning .gnu .linkonce .literal .* .gnu .linkonce .t .*.literal .gnu .linkonce .t .*)
165- *(.fini .literal )
166- *(.fini )
167- *(.gnu .version )
168- _text_end = ABSOLUTE (.);
169- _etext = .;
170- } >iram1_0_seg :iram1_0_phdr
171-
172- .lit4 : ALIGN (4 )
173- {
174- _lit4_start = ABSOLUTE (.);
175- *(*.lit4 )
176- *(.lit4 .*)
177- *(.gnu .linkonce .lit4 .*)
178- _lit4_end = ABSOLUTE (.);
179- } >iram1_0_seg :iram1_0_phdr
180189}
181190
182191/* get ROM code address */
0 commit comments