mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
Merge branch 'bugfix/p4_eco5_init_arrays' into 'master'
fix(system): fixed constructors not working properly on P4 ECO5 Closes IDF-14425 See merge request espressif/esp-idf!43547
This commit is contained in:
@@ -403,20 +403,12 @@ SECTIONS
|
||||
* C++ constructor tables.
|
||||
*
|
||||
* Excluding crtbegin.o/crtend.o since IDF doesn't use the toolchain crt.
|
||||
*
|
||||
* RISC-V gcc is configured with --enable-initfini-array so it emits
|
||||
* .init_array section instead. But the init_priority sections will be
|
||||
* sorted for iteration in ascending order during startup.
|
||||
* The rest of the init_array sections is sorted for iteration in descending
|
||||
* order during startup, however. Hence a different section is generated for
|
||||
* the init_priority functions which is iterated in ascending order during
|
||||
* startup. The corresponding code can be found in startup.c.
|
||||
*/
|
||||
ALIGNED_SYMBOL(4, __init_priority_array_start)
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array.*))
|
||||
__init_priority_array_end = ABSOLUTE(.);
|
||||
|
||||
ALIGNED_SYMBOL(4, __preinit_array_start)
|
||||
KEEP (*(.preinit_array))
|
||||
__preinit_array_end = ABSOLUTE(.);
|
||||
ALIGNED_SYMBOL(4, __init_array_start)
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array.*)))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array))
|
||||
__init_array_end = ABSOLUTE(.);
|
||||
|
||||
|
||||
@@ -94,10 +94,6 @@ tools/test_apps/system/gdb_loadable_elf:
|
||||
tools/test_apps/system/init_array:
|
||||
enable:
|
||||
- if: INCLUDE_DEFAULT == 1 or IDF_TARGET == "linux"
|
||||
disable_test:
|
||||
- if: IDF_TARGET == "esp32p4"
|
||||
temporary: true
|
||||
reason: p4 rev3 migration # TODO: IDF-14425
|
||||
depends_components:
|
||||
- esp_system
|
||||
depends_filepatterns:
|
||||
|
||||
@@ -7,7 +7,6 @@ from pytest_embedded_idf.utils import idf_parametrize
|
||||
|
||||
@pytest.mark.generic
|
||||
@idf_parametrize('target', ['supported_targets', 'preview_targets', 'linux'], indirect=['target'])
|
||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration # TODO: IDF-14425')
|
||||
def test_init_array(dut: Dut) -> None:
|
||||
dut.expect_exact('preinit_func')
|
||||
dut.expect_exact('init_prio_101')
|
||||
|
||||
Reference in New Issue
Block a user