summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/common/Makefile1
-rw-r--r--libc/sysdeps/linux/common/ssp.c6
2 files changed, 6 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/common/Makefile b/libc/sysdeps/linux/common/Makefile
index 5e17cc9fc..84b29ac53 100644
--- a/libc/sysdeps/linux/common/Makefile
+++ b/libc/sysdeps/linux/common/Makefile
@@ -28,6 +28,7 @@ endif
ifneq ($(strip $(UCLIBC_HAS_SSP)),y)
SRCS := $(filter-out ssp.c,$(SRCS))
endif
+ssp.o: CFLAGS += $(SSP_DISABLE_FLAGS)
OBJS = $(patsubst %.c,%.o, $(SRCS))
diff --git a/libc/sysdeps/linux/common/ssp.c b/libc/sysdeps/linux/common/ssp.c
index e58dfdb9a..9db8338e7 100644
--- a/libc/sysdeps/linux/common/ssp.c
+++ b/libc/sysdeps/linux/common/ssp.c
@@ -20,6 +20,10 @@
# include <config.h>
#endif
+#ifdef __SSP__
+#error ssp.c has to be built w/ -fno-stack-protector
+#endif
+
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
@@ -42,7 +46,7 @@
#endif
/* prototypes */
-extern int __libc_open (__const char *file, int oflag, mode_t mode);
+extern int __libc_open (__const char *file, int oflag, ...);
extern ssize_t __libc_read(int fd, void *buf, size_t count);
extern int __libc_close (int fd);