GCC 4.8 needs the same backports that were applied to GCC 4.9 to compile with more recent glibc. One thing is a missing #include <signal.h>, as shown below, but other fixes are needed as well, I think. Older compilers might need to be fixed as well if they are supposed to compile with latest glibc. libtool: compile: /srv/portage/sys-devel/gcc-4.8.5-r2/work/build/./gcc/xgcc -shared-libgcc -B/srv/portage/sys-devel/gcc-4.8.5-r2/work/build/./gcc -nostdinc++ -L/srv/portage/sys-devel/gcc-4.8.5-r2/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src -L/srv/portage/sys-devel/gcc-4.8.5-r2/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0 -DASAN_NEEDS_SEGV=1 -I. -I/srv/portage/sys-devel/gcc-4.8.5-r2/work/gcc-4.8.5/libsanitizer/asan -I /srv/portage/sys-devel/gcc-4.8.5-r2/work/gcc-4.8.5/libsanitizer/include -I /srv/portage/sys-devel/gcc-4.8.5-r2/work/gcc-4.8.5/libsanitizer -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/x86_64-pc-linux-gnu -I/srv/portage/sys-devel/gcc-4.8.5-r2/work/gcc-4.8.5/libsanitizer/../libstdc++-v3/libsupc++ -march=native -O2 -pipe -D_GNU_SOURCE -MT asan_interceptors.lo -MD -MP -MF .deps/asan_interceptors.Tpo -c /srv/portage/sys-devel/gcc-4.8.5-r2/work/gcc-4.8.5/libsanitizer/asan/asan_interceptors.cc -o asan_interceptors.o >/dev/null 2>&1 /srv/portage/sys-devel/gcc-4.8.5-r2/work/gcc-4.8.5/libsanitizer/asan/asan_linux.cc: In function ‘bool __asan::AsanInterceptsSignal(int)’: /srv/portage/sys-devel/gcc-4.8.5-r2/work/gcc-4.8.5/libsanitizer/asan/asan_linux.cc:95:20: error: ‘SIGSEGV’ was not declared in this scope return signum == SIGSEGV && flags()->handle_segv; ^
Please attach build.log and emerge --info. We might need to remove USE=sanitize support unconditionally if libsanitizer proves hard to have backports.
Related bug report for GCC 4.9.4: https://bugs.gentoo.org/685358
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=8b3934067086c1c581d2a27f8f0a5cc75dff1066 commit 8b3934067086c1c581d2a27f8f0a5cc75dff1066 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-05-31 21:54:18 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-05-31 21:54:18 +0000 4.8.5: backport 98_all_asan-signal_h.patch It's not enough yet to build libsanitizer against glibc-2.28/.29 but it's a start. Reported-by: Guilherme Amadio Bug: https://bugs.gentoo.org/671568 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> 4.8.5/gentoo/98_all_asan-signal_h.patch | 15 +++++++++++++++ 4.8.5/gentoo/README.history | 2 ++ 2 files changed, 17 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=c8c94f09b88542c7293b251c8e5bacb51b057a64 commit c8c94f09b88542c7293b251c8e5bacb51b057a64 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-05-31 23:07:28 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-05-31 23:07:28 +0000 4.8.5: tweak libsanitizer for modern glibc Reported-by: Guilherme Amadio Bug: https://bugs.gentoo.org/671568 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> 4.8.5/gentoo/99_all_libsanitizer-res_state-glibc-2.28.patch | 8 ++++++++ 4.8.5/gentoo/README.history | 1 + 2 files changed, 9 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=28d89990740832d87ef34520fec5c20eb7a2ac41 commit 28d89990740832d87ef34520fec5c20eb7a2ac41 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-06-01 08:27:56 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-06-01 08:27:56 +0000 4.8.5: cut 1.5 patchset Four new patches: 96_all_stage1-ldflags.patch: fix LDFLAGS passing to STAGE1 97_all_libjava-ucontext.patch: fix ucontext definition for glibc-2.28 98_all_asan-signal_h.patch: fix signal declarations for glibc-2.28 99_all_libsanitizer-res_state-glibc-2.28.patch: fix libsanitizer for glibc-2.28 Bug: https://bugs.gentoo.org/629502 Bug: https://bugs.gentoo.org/671568 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> 4.8.5/gentoo/README.history | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5251f3d97f0ec56ffd340e3977a4a7af7c82c80d commit 5251f3d97f0ec56ffd340e3977a4a7af7c82c80d Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-06-01 08:33:35 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-06-01 10:10:30 +0000 sys-devel/gcc: 4.8.5: cut 1.5 patchset Four new patches: 96_all_stage1-ldflags.patch: fix LDFLAGS passing to STAGE1 97_all_libjava-ucontext.patch: fix ucontext definition for glibc-2.28 98_all_asan-signal_h.patch: fix signal declarations for glibc-2.28 99_all_libsanitizer-res_state-glibc-2.28.patch: fix libsanitizer for glibc-2.28 Closes: https://bugs.gentoo.org/629502 Closes: https://bugs.gentoo.org/671568 Package-Manager: Portage-2.3.67, Repoman-2.3.13 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-devel/gcc/Manifest | 1 + sys-devel/gcc/gcc-4.8.5-r3.ebuild | 47 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+)