[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.
This commit is contained in:
Alexandre Oliva 2024-04-18 08:00:52 -03:00 committed by Alexandre Oliva
parent a2f4be3dae
commit da3504ae4d

View file

@ -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