diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-10-17 12:01:47 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-10-22 22:31:24 +0200 |
commit | 3ca1407b8b0078cfdef9934741533c2ee279460a (patch) | |
tree | 1ee769a7de75085920b9f049294482615f8321c2 | |
parent | 03041ae2857cd0f08be98a0442e06ddba1b21c1f (diff) |
uclibcxx: fix compile for rpi
-rw-r--r-- | package/uclibc++/Makefile | 3 | ||||
-rw-r--r-- | package/uclibc++/patches/patch-Rules_mak | 20 | ||||
-rw-r--r-- | package/uclibc++/patches/patch-include_unwind-cxx_h | 27 |
3 files changed, 34 insertions, 16 deletions
diff --git a/package/uclibc++/Makefile b/package/uclibc++/Makefile index 8e6f73559..799e134b5 100644 --- a/package/uclibc++/Makefile +++ b/package/uclibc++/Makefile @@ -16,6 +16,7 @@ PKG_LIBNAME:= uclibc++ PKG_OPTS:= dev DISTFILES:= uClibc++-${PKG_VERSION}.tar.bz2 +WRKDIST= ${WRKDIR}/uClibc++-${PKG_VERSION} PKG_LIBC_DEPENDS:= uclibc-ng @@ -28,7 +29,7 @@ INSTALL_STYLE:= manual MAKE_FLAGS+= ADK_TOPDIR="${WRKBUILD}/" \ ${TARGET_CONFIGURE_OPTS} \ - ARCH_CFLAGS="${TARGET_CFLAGS}" \ + ARCH_CFLAGS="${TARGET_CFLAGS} -lgcc_s" \ CROSS="${TARGET_CROSS}" TARGET_CONFIGURE_OPTS= diff --git a/package/uclibc++/patches/patch-Rules_mak b/package/uclibc++/patches/patch-Rules_mak index 228483825..da32b0b75 100644 --- a/package/uclibc++/patches/patch-Rules_mak +++ b/package/uclibc++/patches/patch-Rules_mak @@ -1,5 +1,5 @@ --- uClibc++-0.2.4.orig/Rules.mak 2012-05-25 23:15:31.000000000 +0200 -+++ uClibc++-0.2.4/Rules.mak 2014-05-26 16:20:39.000000000 +0200 ++++ uClibc++-0.2.4/Rules.mak 2015-10-14 18:06:07.000000000 +0200 @@ -79,9 +79,6 @@ check_gcc=$(shell if $(CC) $(1) -S -o /d check_gxx_visibility=$(shell if $(CXX) -fvisibility-inlines-hidden -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1; \ then echo "-DGCC_HASCLASSVISIBILITY"; fi) @@ -10,3 +10,21 @@ # strip quotes qstrip = $(strip $(subst ",,$(1))) #")) +@@ -107,7 +104,7 @@ CPU_CFLAGS=$(call qstrip,$(CPU_CFLAGS-y) + + # Some nice CFLAGS to work with + GEN_CFLAGS:=-fno-builtin +-CFLAGS:=$(XWARNINGS) $(CPU_CFLAGS) -ansi ++CFLAGS:=$(XWARNINGS) $(CPU_CFLAGS) + + LDFLAGS:=-Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc -Wl,-z,defs + +@@ -145,7 +142,7 @@ endif + ifneq ($(IMPORT_LIBSUP),y) + GEN_LIBS += -lsupc++ + endif +-GEN_LIBS += -lc -lgcc ++GEN_LIBS += -lc -lgcc -lgcc_s + + LIBS := $(GEN_LIBS) + STATIC_LIBS := $(GEN_LIBS) diff --git a/package/uclibc++/patches/patch-include_unwind-cxx_h b/package/uclibc++/patches/patch-include_unwind-cxx_h index a81d44cc7..f086bd4e2 100644 --- a/package/uclibc++/patches/patch-include_unwind-cxx_h +++ b/package/uclibc++/patches/patch-include_unwind-cxx_h @@ -1,21 +1,20 @@ http://git.uclibc.org/uClibc++/commit/?id=cf73cb907c03ca2fb22bfe7fe2f732c10714b9ad --- uClibc++-0.2.4.orig/include/unwind-cxx.h 2012-05-25 23:15:31.000000000 +0200 -+++ uClibc++-0.2.4/include/unwind-cxx.h 2013-09-24 11:48:52.000000000 +0200 -@@ -173,6 +173,7 @@ extern std::unexpected_handler __unexpec ++++ uClibc++-0.2.4/include/unwind-cxx.h 2015-10-14 17:02:55.000000000 +0200 +@@ -172,15 +172,7 @@ extern std::unexpected_handler __unexpec + // These are explicitly GNU C++ specific.
// 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
-+= "GNUCC++";
-+#endif
+-const _Unwind_Exception_Class __gxx_exception_class
+-= ((((((((_Unwind_Exception_Class) 'G'
+- << 8 | (_Unwind_Exception_Class) 'N')
+- << 8 | (_Unwind_Exception_Class) 'U')
+- << 8 | (_Unwind_Exception_Class) 'C')
+- << 8 | (_Unwind_Exception_Class) 'C')
+- << 8 | (_Unwind_Exception_Class) '+')
+- << 8 | (_Unwind_Exception_Class) '+')
+- << 8 | (_Unwind_Exception_Class) '\0');
++const _Unwind_Exception_Class __gxx_exception_class = "GNUCC++";
// GNU C++ personality routine, Version 0.
extern "C" _Unwind_Reason_Code __gxx_personality_v0
|