summaryrefslogtreecommitdiff
path: root/libc/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps')
-rw-r--r--libc/sysdeps/linux/sh/fpu_control.h4
-rw-r--r--libc/sysdeps/linux/sh/sysdep.h1
-rw-r--r--libc/sysdeps/linux/sparc/Makefile.arch6
3 files changed, 10 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/sh/fpu_control.h b/libc/sysdeps/linux/sh/fpu_control.h
index cbd889ece..da01725cb 100644
--- a/libc/sysdeps/linux/sh/fpu_control.h
+++ b/libc/sysdeps/linux/sh/fpu_control.h
@@ -20,7 +20,9 @@
#ifndef _FPU_CONTROL_H
#define _FPU_CONTROL_H
-#warning This file is only correct for sh4
+#ifndef __SH4__
+#error This file is only correct for sh4
+#endif
/* masking of interrupts */
#define _FPU_MASK_VM 0x0800 /* Invalid operation */
diff --git a/libc/sysdeps/linux/sh/sysdep.h b/libc/sysdeps/linux/sh/sysdep.h
index 2ef0a3305..8b3c68220 100644
--- a/libc/sysdeps/linux/sh/sysdep.h
+++ b/libc/sysdeps/linux/sh/sysdep.h
@@ -26,6 +26,7 @@
/* Syntactic details of assembler. */
+#define LOCAL(X) .L_##X
#define ALIGNARG(log2) log2
/* For ELF we need the `.type' directive to make shared libs work right. */
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,@##typearg;
diff --git a/libc/sysdeps/linux/sparc/Makefile.arch b/libc/sysdeps/linux/sparc/Makefile.arch
index 91c6e85e4..d0cae9ff8 100644
--- a/libc/sysdeps/linux/sparc/Makefile.arch
+++ b/libc/sysdeps/linux/sparc/Makefile.arch
@@ -16,9 +16,15 @@ CSRC += sigaction.c
SSRC += fork.S vfork.S
endif
+# check weather __LONG_DOUBLE_128__ is defined (long double support)
+UCLIBC_SPARC_HAS_LONG_DOUBLE=$(shell if [ "x`$(CC) -E -dM -xc /dev/null 2>&1 | grep __LONG_DOUBLE_128__`" != "x" ]; then echo "y"; fi)
+ifeq ($(UCLIBC_SPARC_HAS_LONG_DOUBLE),y)
CSRC += $(foreach f, \
q_div.c q_fle.c q_mul.c q_qtoll.c q_stoq.c \
mp_clz_tab.c q_dtoq.c q_flt.c q_neg.c q_qtos.c q_sub.c \
q_add.c q_feq.c q_fne.c q_qtod.c q_qtou.c q_ulltoq.c \
q_cmp.c q_fge.c q_itoq.c q_qtoull.c q_util.c \
q_cmpe.c q_fgt.c q_lltoq.c q_qtoi.c q_sqrt.c q_utoq.c, soft-fp/$(f))
+else
+CSRC += qp_ops.c
+endif