aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2024-04-18 08:00:52 -0300
committerAlexandre Oliva <oliva@gnu.org>2024-04-18 08:00:52 -0300
commitda3504ae4d1e6872585b1107a4932efd3824e943 (patch)
treeae236bc7c7a47994ba629d924862795564c87269 /libstdc++-v3
parenta2f4be3dae04fa8606d1cc8451f0b9d450f7e6e6 (diff)
downloadgcc-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.cc5
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