]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Bug 476320 - Build failure with GCC
authorPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 1 Nov 2023 09:59:08 +0000 (10:59 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 1 Nov 2023 09:59:08 +0000 (10:59 +0100)
A few fixes for building regression tests with GCC on FreeBSD.

NEWS
configure.ac
memcheck/tests/freebsd/bug470713.cpp
memcheck/tests/freebsd/delete_sized_mismatch.cpp
memcheck/tests/x86/Makefile.am
none/tests/freebsd/proc_pid_file.cpp

diff --git a/NEWS b/NEWS
index 14be314581a691d547f3ab73bb312a5fec060c0d..e8c28439b4a91b77b4ed141f6cb0ffe00215d5ee 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,8 @@ bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
 than mailing the developers (or mailing lists) directly -- bugs that
 are not entered into bugzilla tend to get forgotten about or ignored.
 
+476320  Build failure with GCC
+
 To see details of a given bug, visit
   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
 where XXXXXX is the bug number as listed above.
index 451ec48c07bf6008615a97753157ba53d0a0e834..cee73dab6d8ec75199974da78de5ac78a4af5a3d 100755 (executable)
@@ -806,6 +806,8 @@ case "$ARCH_MAX-$VGCONF_OS" in
         else
            GCC_MAJOR_VERSION=`${CC} -dumpversion | $SED 's/\..*//' 2>/dev/null`
            FLAG_32ON64="-B/usr/local/lib32/gcc${GCC_MAJOR_VERSION} -Wl,-rpath,/usr/local/lib32/gcc${GCC_MAJOR_VERSION}/"
+           FLAG_32ON64_GXX="-L/usr/local/lib32/gcc${GCC_MAJOR_VERSION} -lgcc_s"
+           AC_SUBST(FLAG_32ON64_GXX)
         fi
         valt_load_address_pri_norml="0x38000000"
         valt_load_address_pri_inner="0x28000000"
index 1d34ac6604b9a485bc58de00b5b5a090fbb3bfd2..e07dba76b5a9f9d4a06966afb5c7050e1ae61d83 100644 (file)
@@ -7,6 +7,7 @@
 #include <limits.h>
 #include <string>
 #include <memory>
+#include <cstring>
 
 using std::cerr;
 using std::cout;
@@ -18,7 +19,7 @@ int main(int argc, char **argv)
    size_t len;
 
    if (sysctl(mib, 4, NULL, &len, NULL, 0) != 0) {
-      cout << "sysctl failed to get path length: " << strerror(errno) << '\n';
+      cout << "sysctl failed to get path length: " << std::strerror(errno) << '\n';
       return -1;
    }
 
@@ -32,7 +33,7 @@ int main(int argc, char **argv)
    if (string(aResult.get()) == argv[1]) {
       cout << "OK\n";
    } else {
-      cout << "Not OK aResult " << aResult << " argv[1] " << argv[1] << '\n';
+      cout << "Not OK aResult " << aResult.get() << " argv[1] " << argv[1] << '\n';
    }
 
    if (sysctl(mib, 4, NULL, NULL, NULL, 0) != -1) {
index d929280e00e269ee9a6563132ffd87223001f98b..fe8a7fd050691883ffccb7a2647b88da26395530 100644 (file)
@@ -8,8 +8,8 @@
 
 int main()
 {
-   size_t size(32);
-   size_t badsize(33);
+   std::size_t size(32);
+   std::size_t badsize(33);
 
    void *mem = nullptr;
 
index 37512ceec1992683645621201d8785ceff8e19bb..80121f93cf05d5ba6d4f73e889485c288dbd52f2 100644 (file)
@@ -65,3 +65,6 @@ tronical_SOURCES      = tronical.S
 
 more_x86_fp_LDADD      = -lm
 pcmpgt_SOURCES = pcmpgt.cpp
+if VGCONF_OS_IS_FREEBSD
+pcmpgt_CXXFLAGS = $(AM_CXXFLAGS) $(FLAG_32ON64_GXX)
+endif
index cf9d18538136c4e61d2d72d8d3f32262675efb86..89c8428d13249b79753a73d414369bed390dbef9 100644 (file)
@@ -1,7 +1,7 @@
 #include <iostream>
 //#include <fstream>
 #include <string>
-//#include <cstdlib>
+#include <limits.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <cassert>