From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- .../libs/uclibc++/patches/002-path_to_bash.patch | 11 +++++++ package/libs/uclibc++/patches/006-eabi_fix.patch | 38 ++++++++++++++++++++++ .../libs/uclibc++/patches/010-honor-ldflags.patch | 23 +++++++++++++ .../libs/uclibc++/patches/020-template-fix.patch | 22 +++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 package/libs/uclibc++/patches/002-path_to_bash.patch create mode 100644 package/libs/uclibc++/patches/006-eabi_fix.patch create mode 100644 package/libs/uclibc++/patches/010-honor-ldflags.patch create mode 100644 package/libs/uclibc++/patches/020-template-fix.patch (limited to 'package/libs/uclibc++/patches') diff --git a/package/libs/uclibc++/patches/002-path_to_bash.patch b/package/libs/uclibc++/patches/002-path_to_bash.patch new file mode 100644 index 0000000..26d88ee --- /dev/null +++ b/package/libs/uclibc++/patches/002-path_to_bash.patch @@ -0,0 +1,11 @@ +--- a/bin/Makefile ++++ b/bin/Makefile +@@ -13,7 +13,7 @@ install: + $(INSTALL) -m 755 $(WRAPPER) $(PREFIX)$(UCLIBCXX_RUNTIME_BINDIR) + + $(WRAPPER): Makefile +- echo '#!/bin/sh' > $@ ++ echo '#!/usr/bin/env bash' > $@ + echo '' >> $@ + echo 'WRAPPER_INCLUDEDIR="$${WRAPPER_INCLUDEDIR:=-I$(UCLIBCXX_RUNTIME_INCLUDEDIR)}"' >> $@ + echo 'WRAPPER_LIBDIR="$${WRAPPER_LIBDIR:=-L$(UCLIBCXX_RUNTIME_LIBDIR)}"' >> $@ diff --git a/package/libs/uclibc++/patches/006-eabi_fix.patch b/package/libs/uclibc++/patches/006-eabi_fix.patch new file mode 100644 index 0000000..65b436c --- /dev/null +++ b/package/libs/uclibc++/patches/006-eabi_fix.patch @@ -0,0 +1,38 @@ +--- a/include/typeinfo ++++ b/include/typeinfo +@@ -44,6 +44,7 @@ namespace __cxxabiv1 + class __class_type_info; + } // namespace __cxxabiv1 + ++#ifndef __GXX_MERGED_TYPEINFO_NAMES + #if !__GXX_WEAK__ + // If weak symbols are not supported, typeinfo names are not merged. + #define __GXX_MERGED_TYPEINFO_NAMES 0 +@@ -51,6 +52,7 @@ namespace __cxxabiv1 + // On platforms that support weak symbols, typeinfo names are merged. + #define __GXX_MERGED_TYPEINFO_NAMES 1 + #endif ++#endif + + namespace std + { +--- a/include/unwind-cxx.h ++++ b/include/unwind-cxx.h +@@ -173,6 +173,7 @@ extern std::unexpected_handler __unexpec + + // This is the exception class we report -- "GNUCC++\0". + const _Unwind_Exception_Class __gxx_exception_class ++#ifndef __ARM_EABI_UNWINDER__ + = ((((((((_Unwind_Exception_Class) 'G' + << 8 | (_Unwind_Exception_Class) 'N') + << 8 | (_Unwind_Exception_Class) 'U') +@@ -181,6 +182,9 @@ const _Unwind_Exception_Class __gxx_exce + << 8 | (_Unwind_Exception_Class) '+') + << 8 | (_Unwind_Exception_Class) '+') + << 8 | (_Unwind_Exception_Class) '\0'); ++#else ++= "GNUC++"; ++#endif + + // GNU C++ personality routine, Version 0. + extern "C" _Unwind_Reason_Code __gxx_personality_v0 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 0000000..b1050cb --- /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 + diff --git a/package/libs/uclibc++/patches/020-template-fix.patch b/package/libs/uclibc++/patches/020-template-fix.patch new file mode 100644 index 0000000..f7cc09e --- /dev/null +++ b/package/libs/uclibc++/patches/020-template-fix.patch @@ -0,0 +1,22 @@ +--- a/include/ostream ++++ b/include/ostream +@@ -294,7 +294,7 @@ namespace std { + #endif + #endif + +- template > ++ template + class _UCXXEXPORT basic_ostream::sentry + { + bool ok; +--- a/include/istream ++++ b/include/istream +@@ -340,7 +340,7 @@ namespace std{ + + }; + +- template > class _UCXXEXPORT basic_istream::sentry { ++ template class _UCXXEXPORT basic_istream::sentry { + bool ok; + public: + explicit _UCXXEXPORT sentry(basic_istream& os, bool noskipws = false){ -- cgit v1.2.3