@@ -79,6 +79,8 @@ ENTRY(CONFIG_KERNEL_ENTRY)
79
79
80
80
_rom_store_table = 0;
81
81
82
+ _heap_sentry = 0x3fffe710;
83
+
82
84
SECTIONS
83
85
{
84
86
/* Reserve space for MCUboot header in the binary */
@@ -131,9 +133,6 @@ SECTIONS
131
133
{
132
134
_rodata_start = ABSOLUTE (.);
133
135
134
- *(.rodata_desc .rodata_desc.*)
135
- *(.rodata_custom_desc .rodata_custom_desc.*)
136
-
137
136
. = ALIGN (4);
138
137
#include <snippets-rodata.ld>
139
138
@@ -154,14 +153,7 @@ SECTIONS
154
153
__eh_frame = ABSOLUTE (.);
155
154
KEEP(*(.eh_frame))
156
155
. = (. + 7) & ~ 3;
157
- /* C++ constructor and destructor tables */
158
- __init_array_start = ABSOLUTE (.);
159
- KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors SORT(.ctors.*)))
160
- __init_array_end = ABSOLUTE (.);
161
- KEEP (*crtbegin.*(.dtors))
162
- KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))
163
- KEEP (*(SORT(.dtors.*)))
164
- KEEP (*(.dtors))
156
+
165
157
/* C++ exception handlers table : */
166
158
__XT_EXCEPTION_DESCS_ = ABSOLUTE (.);
167
159
*(.xt_except_desc)
@@ -193,12 +185,12 @@ SECTIONS
193
185
#pragma push_macro("GROUP_ROM_LINK_IN")
194
186
#undef GROUP_ROM_LINK_IN
195
187
#define GROUP_ROM_LINK_IN(vregion, lregion) > RODATA_REGION AT > lregion
196
- #include " linker/common-rom/common-rom-kernel-devices .ld"
197
- #include " linker/common-rom/common-rom-cpp .ld"
198
- #include " linker/common-rom/common-rom-net.ld"
199
- #include " linker/common-rom/common-rom-bt.ld"
200
- #include " linker/common-rom/common-rom-debug.ld"
201
- #include " linker/common-rom/common-rom-misc.ld"
188
+ #include <zephyr/ linker/common-rom/common-rom-cpp .ld>
189
+ #include <zephyr/ linker/common-rom/common-rom-kernel-devices .ld>
190
+ #include <zephyr/ linker/common-rom/common-rom-net.ld>
191
+ #include <zephyr/ linker/common-rom/common-rom-bt.ld>
192
+ #include <zephyr/ linker/common-rom/common-rom-debug.ld>
193
+ #include <zephyr/ linker/common-rom/common-rom-misc.ld>
202
194
#pragma pop_macro("GROUP_ROM_LINK_IN")
203
195
204
196
/* Send .iram0 code to iram */
@@ -274,6 +266,7 @@ SECTIONS
274
266
*libzephyr.a :log_backend_uart.*(.literal .text .literal.* .text.*)
275
267
*libzephyr.a :loader.*(.literal .text .literal.* .text.*)
276
268
*liblib__libc__minimal.a :string.*(.literal .text .literal.* .text.*)
269
+ *liblib__libc__newlib.a :string.*(.literal .text .literal.* .text.*)
277
270
*libphy.a :( .phyiram .phyiram.*)
278
271
*libgcov.a :(.literal .text .literal.* .text.*)
279
272
@@ -367,22 +360,25 @@ SECTIONS
367
360
. = ALIGN (4);
368
361
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
369
362
363
+ #include <zephyr/linker/cplusplus-rom.ld>
370
364
#include <snippets-data-sections.ld>
371
365
#include <zephyr/linker/common-ram.ld>
372
366
#include <snippets-ram-sections.ld>
367
+ #include <zephyr/linker/cplusplus-ram.ld>
373
368
374
369
/* logging sections should be placed in RAM area to avoid flash cache disabled issues */
375
370
#pragma push_macro("GROUP_ROM_LINK_IN")
376
371
#undef GROUP_ROM_LINK_IN
377
372
#define GROUP_ROM_LINK_IN GROUP_DATA_LINK_IN
378
- #include " linker/common-rom/common-rom-logging.ld"
373
+ #include <zephyr/ linker/common-rom/common-rom-logging.ld>
379
374
#pragma pop_macro("GROUP_ROM_LINK_IN")
380
375
381
376
.dummy.dram.data :
382
377
{
383
378
. = ALIGN (4);
384
379
#include <snippets-rwdata.ld>
385
380
. = ALIGN (4);
381
+ _end = ABSOLUTE (.);
386
382
_data_end = ABSOLUTE (.);
387
383
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
388
384
@@ -475,9 +471,38 @@ SECTIONS
475
471
476
472
#include <zephyr/linker/debug-sections.ld>
477
473
478
- SECTION_PROLOGUE(.xtensa.info, 0,)
474
+ .xtensa.info 0 : { *(.xtensa.info) }
475
+ .xt.insn 0 :
476
+ {
477
+ KEEP (*(.xt.insn))
478
+ KEEP (*(.gnu.linkonce.x.*))
479
+ }
480
+ .xt.prop 0 :
481
+ {
482
+ KEEP (*(.xt.prop))
483
+ KEEP (*(.xt.prop.*))
484
+ KEEP (*(.gnu.linkonce.prop.*))
485
+ }
486
+ .xt.lit 0 :
487
+ {
488
+ KEEP (*(.xt.lit))
489
+ KEEP (*(.xt.lit.*))
490
+ KEEP (*(.gnu.linkonce.p.*))
491
+ }
492
+ .xt.profile_range 0 :
493
+ {
494
+ KEEP (*(.xt.profile_range))
495
+ KEEP (*(.gnu.linkonce.profile_range.*))
496
+ }
497
+ .xt.profile_ranges 0 :
498
+ {
499
+ KEEP (*(.xt.profile_ranges))
500
+ KEEP (*(.gnu.linkonce.xt.profile_ranges.*))
501
+ }
502
+ .xt.profile_files 0 :
479
503
{
480
- *(.xtensa.info)
504
+ KEEP (*(.xt.profile_files))
505
+ KEEP (*(.gnu.linkonce.xt.profile_files.*))
481
506
}
482
507
}
483
508
0 commit comments