This website requires JavaScript.
Explore
Help
Sign In
OrgZephyr
/
zephyr
mirror of
https://github.com/zephyrproject-rtos/zephyr.git
Watch
1
Star
0
Fork
You've already forked zephyr
0
Code
Issues
Releases
Wiki
Activity
a1d6f8081a
zephyr
/
lib
/
cpp
/
abi
/
CMakeLists.txt
6 lines
99 B
CMake
Raw
Normal View
History
Unescape
Escape
lib: cpp: Relocate C++ ABI library components to lib/cpp/abi This commit relocates the "C++ ABI library" components such as global constructor/destructor and initialiser handlers to a dedicated directory, `lib/cpp/abi`, in order to provide a clear separation between the C++ ABI/runtime library and the standard C++ library components. Note that the Zephyr C++ ABI library currently implements the GNU/GCC C++ ABI, which is the de-facto standard ABI used by many compilers including Clang -- it may be necessary to sub-divide the `lib/cpp/abi` into `lib/cpp/abi/gnu` and `lib/cpp/abi/someotherabi` in the future when adding the support for a C++ compiler that expects an ABI vastly different from the GNU C++ ABI. Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-12-08 21:07:26 +08:00
# SPDX-License-Identifier: Apache-2.0
lib c/cpp: Move .ctor .init_array handling from C++ to kernel * Move ctors and init_array from the CPP library to the kernel library, as this is common for both C and C++ and it is the kernel who is running it. * Rename the hidden kconfig option CPP_STATIC_INIT_GNU STATIC_INIT_GNU instead. * If STATIC_INIT_GNU is not selected verify there is constructors left behind. * Rename common-rom-cpp.ld to common-rom-init.ld * Rename z_cpp_init_static to z_init_static, and have the kernel always call it. Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no> Signed-off-by: Keith Packard <keithp@keithp.com>
2024-06-21 19:18:55 +08:00
zephyr_sources_ifdef
(
CONFIG_STATIC_INIT_GNU
lib: cpp: Relocate C++ ABI library components to lib/cpp/abi This commit relocates the "C++ ABI library" components such as global constructor/destructor and initialiser handlers to a dedicated directory, `lib/cpp/abi`, in order to provide a clear separation between the C++ ABI/runtime library and the standard C++ library components. Note that the Zephyr C++ ABI library currently implements the GNU/GCC C++ ABI, which is the de-facto standard ABI used by many compilers including Clang -- it may be necessary to sub-divide the `lib/cpp/abi` into `lib/cpp/abi/gnu` and `lib/cpp/abi/someotherabi` in the future when adding the support for a C++ compiler that expects an ABI vastly different from the GNU C++ ABI. Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-12-08 21:07:26 +08:00
c
p
p
_
d
t
o
r
s
.
c
)