musl: update to version 1.1.14
[openwrt/openwrt.git] / toolchain / musl / patches / 200-add_libssp_nonshared.patch
index af0576585e76de1152f832e435edde56ed23c6fe..7a2909461b3859e498f488a61d419f75ab828c95 100644 (file)
@@ -10,34 +10,32 @@ Signed-off-by: Steven Barth <steven@midlink.org>
  2 files changed, 10 insertions(+), 2 deletions(-)
  create mode 100644 libssp_nonshared/__stack_chk_fail_local.c
 
-diff --git a/Makefile b/Makefile
-index 2eb7b30..bfcabf7 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -48,7 +48,7 @@ CRT_LIBS = lib/crt1.o lib/Scrt1.o lib/rcrt1.o lib/crti.o lib/crtn.o
+@@ -66,7 +66,7 @@ CRT_LIBS = $(addprefix lib/,$(notdir $(C
  STATIC_LIBS = lib/libc.a
  SHARED_LIBS = lib/libc.so
  TOOL_LIBS = lib/musl-gcc.specs
 -ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS) $(EMPTY_LIBS) $(TOOL_LIBS)
 +ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS) $(EMPTY_LIBS) $(TOOL_LIBS) lib/libssp_nonshared.a
- ALL_TOOLS = tools/musl-gcc
+ ALL_TOOLS = obj/musl-gcc
  
- LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH)$(SUBARCH).so.1
-@@ -103,7 +103,8 @@ NOSSP_SRCS = $(wildcard crt/*.c) \
-       src/env/__libc_start_main.c src/env/__init_tls.c \
-       src/thread/__set_thread_area.c src/env/__stack_chk_fail.c \
-       src/string/memset.c src/string/memcpy.c \
--      src/ldso/dlstart.c src/ldso/dynlink.c
-+      src/ldso/dlstart.c src/ldso/dynlink.c \
-+      libssp_nonshared/__stack_chk_fail_local.c
- $(NOSSP_SRCS:%.c=%.o) $(NOSSP_SRCS:%.c=%.lo): CFLAGS += $(CFLAGS_NOSSP)
+ WRAPCC_GCC = gcc
+@@ -125,7 +125,8 @@ NOSSP_SRCS = $(wildcard crt/*.c) \
+       src/thread/__set_thread_area.c src/thread/$(ARCH)/__set_thread_area.c \
+       src/string/memset.c src/string/$(ARCH)/memset.c \
+       src/string/memcpy.c src/string/$(ARCH)/memcpy.c \
+-      ldso/dlstart.c ldso/dynlink.c
++      ldso/dlstart.c ldso/dynlink.c \
++      src/libssp_nonshared/__stack_chk_fail_local.c
+ $(NOSSP_SRCS:%.c=obj/%.o) $(NOSSP_SRCS:%.c=obj/%.lo): CFLAGS_ALL += $(CFLAGS_NOSSP)
  
- $(CRT_LIBS:lib/%=crt/%): CFLAGS += -DCRT
-@@ -144,6 +145,11 @@ lib/libc.a: $(OBJS)
-       $(AR) rc $@ $(OBJS)
+ $(CRT_OBJS): CFLAGS_ALL += -DCRT
+@@ -168,6 +169,11 @@ lib/libc.a: $(AOBJS)
+       $(AR) rc $@ $(AOBJS)
        $(RANLIB) $@
  
-+lib/libssp_nonshared.a: libssp_nonshared/__stack_chk_fail_local.o
++lib/libssp_nonshared.a: obj/src/libssp_nonshared/__stack_chk_fail_local.o
 +      rm -f $@
 +      $(AR) rc $@ $<
 +      $(RANLIB) $@
@@ -45,14 +43,8 @@ index 2eb7b30..bfcabf7 100644
  $(EMPTY_LIBS):
        rm -f $@
        $(AR) rc $@
-diff --git a/libssp_nonshared/__stack_chk_fail_local.c b/libssp_nonshared/__stack_chk_fail_local.c
-new file mode 100644
-index 0000000..2b403a6
 --- /dev/null
-+++ b/libssp_nonshared/__stack_chk_fail_local.c
++++ b/src/libssp_nonshared/__stack_chk_fail_local.c
 @@ -0,0 +1,2 @@
-+extern void __stack_chk_fail(void);
-+void __attribute__((visibility ("hidden"))) __stack_chk_fail_local(void) { __stack_chk_fail(); }
--- 
-2.1.4
-
++#include "atomic.h"
++void __attribute__((visibility ("hidden"))) __stack_chk_fail_local(void) { a_crash(); }