mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
fix(build): Fixed constructors placement by Clang for Xtensa
By default Clang puts constructors into '.init_array'. Close https://github.com/espressif/esp-idf/issues/17990
This commit is contained in:
@@ -352,8 +352,13 @@ SECTIONS
|
||||
KEEP (*(.preinit_array))
|
||||
__preinit_array_end = ABSOLUTE(.);
|
||||
ALIGNED_SYMBOL(4, __init_array_start)
|
||||
#if CONFIG_IDF_TOOLCHAIN_CLANG
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array.*)))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array))
|
||||
#else
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors.*)))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors))
|
||||
#endif
|
||||
__init_array_end = ABSOLUTE(.);
|
||||
__bothinit_array_end = ABSOLUTE(.);
|
||||
|
||||
|
||||
@@ -356,8 +356,13 @@ SECTIONS
|
||||
KEEP (*(.preinit_array))
|
||||
__preinit_array_end = ABSOLUTE(.);
|
||||
ALIGNED_SYMBOL(4, __init_array_start)
|
||||
#if CONFIG_IDF_TOOLCHAIN_CLANG
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array.*)))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array))
|
||||
#else
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors.*)))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors))
|
||||
#endif
|
||||
__init_array_end = ABSOLUTE(.);
|
||||
__bothinit_array_end = ABSOLUTE(.);
|
||||
|
||||
|
||||
@@ -365,8 +365,13 @@ SECTIONS
|
||||
KEEP (*(.preinit_array))
|
||||
__preinit_array_end = ABSOLUTE(.);
|
||||
ALIGNED_SYMBOL(4, __init_array_start)
|
||||
#if CONFIG_IDF_TOOLCHAIN_CLANG
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array.*)))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array))
|
||||
#else
|
||||
KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors.*)))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors))
|
||||
#endif
|
||||
__init_array_end = ABSOLUTE(.);
|
||||
__bothinit_array_end = ABSOLUTE(.);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user