On Tue, 16 Apr 2024, 04:17 Alexandre Oliva, wrote: > > 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. > > Regstrapped on x86_64-linux-gnu. Also tested with gcc-13 on arm-, > aarch64-, x86- and x86_64-vxworks7r2. Ok to install? > OK, thanks. > > 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(-) > > diff --git a/libstdc++-v3/src/c++20/tzdb.cc > b/libstdc++-v3/src/c++20/tzdb.cc > index 890a4c53e2d44..639d1c440ba16 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 > > -- > Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ > Free Software Activist GNU Toolchain Engineer > More tolerance and less prejudice are key for inclusion and diversity > Excluding neuro-others for not behaving ""normal"" is *not* inclusive >