https://gcc.gnu.org/g:2913d33b47f9169a8b80628b4382558a98d5c26e

commit r13-9013-g2913d33b47f9169a8b80628b4382558a98d5c26e
Author: Alexandre Oliva <ol...@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.
    
    (cherry picked from commit da3504ae4d1e6872585b1107a4932efd3824e943)

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 e03f4a5c32ac..dfd4c71a152e 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

Reply via email to