/helgrind/tests/cond_timedwait_test
/helgrind/tests/free_is_write
/helgrind/tests/garbage.filtered.out
+/helgrind/tests/getaddrinfo
/helgrind/tests/hg01_all_ok
/helgrind/tests/hg02_deadlock
/helgrind/tests/hg03_inherit
+Release 3.22.0 (?? Oct 2023)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
+PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
+MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
+X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD and
+AMD64/FreeBSD. There is also preliminary support for X86/macOS 10.13,
+AMD64/macOS 10.13 and nanoMIPS/Linux.
+
+* ==================== CORE CHANGES ===================
+
+
+* ================== PLATFORM CHANGES =================
+
+
+* ==================== TOOL CHANGES ===================
+
+
+* ==================== FIXED BUGS ====================
+
+The following bugs have been fixed or resolved. Note that "n-i-bz"
+stands for "not in bugzilla" -- that is, a bug that was reported to us
+but never got a bugzilla entry. We encourage you to file bugs in
+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.
+
+
+
+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.
+
Release 3.21.0 (28 Apr 2023)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Also set the (expected/last) release date here.
# Do not forget to rerun ./autogen.sh
m4_define([v_major_ver], [3])
-m4_define([v_minor_ver], [21])
+m4_define([v_minor_ver], [22])
m4_define([v_micro_ver], [0])
-m4_define([v_suffix_ver], [])
-m4_define([v_rel_date], ["28 Apr 2023"])
+m4_define([v_suffix_ver], [GIT])
+m4_define([v_rel_date], ["?? Oct 2023"])
m4_define([v_version],
m4_if(v_suffix_ver, [],
[v_major_ver.v_minor_ver.v_micro_ver],
hold_lock_1.vgtest \
hold_lock_2.stderr.exp \
hold_lock_2.vgtest \
+ getaddrinfo.stderr.exp \
+ getaddrinfo.vgtest \
linuxthreads_det.stderr.exp \
linuxthreads_det.stderr.exp-linuxthreads \
linuxthreads_det.stdout.exp \
--- /dev/null
+prereq: ./supported_libpthread
+vgopts: -q
+prog: ../../helgrind/tests/getaddrinfo
...
fun:_ZN5boost6detail23set_current_thread_dataEPNS0_16thread_data_baseE
}
+
+#
+# Suppression patterrns for posix functions
+{
+ drd-libc-getaddrinfo
+ drd:ConflictingAccess
+ ...
+ fun:getaddrinfo
+}
+
Helgrind:Race
fun:gomp_ordered_last
}
+
+####################################################
+# posix functions that are thread safe
+{
+ helgrind---getaddrinfo
+ Helgrind:Race
+ ...
+ fun:getaddrinfo
+}
bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \
free_is_write.vgtest free_is_write.stdout.exp \
free_is_write.stderr.exp \
+ getaddrinfo.vgtest getaddrinfo.stderr.exp \
hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \
hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \
hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \
cond_timedwait_invalid \
cond_timedwait_test \
free_is_write \
+ getaddrinfo \
hg01_all_ok \
hg02_deadlock \
hg03_inherit \
--- /dev/null
+#include <netdb.h>
+#include <pthread.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+
+struct data {
+ const char *hostname;
+ struct addrinfo *res;
+};
+
+struct data threaddat[5] = {
+ { "www.freebsd.org", 0 },
+ { "www.google.com", 0 },
+ { "www.freshports.org", 0 },
+ { "www.github.com", 0 },
+ { "www.kernel.org", 0 }
+};
+
+pthread_t threads[5];
+
+void *resolve(void *d) {
+ struct data *data = d;
+ getaddrinfo(data->hostname, 0, 0, &data->res);
+ return 0;
+}
+
+int main(void) {
+ int i;
+ for (i = 0; i < 5; ++i) {
+ pthread_create(&threads[i], 0, resolve, &threaddat[i]);
+ }
+ for (i = 0; i < 5; ++i) {
+ pthread_join(threads[i], 0);
+ freeaddrinfo(threaddat[i].res);
+ }
+ return 0;
+}
+
--- /dev/null
+prog: getaddrinfo
+vgopts: -q