update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -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 $@
#

View 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:

View 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"

View 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

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 baaf794854e3093ad1bddadbfb8ad4b220a7117d70359ee216bd59e353734e17 duma_2_5_15.tar.gz

View 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))