1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- From 7ec87fbbc3cac99b4173d082dd6195f47c9a32e7 Mon Sep 17 00:00:00 2001
- From: Steven Barth <steven@midlink.org>
- Date: Mon, 22 Jun 2015 11:01:56 +0200
- Subject: [PATCH] Add libssp_nonshared.a so GCC's is not needed
- Signed-off-by: Steven Barth <steven@midlink.org>
- ---
- Makefile | 10 ++++++++--
- libssp_nonshared/__stack_chk_fail_local.c | 2 ++
- 2 files changed, 10 insertions(+), 2 deletions(-)
- create mode 100644 libssp_nonshared/__stack_chk_fail_local.c
- --- a/Makefile
- +++ b/Makefile
- @@ -48,7 +48,7 @@ CRT_LIBS = lib/crt1.o lib/Scrt1.o lib/rc
- 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
-
- WRAPCC_GCC = gcc
- @@ -106,7 +106,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)
-
- $(CRT_LIBS:lib/%=crt/%): CFLAGS += -DCRT
- @@ -147,6 +148,11 @@ lib/libc.a: $(OBJS)
- $(AR) rc $@ $(OBJS)
- $(RANLIB) $@
-
- +lib/libssp_nonshared.a: libssp_nonshared/__stack_chk_fail_local.o
- + rm -f $@
- + $(AR) rc $@ $<
- + $(RANLIB) $@
- +
- $(EMPTY_LIBS):
- rm -f $@
- $(AR) rc $@
- --- /dev/null
- +++ b/libssp_nonshared/__stack_chk_fail_local.c
- @@ -0,0 +1,2 @@
- +#include "atomic.h"
- +void __attribute__((visibility ("hidden"))) __stack_chk_fail_local(void) { a_crash(); }
|