update buildroot to 2017.02.11
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
Allow cross compilation. Adapted from crosstool-ng.
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch at tkos.co.il>
|
||||
|
||||
Index: b/GNUmakefile
|
||||
===================================================================
|
||||
--- a/GNUmakefile
|
||||
+++ b/GNUmakefile
|
||||
@@ -93,10 +93,6 @@
|
||||
# also define 'WIN32'
|
||||
|
||||
# some defaults:
|
||||
-CC=gcc
|
||||
-CXX=g++
|
||||
-AR=ar
|
||||
-RANLIB=ranlib
|
||||
INSTALL=install
|
||||
RM=rm
|
||||
RMFORCE=rm -f
|
||||
@@ -471,7 +467,7 @@
|
||||
|
||||
createconf$(EXEPOSTFIX): createconf.o
|
||||
- $(RMFORCE) createconf$(EXEPOSTFIX)
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
+ $(CC_FOR_BUILD) $(HOST_CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
|
||||
tstheap$(EXEPOSTFIX): libduma.a tstheap.o
|
||||
- $(RMFORCE) tstheap$(EXEPOSTFIX)
|
||||
@@ -532,7 +528,7 @@
|
||||
# define rules how to build objects for createconf
|
||||
#
|
||||
createconf.o:
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
+ $(CC_FOR_BUILD) $(HOST_CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
|
||||
|
||||
#
|
||||
19
bsp/buildroot-2017.02.11/package/duma/0002-no-tests.patch
Normal file
19
bsp/buildroot-2017.02.11/package/duma/0002-no-tests.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
Do not build test programs
|
||||
|
||||
Biulding test programs does not work when we want to do a static link,
|
||||
because duma.a redefines memcpy and strcpy, so the link fails.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
diff -durN duma-2.5.15.orig/GNUmakefile duma-2.5.15/GNUmakefile
|
||||
--- duma-2.5.15.orig/GNUmakefile 2014-11-16 14:47:05.874448560 +0100
|
||||
+++ duma-2.5.15/GNUmakefile 2014-11-16 14:54:50.792048921 +0100
|
||||
@@ -294,7 +294,7 @@
|
||||
SO_OBJECTS=dumapp_so.o duma_so.o sem_inc_so.o print_so.o
|
||||
|
||||
# Make all the top-level targets the makefile knows about.
|
||||
-all: libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
|
||||
+all: libduma.a $(DUMA_DYN_DEPS)
|
||||
|
||||
# Perform self tests on the program this makefile builds.
|
||||
check test:
|
||||
65
bsp/buildroot-2017.02.11/package/duma/0003-fix-C++14.patch
Normal file
65
bsp/buildroot-2017.02.11/package/duma/0003-fix-C++14.patch
Normal file
@@ -0,0 +1,65 @@
|
||||
dumapp: fix for C++14
|
||||
|
||||
With C++14, the way exceptions are specified has changed (somehow, don't
|
||||
ask me), thus causing build failures:
|
||||
|
||||
dumapp.cpp: In function ‘void* operator new(std::size_t)’:
|
||||
dumapp.cpp:192:19: error: declaration of ‘void* operator new(std::size_t) throw (std::bad_alloc)’ has a different exception specifier
|
||||
void * DUMA_CDECL operator new( DUMA_SIZE_T size )
|
||||
^~~~~~~~
|
||||
In file included from dumapp.cpp:39:0:
|
||||
dumapp.h:91:23: note: from previous declaration ‘void* operator new(std::size_t)’
|
||||
void * DUMA_CDECL operator new(DUMA_SIZE_T) throw(std::bad_alloc);
|
||||
^~~~~~~~
|
||||
|
||||
This is most evident with gcc-6.x, since the default C++ standard has
|
||||
changed from C++11 to C++14, thus exposing these new failures.
|
||||
|
||||
Fix that by guarding the exception handling, a bit like was done
|
||||
with GRASS GIS (thanks DuckDuckGo):
|
||||
|
||||
https://trac.osgeo.org/grass/changeset?old_path=%2F&old=68817&new_path=%2F&new=68818&sfp_email=&sfph_mail=
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
---
|
||||
Note: The last commit in DUMA's CVS repo was more than 7 years ago.
|
||||
I doubt it is still active, so the patch was not sent upstream. :-/
|
||||
|
||||
diff -durN duma-2.5.15.orig/dumapp.cpp duma-2.5.15/dumapp.cpp
|
||||
--- duma-2.5.15.orig/dumapp.cpp 2008-08-03 22:46:06.000000000 +0200
|
||||
+++ duma-2.5.15/dumapp.cpp 2016-07-10 21:55:22.670386099 +0200
|
||||
@@ -190,7 +190,9 @@
|
||||
* (11) = (a) ; ASW
|
||||
*/
|
||||
void * DUMA_CDECL operator new( DUMA_SIZE_T size )
|
||||
+#ifdef DUMA_EXCEPTION_SPECS
|
||||
throw(std::bad_alloc)
|
||||
+#endif
|
||||
{
|
||||
return duma_new_operator(size, EFA_NEW_ELEM, true DUMA_PARAMS_UK);
|
||||
}
|
||||
@@ -254,7 +256,9 @@
|
||||
* (21) = (a) ; AAW
|
||||
*/
|
||||
void * DUMA_CDECL operator new[]( DUMA_SIZE_T size )
|
||||
+#ifdef DUMA_EXCEPTION_SPECS
|
||||
throw(std::bad_alloc)
|
||||
+#endif
|
||||
{
|
||||
return duma_new_operator(size, EFA_NEW_ARRAY, true DUMA_PARAMS_UK);
|
||||
}
|
||||
diff -durN duma-2.5.15.orig/dumapp.h duma-2.5.15/dumapp.h
|
||||
--- duma-2.5.15.orig/dumapp.h 2009-04-11 14:41:44.000000000 +0200
|
||||
+++ duma-2.5.15/dumapp.h 2016-07-10 21:55:22.670386099 +0200
|
||||
@@ -35,6 +35,10 @@
|
||||
|
||||
#include "duma.h"
|
||||
|
||||
+#if __cplusplus < 201103L
|
||||
+ #define DUMA_EXCEPTION_SPECS 1
|
||||
+#endif
|
||||
+
|
||||
/* remove previous macro definitions */
|
||||
#include "noduma.h"
|
||||
|
||||
29
bsp/buildroot-2017.02.11/package/duma/Config.in
Normal file
29
bsp/buildroot-2017.02.11/package/duma/Config.in
Normal file
@@ -0,0 +1,29 @@
|
||||
config BR2_PACKAGE_DUMA
|
||||
bool "duma"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
# By design, duma uses page mapping to isolate
|
||||
# allocations. Non-MMU platforms cannot perform such
|
||||
# things.
|
||||
depends on BR2_USE_MMU
|
||||
# duma works using LD_PRELOAD, so it always needs to build a
|
||||
# shared library
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
D.U.M.A. - Detect Unintended Memory Access. A fork of the
|
||||
Electric Fence library. Detects buffer overflow and
|
||||
underflow, and also memory leaks.
|
||||
|
||||
http://duma.sourceforge.net
|
||||
|
||||
if BR2_PACKAGE_DUMA
|
||||
|
||||
config BR2_PACKAGE_DUMA_NO_LEAKDETECTION
|
||||
bool "disable memory leak detection"
|
||||
|
||||
endif # BR2_PACKAGE_DUMA
|
||||
|
||||
comment "duma needs a toolchain w/ C++, threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_STATIC_LIBS
|
||||
2
bsp/buildroot-2017.02.11/package/duma/duma.hash
Normal file
2
bsp/buildroot-2017.02.11/package/duma/duma.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally computed:
|
||||
sha256 baaf794854e3093ad1bddadbfb8ad4b220a7117d70359ee216bd59e353734e17 duma_2_5_15.tar.gz
|
||||
35
bsp/buildroot-2017.02.11/package/duma/duma.mk
Normal file
35
bsp/buildroot-2017.02.11/package/duma/duma.mk
Normal file
@@ -0,0 +1,35 @@
|
||||
################################################################################
|
||||
#
|
||||
# duma
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DUMA_VERSION = 2.5.15
|
||||
DUMA_SOURCE = duma_$(subst .,_,$(DUMA_VERSION)).tar.gz
|
||||
DUMA_SITE = http://downloads.sourceforge.net/project/duma/duma/$(DUMA_VERSION)
|
||||
DUMA_LICENSE = GPLv2+, LGPLv2.1+
|
||||
DUMA_LICENSE_FILES = COPYING-GPL COPYING-LGPL
|
||||
|
||||
DUMA_INSTALL_STAGING = YES
|
||||
|
||||
DUMA_OPTIONS = \
|
||||
$(if $(BR2_PACKAGE_DUMA_NO_LEAKDETECTION),-DDUMA_LIB_NO_LEAKDETECTION)
|
||||
|
||||
# The dependency of some source files in duma_config.h, which is generated at
|
||||
# build time, is not specified in the Makefile. Force non-parallel build.
|
||||
define DUMA_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \
|
||||
OS=linux \
|
||||
DUMA_OPTIONS="$(DUMA_OPTIONS)" \
|
||||
$(DUMA_CPP) -C $(@D)
|
||||
endef
|
||||
|
||||
define DUMA_INSTALL_STAGING_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) OS=linux prefix=$(STAGING_DIR)/usr install -C $(@D)
|
||||
endef
|
||||
|
||||
define DUMA_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) OS=linux prefix=$(TARGET_DIR)/usr install -C $(@D)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user