summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ldso/include/dl-syscall.h2
-rw-r--r--libpthread/nptl/forward.c4
-rw-r--r--test/locale/Makefile.in2
3 files changed, 7 insertions, 1 deletions
diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
index 0acd2ba4a..46ba07e2e 100644
--- a/ldso/include/dl-syscall.h
+++ b/ldso/include/dl-syscall.h
@@ -51,7 +51,7 @@ extern int _dl_errno;
static __always_inline attribute_noreturn __cold void _dl_exit(int status)
{
INLINE_SYSCALL(_dl_exit, 1, status);
-#if defined __GNUC__ && !__GNUC_PREREQ (4, 4)
+#if defined __GNUC__ && (!__GNUC_PREREQ (4, 4) && !__GNUC_PREREQ (4, 2))
__builtin_unreachable(); /* shut up warning: 'noreturn' function does return*/
#else
while (1);
diff --git a/libpthread/nptl/forward.c b/libpthread/nptl/forward.c
index a5c97babd..48d38d9aa 100644
--- a/libpthread/nptl/forward.c
+++ b/libpthread/nptl/forward.c
@@ -160,6 +160,10 @@ FORWARD2(__pthread_unwind,
/* We cannot call abort() here. */
INTERNAL_SYSCALL_DECL (err);
INTERNAL_SYSCALL (kill, err, 1, SIGKILL);
+#if defined __GNUC__ && (!__GNUC_PREREQ (4, 4) && !__GNUC_PREREQ (4, 2))
__builtin_unreachable();
+#else
+ while(1);
+#endif
})
#undef return
diff --git a/test/locale/Makefile.in b/test/locale/Makefile.in
index 5a57ca54d..806ea2866 100644
--- a/test/locale/Makefile.in
+++ b/test/locale/Makefile.in
@@ -26,4 +26,6 @@ OPTS_dump-ctype = C
OPTS_tst-ctype = < tst-ctype-de_DE.ISO-8859-1.in
OPTS_tst-langinfo = < tst-langinfo.input
+CFLAGS_tst-sscanf = -fPIC
+
EXTRA_DIRS := C