]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Bug 384729 - __libc_freeres inhibits cross-platform valgrind
authorPaul Floyd <pjfloyd@wanadoo.fr>
Mon, 9 Nov 2020 15:31:40 +0000 (16:31 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Mon, 9 Nov 2020 15:31:40 +0000 (16:31 +0100)
coregrind/vg_preloaded.c

index 3ea3761f97dbcef1c76ff3f57a14f9b3355f171c..39d82c7c2321ae497ce5092ca5c4fc1aca555774 100644 (file)
@@ -68,13 +68,12 @@ void VG_NOTIFY_ON_LOAD(freeres)(Vg_FreeresToRun to_run)
       _ZN9__gnu_cxx9__freeresEv();
    }
 
-#  if defined(VGO_linux)
-   /* __libc_freeres() not yet available on Solaris. */
-   extern void __libc_freeres(void);
-   if ((to_run & VG_RUN__LIBC_FREERES) != 0) {
+   extern void __libc_freeres(void) __attribute__((weak));
+   if (((to_run & VG_RUN__LIBC_FREERES) != 0) &&
+       (__libc_freeres != NULL)) {
       __libc_freeres();
    }
-#  endif
+
 #  endif
 
    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__FREERES_DONE, 0, 0, 0, 0, 0);