summaryrefslogtreecommitdiff
path: root/ldso
diff options
context:
space:
mode:
Diffstat (limited to 'ldso')
-rw-r--r--ldso/include/dl-syscall.h2
-rw-r--r--ldso/ldso/Makefile.in4
2 files changed, 2 insertions, 4 deletions
diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
index 4749d7abd..0acd2ba4a 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__
+#if defined __GNUC__ && !__GNUC_PREREQ (4, 4)
__builtin_unreachable(); /* shut up warning: 'noreturn' function does return*/
#else
while (1);
diff --git a/ldso/ldso/Makefile.in b/ldso/ldso/Makefile.in
index 56f4a4556..a0ae7b3cd 100644
--- a/ldso/ldso/Makefile.in
+++ b/ldso/ldso/Makefile.in
@@ -31,9 +31,6 @@ CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\"
ifeq ($(TARGET_ARCH),xtensa)
CFLAGS-ldso.c += -fno-delete-null-pointer-checks
endif
-ifeq ($(TARGET_ARCH),sh)
-CFLAGS-ldso.c += -fno-delete-null-pointer-checks
-endif
LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-$(UCLIBC_LDSO_NAME).so := -Wl,--dsbt-index=1
ifneq ($(SUPPORT_LD_DEBUG),y)
@@ -76,6 +73,7 @@ LDFLAGS-$(UCLIBC_LDSO_NAME).so += -T $(ldso:.$(ABI_VERSION)=).lds
endif
$(ldso): $(ldso:.$(ABI_VERSION)=)
+$(ldso:.$(ABI_VERSION)=): | $(top_builddir)lib
$(ldso:.$(ABI_VERSION)=): $($(UCLIBC_LDSO_NAME)_OUT)/$(UCLIBC_LDSO_NAME)_so.a
ifeq ($(LDSO_PRELINK_SUPPORT),y)
$(call create-lds)