diff options
author | Steven Barth <cyrus@openwrt.org> | 2015-06-19 14:09:02 +0000 |
---|---|---|
committer | Steven Barth <cyrus@openwrt.org> | 2015-06-19 14:09:02 +0000 |
commit | 38da12f7e40e2917878ca90e02f680ea480439bc (patch) | |
tree | 7f828700a7298a7f54741f2c90667d04277f7c4c /package/libs | |
parent | 4d548dce6784070c5774c451139edb361b6bee7d (diff) | |
download | upstream-38da12f7e40e2917878ca90e02f680ea480439bc.tar.gz upstream-38da12f7e40e2917878ca90e02f680ea480439bc.tar.bz2 upstream-38da12f7e40e2917878ca90e02f680ea480439bc.zip |
uclibc++: honor ldflags, disable SSP
Signed-off-by: Steven Barth <steven@midlink.org>
SVN-Revision: 46066
Diffstat (limited to 'package/libs')
-rw-r--r-- | package/libs/uclibc++/Makefile | 7 | ||||
-rw-r--r-- | package/libs/uclibc++/patches/010-honor-ldflags.patch | 23 |
2 files changed, 27 insertions, 3 deletions
diff --git a/package/libs/uclibc++/Makefile b/package/libs/uclibc++/Makefile index 1196926e8c..a726a1edad 100644 --- a/package/libs/uclibc++/Makefile +++ b/package/libs/uclibc++/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uclibc++ PKG_VERSION:=0.2.4 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=uClibc++-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://cxx.uclibc.org/src/ @@ -44,7 +44,7 @@ UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \ -e 's/mipsel.*/mips/' \ ) -TARGET_CFLAGS += $(FPIC) +TARGET_CFLAGS += $(FPIC) -fno-stack-protector ifneq ($(CONFIG_CCACHE),) TARGET_CXX=$(TARGET_CXX_NOCACHE) @@ -55,8 +55,9 @@ MAKE_FLAGS:= \ $(TARGET_CONFIGURE_OPTS) \ CPU_CFLAGS="$(TARGET_CFLAGS)" \ CROSS="$(TARGET_CROSS)" \ + LDFLAGS="-Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc -Wl,-z,defs $(TARGET_LDFLAGS)" \ CP="$(CP)" \ - GEN_LIBS="-lc $(LIBGCC_S)" \ + GEN_LIBS="-lc $(LIBGCC_S) -lssp" \ check_as_needed= # check_as_needed overrides dependency on libgcc_s diff --git a/package/libs/uclibc++/patches/010-honor-ldflags.patch b/package/libs/uclibc++/patches/010-honor-ldflags.patch new file mode 100644 index 0000000000..b1050cb1bd --- /dev/null +++ b/package/libs/uclibc++/patches/010-honor-ldflags.patch @@ -0,0 +1,23 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -3,9 +3,9 @@ include $(TOPDIR)Rules.mak + + WR_CXX := WRAPPER_INCLUDEDIR=-I$(TOPDIR)include $(TOPDIR)bin/g++-uc + +-LDFLAGS += -nodefaultlibs -shared -Wl,-soname,$(SHARED_MAJORNAME) $(BUILD_EXTRA_LIBRARIES) ++EXTRA_LDFLAGS += -nodefaultlibs -shared -Wl,-soname,$(SHARED_MAJORNAME) $(BUILD_EXTRA_LIBRARIES) + ifneq ($(DODEBUG),y) +-LDFLAGS += -Wl,-s ++EXTRA_LDFLAGS += -Wl,-s + endif + + SRCS = $(wildcard *.cpp) +@@ -60,7 +60,7 @@ $(LIBNAME).a: libgcc_eh libsupc $(EXOBJS + $(RANLIB) $@ + + $(SHARED_FULLNAME): libgcc_eh libsupc $(EXOBJS) +- $(CC) $(LDFLAGS) -o $@ $(EXOBJS) $(SUPOBJS) $(GCCOBJS) $(LIBS) ++ $(CC) $(LDFLAGS) $(EXTRA_LDFLAGS) -o $@ $(EXOBJS) $(SUPOBJS) $(GCCOBJS) $(LIBS) + $(LN) $@ $(SHARED_MAJORNAME) + $(LN) $(SHARED_MAJORNAME) $(LIBNAME).so + |