diff options
-rw-r--r-- | ldso/include/dl-syscall.h | 2 | ||||
-rw-r--r-- | libpthread/nptl/forward.c | 4 | ||||
-rw-r--r-- | test/locale/Makefile.in | 2 |
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 |