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 +