include: linker: Add missing symbols needed for LLVM's libunwind

LLVM's libunwind needs eh_frame_start/eh_frame_end and
eh_frame_hdr_start/eh_frame_hdr_end symbols.

See
80267f8148/libunwind/src/AddressSpace.hpp (L73-L103)

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
This commit is contained in:
Tom Hughes 2025-04-11 13:53:49 -07:00 committed by Benjamin Cabé
commit d024158d83

View file

@ -13,13 +13,17 @@
#if defined (CONFIG_CPP_EXCEPTIONS)
SECTION_PROLOGUE(.eh_frame_hdr,,)
{
PROVIDE(__eh_frame_hdr_start = SIZEOF(.eh_frame_hdr) > 0 ? ADDR(.eh_frame_hdr) : 0);
*(.eh_frame_hdr)
PROVIDE(__eh_frame_hdr_end = SIZEOF(.eh_frame_hdr) > 0 ? . : 0);
} GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
SECTION_PROLOGUE(.eh_frame,,)
{
PROVIDE (__eh_frame_start = .);
KEEP (*(SORT_NONE(EXCLUDE_FILE (*crtend.o) .eh_frame)))
KEEP (*(SORT_NONE(.eh_frame)))
PROVIDE (__eh_frame_end = .);
} GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
#endif /* CONFIG_CPP_EXCEPTIONS */