diff options
author | Alexandre Oliva <oliva@adacore.com> | 2024-04-18 08:00:52 -0300 |
---|---|---|
committer | Alexandre Oliva <oliva@gnu.org> | 2024-04-18 08:00:52 -0300 |
commit | da3504ae4d1e6872585b1107a4932efd3824e943 (patch) | |
tree | ae236bc7c7a47994ba629d924862795564c87269 /libstdc++-v3 | |
parent | a2f4be3dae04fa8606d1cc8451f0b9d450f7e6e6 (diff) | |
download | gcc-da3504ae4d1e6872585b1107a4932efd3824e943.zip gcc-da3504ae4d1e6872585b1107a4932efd3824e943.tar.gz gcc-da3504ae4d1e6872585b1107a4932efd3824e943.tar.bz2 |
[libstdc++] define zoneinfo_dir_override on vxworks
VxWorks fails to load kernel-mode modules with weak undefined symbols.
In RTP mode modules, that undergo final linking, weak undefined
symbols are not a problem.
This patch adds kernel-mode VxWorks multilibs to the set of targets
that don't support weak undefined symbols without special flags, in
which tzdb's zoneinfo_dir_override is given a weak definition.
for libstdc++-v3/ChangeLog
* src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define
on VxWorks non-RTP.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/src/c++20/tzdb.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc index 890a4c5..639d1c4 100644 --- a/libstdc++-v3/src/c++20/tzdb.cc +++ b/libstdc++-v3/src/c++20/tzdb.cc @@ -70,8 +70,9 @@ namespace __gnu_cxx #else [[gnu::weak]] const char* zoneinfo_dir_override(); -#if defined(__APPLE__) || defined(__hpux__) - // Need a weak definition for Mach-O. +#if defined(__APPLE__) || defined(__hpux__) \ + || (defined(__VXWORKS__) && !defined(__RTP__)) + // Need a weak definition for Mach-O et al. [[gnu::weak]] const char* zoneinfo_dir_override() { #ifdef _GLIBCXX_ZONEINFO_DIR |