From da3504ae4d1e6872585b1107a4932efd3824e943 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 18 Apr 2024 08:00:52 -0300 Subject: [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. --- libstdc++-v3/src/c++20/tzdb.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libstdc++-v3') 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 -- cgit v1.1