commit:     d5a627d73e0f4a62ec635c71b7a8734fb224b77b
Author:     Hinnerk van Bruinehsen <h.v.bruinehsen <AT> fu-berlin <DOT> de>
AuthorDate: Sun Aug 31 16:32:36 2014 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Aug 31 16:59:05 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=d5a627d7

sys-devel/gcc-4.8.3-r99: fix build

libsanitizer/tsan/tsan_platform_linux.cc uses __res_state *  which would
have to be either struct __res_state * or the typedef: res_state. The
patch uses the latter.

Signed-of-by: Hinnerk van Bruinehsen <h.v.bruinehsen <AT> fu-berlin.de>

---
 sys-devel/gcc/files/gcc-4.8.3-musl-res_state.patch | 12 ++++++++++++
 sys-devel/gcc/gcc-4.8.3-r99.ebuild                 |  1 +
 2 files changed, 13 insertions(+)

diff --git a/sys-devel/gcc/files/gcc-4.8.3-musl-res_state.patch 
b/sys-devel/gcc/files/gcc-4.8.3-musl-res_state.patch
new file mode 100644
index 0000000..7757c38
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-4.8.3-musl-res_state.patch
@@ -0,0 +1,12 @@
+diff -ENwbur gcc-4.8.3.orig/libsanitizer/tsan/tsan_platform_linux.cc 
gcc-4.8.3/libsanitizer/tsan/tsan_platform_linux.cc
+--- gcc-4.8.3.orig/libsanitizer/tsan/tsan_platform_linux.cc    2014-08-31 
12:50:18.381689906 +0000
++++ gcc-4.8.3/libsanitizer/tsan/tsan_platform_linux.cc 2014-08-31 
13:12:19.838446253 +0000
+@@ -292,7 +292,7 @@
+ #ifndef TSAN_GO
+ 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];

diff --git a/sys-devel/gcc/gcc-4.8.3-r99.ebuild 
b/sys-devel/gcc/gcc-4.8.3-r99.ebuild
index 4a64149..b96acf6 100644
--- a/sys-devel/gcc/gcc-4.8.3-r99.ebuild
+++ b/sys-devel/gcc/gcc-4.8.3-r99.ebuild
@@ -57,6 +57,7 @@ src_prepare() {
                mv libitm/config/linux/x86 libitm/config/linux/x86_glibc
                cp -r libitm/config/generic libitm/config/linux/x86
                epatch "${FILESDIR}"/${PN}-4.7.3-musl-linker-path.patch
+               epatch "${FILESDIR}"/${PN}-4.8.3-musl-res_state.patch
        fi
 
        use vanilla && return 0

Reply via email to