[gcc r14-10015] [libstdc++] define zoneinfo_dir_override on vxworks
Alexandre Oliva
aoliva@gcc.gnu.org
Thu Apr 18 11:14:40 GMT 2024
https://gcc.gnu.org/g:da3504ae4d1e6872585b1107a4932efd3824e943
commit r14-10015-gda3504ae4d1e6872585b1107a4932efd3824e943
Author: Alexandre Oliva <oliva@adacore.com>
Date: Thu Apr 18 08:00:52 2024 -0300
[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.
Diff:
---
libstdc++-v3/src/c++20/tzdb.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc
index 890a4c53e2d..639d1c440ba 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
More information about the Libstdc++-cvs
mailing list