@@ -84,72 +84,6 @@ SECTIONS
84
84
_data_end =ABSOLUTE (.);
85
85
} >dram0_0_seg :dram0_0_phdr
86
86
87
- .rodata :ALIGN (4 )
88
- {
89
- _rodata_start =ABSOLUTE (.);
90
- *(.sdk .version )
91
- *(.rodata )
92
- *(.rodata .*)
93
- *(.gnu .linkonce .r .*)
94
- *(.rodata1 )
95
- __XT_EXCEPTION_TABLE__ =ABSOLUTE (.);
96
- *(.xt_except_table )
97
- *(.gcc_except_table )
98
- *(.gnu .linkonce .e .*)
99
- *(.gnu .version_r )
100
- *(.eh_frame )
101
- . = (. +3 ) & ~3 ;
102
- /* C++ constructor and destructor tables, properly ordered:*/
103
- __init_array_start =ABSOLUTE (.);
104
- KEEP (*crtbegin.o (.ctors ))
105
- KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors ))
106
- KEEP (*(SORT (.ctors .*)))
107
- KEEP (*(.ctors ))
108
- __init_array_end =ABSOLUTE (.);
109
- KEEP (*crtbegin.o (.dtors ))
110
- KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors ))
111
- KEEP (*(SORT (.dtors .*)))
112
- KEEP (*(.dtors ))
113
- /* C++ exception handlers table:*/
114
- __XT_EXCEPTION_DESCS__ =ABSOLUTE (.);
115
- *(.xt_except_desc )
116
- *(.gnu .linkonce .h .*)
117
- __XT_EXCEPTION_DESCS_END__ =ABSOLUTE (.);
118
- *(.xt_except_desc_end )
119
- *(.dynamic )
120
- *(.gnu .version_d )
121
- . =ALIGN (4 );/* this table MUST be 4-byte aligned*/
122
- _bss_table_start =ABSOLUTE (.);
123
- LONG (_bss_start)
124
- LONG (_bss_end)
125
- _bss_table_end =ABSOLUTE (.);
126
- _rodata_end =ABSOLUTE (.);
127
- } >dram0_0_seg :dram0_0_phdr
128
-
129
- .bss ALIGN (8 ) (NOLOAD) :ALIGN (4 )
130
- {
131
- . =ALIGN (8 );
132
- _bss_start =ABSOLUTE (.);
133
- *(.dynsbss )
134
- *(.sbss )
135
- *(.sbss .*)
136
- *(.gnu .linkonce .sb .*)
137
- *(.scommon )
138
- *(.sbss2 )
139
- *(.sbss2 .*)
140
- *(.gnu .linkonce .sb2 .*)
141
- *(.dynbss )
142
- *(.bss )
143
- *(.bss .*)
144
- *(.gnu .linkonce .b .*)
145
- *(COMMON)
146
- . =ALIGN (8 );
147
- _bss_end =ABSOLUTE (.);
148
- _heap_start =ABSOLUTE (.);
149
- /* _stack_sentry = ALIGN(0x8);*/
150
- } >dram0_0_seg :dram0_0_bss_phdr
151
- /* __stack = 0x3ffc8000;*/
152
-
153
87
.irom0.text :ALIGN (4 )
154
88
{
155
89
_irom0_text_start =ABSOLUTE (.);
@@ -231,6 +165,7 @@ SECTIONS
231
165
*(.literal .text .literal .* .text .* .stub .gnu .warning .gnu .linkonce .literal .* .gnu .linkonce .t .*.literal .gnu .linkonce .t .*)
232
166
*.cpp .o (.iram .text )
233
167
*.c .o (.iram .text )
168
+ *(.rodata ._ZTV *)/* C++ vtables*/
234
169
/* PlatformIO*/
235
170
/* framework*/
236
171
*.pioenvs\\*\\lib*.a :(.iram .text )
@@ -249,6 +184,72 @@ SECTIONS
249
184
_etext = .;
250
185
} >iram1_0_seg :iram1_0_phdr
251
186
187
+ .rodata :ALIGN (4 )
188
+ {
189
+ _rodata_start =ABSOLUTE (.);
190
+ *(.sdk .version )
191
+ *(.rodata )
192
+ *(.rodata .*)
193
+ *(.gnu .linkonce .r .*)
194
+ *(.rodata1 )
195
+ __XT_EXCEPTION_TABLE__ =ABSOLUTE (.);
196
+ *(.xt_except_table )
197
+ *(.gcc_except_table )
198
+ *(.gnu .linkonce .e .*)
199
+ *(.gnu .version_r )
200
+ *(.eh_frame )
201
+ . = (. +3 ) & ~3 ;
202
+ /* C++ constructor and destructor tables, properly ordered:*/
203
+ __init_array_start =ABSOLUTE (.);
204
+ KEEP (*crtbegin.o (.ctors ))
205
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors ))
206
+ KEEP (*(SORT (.ctors .*)))
207
+ KEEP (*(.ctors ))
208
+ __init_array_end =ABSOLUTE (.);
209
+ KEEP (*crtbegin.o (.dtors ))
210
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors ))
211
+ KEEP (*(SORT (.dtors .*)))
212
+ KEEP (*(.dtors ))
213
+ /* C++ exception handlers table:*/
214
+ __XT_EXCEPTION_DESCS__ =ABSOLUTE (.);
215
+ *(.xt_except_desc )
216
+ *(.gnu .linkonce .h .*)
217
+ __XT_EXCEPTION_DESCS_END__ =ABSOLUTE (.);
218
+ *(.xt_except_desc_end )
219
+ *(.dynamic )
220
+ *(.gnu .version_d )
221
+ . =ALIGN (4 );/* this table MUST be 4-byte aligned*/
222
+ _bss_table_start =ABSOLUTE (.);
223
+ LONG (_bss_start)
224
+ LONG (_bss_end)
225
+ _bss_table_end =ABSOLUTE (.);
226
+ _rodata_end =ABSOLUTE (.);
227
+ } >dram0_0_seg :dram0_0_phdr
228
+
229
+ .bss ALIGN (8 ) (NOLOAD) :ALIGN (4 )
230
+ {
231
+ . =ALIGN (8 );
232
+ _bss_start =ABSOLUTE (.);
233
+ *(.dynsbss )
234
+ *(.sbss )
235
+ *(.sbss .*)
236
+ *(.gnu .linkonce .sb .*)
237
+ *(.scommon )
238
+ *(.sbss2 )
239
+ *(.sbss2 .*)
240
+ *(.gnu .linkonce .sb2 .*)
241
+ *(.dynbss )
242
+ *(.bss )
243
+ *(.bss .*)
244
+ *(.gnu .linkonce .b .*)
245
+ *(COMMON)
246
+ . =ALIGN (8 );
247
+ _bss_end =ABSOLUTE (.);
248
+ _heap_start =ABSOLUTE (.);
249
+ /* _stack_sentry = ALIGN(0x8);*/
250
+ } >dram0_0_seg :dram0_0_bss_phdr
251
+ /* __stack = 0x3ffc8000;*/
252
+
252
253
.lit4 :ALIGN (4 )
253
254
{
254
255
_lit4_start =ABSOLUTE (.);