summarylogtreecommitdiffstats
path: root/0002-gcc-4.9-__res_state.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-gcc-4.9-__res_state.patch')
-rw-r--r--0002-gcc-4.9-__res_state.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/0002-gcc-4.9-__res_state.patch b/0002-gcc-4.9-__res_state.patch
new file mode 100644
index 000000000000..2b45ccd5a928
--- /dev/null
+++ b/0002-gcc-4.9-__res_state.patch
@@ -0,0 +1,15 @@
+--- libsanitizer/tsan/tsan_platform_linux.cc.orig 2013-12-05 04:18:38.000000000 -0500
++++ libsanitizer/tsan/tsan_platform_linux.cc 2017-09-12 19:25:25.698833952 -0400
+@@ -349,11 +349,11 @@ bool IsGlobalVar(uptr addr) {
+ // Extract file descriptors passed to glibc internal __res_iclose function.
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+ int cnt = 0;
+- __res_state *statp = (__res_state*)state;
++ res_state statp = (res_state)state;
+ for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+ if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
+ fds[cnt++] = statp->_u._ext.nssocks[i];
+ }
+ return cnt;