summaryrefslogtreecommitdiff
path: root/package/libs/uclibc++
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-07-14 13:02:48 +0200
committerFelix Fietkau <nbd@nbd.name>2016-07-15 14:18:01 +0200
commitb948c9371b2bce7b5c3ca5812cc4b9d9a02b49b9 (patch)
tree785c6f3a258fcda02c264ffda69856ecfc0abef6 /package/libs/uclibc++
parent445604a915e8ed4669b3ef3c622259c7ca0081c1 (diff)
downloadmtk-20170518-b948c9371b2bce7b5c3ca5812cc4b9d9a02b49b9.zip
mtk-20170518-b948c9371b2bce7b5c3ca5812cc4b9d9a02b49b9.tar.gz
mtk-20170518-b948c9371b2bce7b5c3ca5812cc4b9d9a02b49b9.tar.bz2
uclibc++: fix build with gcc 6.1.0, which defaults to using C++14 ABI
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/libs/uclibc++')
-rw-r--r--package/libs/uclibc++/Makefile1
-rw-r--r--package/libs/uclibc++/patches/040-delete-c++14.patch20
2 files changed, 21 insertions, 0 deletions
diff --git a/package/libs/uclibc++/Makefile b/package/libs/uclibc++/Makefile
index 4c7c767..c386550 100644
--- a/package/libs/uclibc++/Makefile
+++ b/package/libs/uclibc++/Makefile
@@ -63,6 +63,7 @@ MAKE_FLAGS:= \
LDFLAGS="-Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc -Wl,-z,defs $(TARGET_LDFLAGS)" \
CP="$(CP)" \
GEN_LIBS="-lc $(LIBGCC_S) $(SSP_LIB)" \
+ GEN_CFLAGS="-std=gnu++98 -nostdinc++" \
check_as_needed=
# check_as_needed overrides dependency on libgcc_s
diff --git a/package/libs/uclibc++/patches/040-delete-c++14.patch b/package/libs/uclibc++/patches/040-delete-c++14.patch
new file mode 100644
index 0000000..f48a78f
--- /dev/null
+++ b/package/libs/uclibc++/patches/040-delete-c++14.patch
@@ -0,0 +1,20 @@
+--- a/src/del_op.cpp
++++ b/src/del_op.cpp
+@@ -24,3 +24,7 @@
+ _UCXXEXPORT void operator delete(void* ptr) throw(){
+ free(ptr);
+ }
++
++_UCXXEXPORT void operator delete(void* ptr, size_t size) throw(){
++ free(ptr);
++}
+--- a/src/del_opv.cpp
++++ b/src/del_opv.cpp
+@@ -24,3 +24,7 @@
+ _UCXXEXPORT void operator delete[](void * ptr) throw(){
+ free(ptr);
+ }
++
++_UCXXEXPORT void operator delete[](void * ptr, size_t size) throw(){
++ free(ptr);
++}