mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
58
package/dmalloc/0001-add-fpic.patch
Normal file
58
package/dmalloc/0001-add-fpic.patch
Normal file
@@ -0,0 +1,58 @@
|
||||
Without -fPIC, dmalloc does not build with:
|
||||
|
||||
/home/test/mips-4.4/bin/mips-linux-gnu-ld --sysroot=/home/test/outputs/test-35/staging -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a
|
||||
/home/test/mips-4.4/bin/mips-linux-gnu-ld: libdmalloc.a(arg_check.o): relocation R_MIPS_HI16 against `_dmalloc_flags' can not be used when making a shared object; recompile with -fPIC
|
||||
libdmalloc.a(arg_check.o): could not read symbols: Bad value
|
||||
|
||||
This patch, taken from
|
||||
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dmalloc/files/dmalloc-5.2.4-fpic.patch?hideattic=0&view=markup,
|
||||
fixes the problem by passing the -fPIC flag. It isn't passed through
|
||||
the ./configure environment in order to not clutter the configuration
|
||||
cache with incorrect values.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile.in | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -318,17 +318,17 @@
|
||||
# special _th versions of objects with the LOCK_THREADS variable defined to 1
|
||||
chunk_th.o : $(srcdir)/chunk.c
|
||||
rm -f $@
|
||||
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
|
||||
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
|
||||
-c $(srcdir)/chunk.c -o ./$@
|
||||
|
||||
error_th.o : $(srcdir)/error.c
|
||||
rm -f $@
|
||||
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
|
||||
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
|
||||
-c $(srcdir)/error.c -o ./$@
|
||||
|
||||
malloc_th.o : $(srcdir)/malloc.c
|
||||
rm -f $@
|
||||
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
|
||||
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
|
||||
-c $(srcdir)/malloc.c -o ./$@
|
||||
|
||||
tests : $(TEST) $(TEST_FC)
|
||||
@@ -360,7 +360,7 @@
|
||||
|
||||
.c.o :
|
||||
rm -f $@
|
||||
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
|
||||
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
|
||||
|
||||
#
|
||||
# .cc.o auto-target doesn't work on some systems.
|
||||
@@ -368,7 +368,7 @@
|
||||
#
|
||||
dmallocc.o : $(srcdir)/dmallocc.cc
|
||||
rm -f $@
|
||||
- $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
|
||||
+ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
|
||||
-o ./$@
|
||||
|
||||
#
|
||||
43
package/dmalloc/0002-mips.patch
Normal file
43
package/dmalloc/0002-mips.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -7107,7 +7107,7 @@
|
||||
echo $ECHO_N "checking return.h macros work... $ECHO_C" >&6
|
||||
if test "$cross_compiling" = yes; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
-#define RETURN_MACROS_WORK 0
|
||||
+#define RETURN_MACROS_WORK 1
|
||||
_ACEOF
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6
|
||||
--- a/return.h
|
||||
+++ b/return.h
|
||||
@@ -106,26 +106,16 @@
|
||||
/*************************************/
|
||||
|
||||
/*
|
||||
- * For DEC Mips machines running Ultrix
|
||||
+ * For Mips machines running Linux
|
||||
*/
|
||||
#if __mips
|
||||
|
||||
/*
|
||||
- * I have no idea how to get inline assembly with the default cc.
|
||||
- * Anyone know how?
|
||||
- */
|
||||
-
|
||||
-#if 0
|
||||
-
|
||||
-/*
|
||||
* NOTE: we assume here that file is global.
|
||||
*
|
||||
- * $31 is the frame pointer. $2 looks to be the return address but maybe
|
||||
- * not consistently.
|
||||
+ * $31 is the return address.
|
||||
*/
|
||||
-#define GET_RET_ADDR(file) asm("sw $2, file")
|
||||
-
|
||||
-#endif
|
||||
+#define GET_RET_ADDR(file) asm("sw $31, %0" : "=m" (file))
|
||||
|
||||
#endif /* __mips */
|
||||
|
||||
18
package/dmalloc/0003-fix-parallel-build.patch
Normal file
18
package/dmalloc/0003-fix-parallel-build.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
Fix parallel build issue
|
||||
|
||||
Missing dmallocc.o <- dmalloc.h dependency may break parallel builds.
|
||||
dmalloc.h is generated,and may not be around by the time gcc starts
|
||||
parsing dmallocc.cc.
|
||||
|
||||
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -401,6 +401,7 @@
|
||||
compat.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
|
||||
dmalloc.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \
|
||||
debug_tok.h dmalloc_loc.h env.h error_val.h version.h
|
||||
+dmallocc.o: dmallocc.cc dmalloc.h return.h conf.h settings.h
|
||||
dmalloc_argv.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \
|
||||
dmalloc_argv_loc.h compat.h
|
||||
dmalloc_fc_t.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \
|
||||
46
package/dmalloc/0004-fix-shlibs.patch
Normal file
46
package/dmalloc/0004-fix-shlibs.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
Fix shared library rules
|
||||
|
||||
dmalloc uses ld -shared --whole-archive -o lib.so lib.a,
|
||||
but for some reason lists regular objects in addition
|
||||
to the archive, ending up with two copies of each symbol.
|
||||
|
||||
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -257,7 +257,7 @@ shlib : $(BUILD_SL)
|
||||
# via: http://256.com/gray/email.html
|
||||
$(LIB_SL) : $(LIBRARY)
|
||||
rm -f $@ $@.t
|
||||
- @shlinkargs@ $(LIBRARY) $(OBJS) $(NORMAL_OBJS)
|
||||
+ @shlinkargs@ $(LIBRARY)
|
||||
mv $@.t $@
|
||||
|
||||
$(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
|
||||
@@ -270,7 +270,7 @@ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
|
||||
|
||||
$(LIB_TH_SL) : $(LIB_TH)
|
||||
rm -f $@ $@.t
|
||||
- @shlinkargs@ $(LIB_TH) $(OBJS) $(THREAD_OBJS)
|
||||
+ @shlinkargs@ $(LIB_TH)
|
||||
mv $@.t $@
|
||||
|
||||
$(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
|
||||
@@ -279,7 +279,7 @@ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
|
||||
|
||||
$(LIB_CXX_SL) : $(LIB_CXX)
|
||||
rm -f $@ $@.t
|
||||
- @shlinkargs@ $(LIB_CXX) $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
|
||||
+ @shlinkargs@ $(LIB_CXX)
|
||||
mv $@.t $@
|
||||
|
||||
$(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
|
||||
@@ -288,7 +288,7 @@ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
|
||||
|
||||
$(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
|
||||
rm -f $@ $@.t
|
||||
- @shlinkargs@ $(LIB_TH_CXX) $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
|
||||
+ @shlinkargs@ $(LIB_TH_CXX)
|
||||
mv $@.t $@
|
||||
|
||||
threadssl : $(LIB_TH_SL)
|
||||
24
package/dmalloc/0005-fix-strdup.patch
Normal file
24
package/dmalloc/0005-fix-strdup.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
From 59d73a473f1c1a31bcba90d314f956d0bcc3de95 Mon Sep 17 00:00:00 2001
|
||||
From: Siana Gearz <siana.sg@live.de>
|
||||
Date: Sat, 8 Sep 2012 22:55:17 +0200
|
||||
Subject: [PATCH] Fix strdup
|
||||
|
||||
[Retrieved from:
|
||||
https://github.com/siana/dmalloc/commit/59d73a473f1c1a31bcba90d314f956d0bcc3de95]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
dmalloc.h.3 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dmalloc.h.3 b/dmalloc.h.3
|
||||
index d3d1c13..3fc573a 100644
|
||||
--- a/dmalloc.h.3
|
||||
+++ b/dmalloc.h.3
|
||||
@@ -459,6 +459,7 @@ DMALLOC_PNT valloc(DMALLOC_SIZE size);
|
||||
*
|
||||
* string -> String we are duplicating.
|
||||
*/
|
||||
+#undef strdup
|
||||
extern
|
||||
char *strdup(const char *string);
|
||||
#endif /* ifndef DMALLOC_STRDUP_MACRO */
|
||||
24
package/dmalloc/0006-fix-strndup.patch
Normal file
24
package/dmalloc/0006-fix-strndup.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
From 005d92c2cebbde5c8623daa29725f7a62b18df7c Mon Sep 17 00:00:00 2001
|
||||
From: Siana Gearz <siana.sg@live.de>
|
||||
Date: Sat, 8 Sep 2012 22:44:35 +0200
|
||||
Subject: [PATCH] Fix strndup
|
||||
|
||||
[Retrieved from:
|
||||
https://github.com/siana/dmalloc/commit/005d92c2cebbde5c8623daa29725f7a62b18df7c]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
dmalloc.h.3 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dmalloc.h.3 b/dmalloc.h.3
|
||||
index 8bda997..fb538a8 100644
|
||||
--- a/dmalloc.h.3
|
||||
+++ b/dmalloc.h.3
|
||||
@@ -429,6 +429,7 @@ char *strdup(const char *string);
|
||||
*
|
||||
* len -> Length of the string to duplicate.
|
||||
*/
|
||||
+#undef strndup
|
||||
extern
|
||||
char *strndup(const char *string, const DMALLOC_SIZE len);
|
||||
|
||||
9
package/dmalloc/Config.in
Normal file
9
package/dmalloc/Config.in
Normal file
@@ -0,0 +1,9 @@
|
||||
config BR2_PACKAGE_DMALLOC
|
||||
bool "dmalloc"
|
||||
help
|
||||
A debug memory allocation library which is a drop in
|
||||
replacement for the system's malloc, realloc, calloc, free and
|
||||
other memory management routines while providing powerful
|
||||
debugging facilities configurable at runtime.
|
||||
|
||||
http://dmalloc.com/
|
||||
2
package/dmalloc/dmalloc.hash
Normal file
2
package/dmalloc/dmalloc.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally computed:
|
||||
sha256 d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a dmalloc-5.5.2.tgz
|
||||
74
package/dmalloc/dmalloc.mk
Normal file
74
package/dmalloc/dmalloc.mk
Normal file
@@ -0,0 +1,74 @@
|
||||
################################################################################
|
||||
#
|
||||
# dmalloc
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DMALLOC_VERSION = 5.5.2
|
||||
DMALLOC_SOURCE = dmalloc-$(DMALLOC_VERSION).tgz
|
||||
DMALLOC_SITE = http://dmalloc.com/releases
|
||||
|
||||
DMALLOC_LICENSE = MIT-like
|
||||
# license is in each file, dmalloc.h.1 is the smallest one
|
||||
DMALLOC_LICENSE_FILES = dmalloc.h.1
|
||||
|
||||
DMALLOC_INSTALL_STAGING = YES
|
||||
DMALLOC_CONF_OPTS = --enable-shlib
|
||||
DMALLOC_CFLAGS = $(TARGET_CFLAGS)
|
||||
|
||||
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
|
||||
DMALLOC_CONF_OPTS += --enable-cxx
|
||||
else
|
||||
DMALLOC_CONF_OPTS += --disable-cxx
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
||||
DMALLOC_CONF_OPTS += --enable-threads
|
||||
else
|
||||
DMALLOC_CONF_OPTS += --disable-threads
|
||||
endif
|
||||
|
||||
# dmalloc has some assembly function that are not present in thumb1 mode:
|
||||
# Error: lo register required -- `str lr,[sp,#4]'
|
||||
# so, we desactivate thumb mode
|
||||
ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
|
||||
DMALLOC_CFLAGS += -marm
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_63261),y)
|
||||
DMALLOC_CFLAGS += -O0
|
||||
endif
|
||||
|
||||
DMALLOC_CONF_ENV = CFLAGS="$(DMALLOC_CFLAGS)"
|
||||
|
||||
define DMALLOC_POST_PATCH
|
||||
$(SED) 's/^ac_cv_page_size=0$$/ac_cv_page_size=12/' $(@D)/configure
|
||||
$(SED) 's/(ld -/($${LD-ld} -/' $(@D)/configure
|
||||
$(SED) 's/'\''ld -/"$${LD-ld}"'\'' -/' $(@D)/configure
|
||||
$(SED) 's/ar cr/$$(AR) cr/' $(@D)/Makefile.in
|
||||
endef
|
||||
|
||||
DMALLOC_POST_PATCH_HOOKS += DMALLOC_POST_PATCH
|
||||
|
||||
# both DESTDIR and PREFIX are ignored..
|
||||
define DMALLOC_INSTALL_STAGING_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) includedir="$(STAGING_DIR)/usr/include" \
|
||||
bindir="$(STAGING_DIR)/usr/bin" \
|
||||
libdir="$(STAGING_DIR)/usr/lib" \
|
||||
shlibdir="$(STAGING_DIR)/usr/lib" \
|
||||
infodir="$(STAGING_DIR)/usr/share/info/" \
|
||||
-C $(@D) install
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),)
|
||||
define DMALLOC_INSTALL_SHARED_LIB
|
||||
cp -dpf $(STAGING_DIR)/usr/lib/libdmalloc*.so $(TARGET_DIR)/usr/lib
|
||||
endef
|
||||
endif
|
||||
|
||||
define DMALLOC_INSTALL_TARGET_CMDS
|
||||
$(DMALLOC_INSTALL_SHARED_LIB)
|
||||
cp -dpf $(STAGING_DIR)/usr/bin/dmalloc $(TARGET_DIR)/usr/bin/dmalloc
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
Reference in New Issue
Block a user