diff --git a/package/dmalloc/0001-configure-fix-build-on-mips.patch b/package/dmalloc/0001-configure-fix-build-on-mips.patch new file mode 100644 index 0000000000..9b1525d0d1 --- /dev/null +++ b/package/dmalloc/0001-configure-fix-build-on-mips.patch @@ -0,0 +1,90 @@ +From af6adb3f5f05be4faa88a5aa83296c388c8085e7 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Wed, 8 Feb 2023 12:30:10 +0100 +Subject: [PATCH] configure: fix build on mips + +This patch is a historical baggage that Buildroot has carried for ages +(since 2006), and the reason for it are notentirely clear. + +Since dmalloc is pretty tricky, and as this patch has not been +identified as causing issues, we keep it; we just add the configure.ac +patchlet to match the one in configure. + +As for the title, the original patch was named dmalloc-mips.patch, so +presumably it fixes some mips issue; let's title the commit that way. + +[Fabrice: Updated for 5.6.5] +Signed-off-by: Fabrice Fontaine +[yann.morin.1998@free.fr: make it a git-formatted patch] +Signed-off-by: Yann E. MORIN +--- + configure | 4 ++-- + configure.ac | 2 +- + return.h | 16 +++------------- + 3 files changed, 6 insertions(+), 16 deletions(-) + +diff --git a/configure b/configure +index d52a1e8..c18dfb2 100755 +--- a/configure ++++ b/configure +@@ -5413,8 +5413,8 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking return.h macros work" >&5 + $as_echo_n "checking return.h macros work... " >&6; } + if test "$cross_compiling" = yes; then : +- $as_echo "#define RETURN_MACROS_WORK 0" >>confdefs.h +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++ $as_echo "#define RETURN_MACROS_WORK 1" >>confdefs.h ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: assume yes (cross-compiling)" >&5 + $as_echo "no" >&6; } + + else +diff --git a/configure.ac b/configure.ac +index a5295f1..9740fdc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -705,7 +705,7 @@ int main() + ])], + [ AC_DEFINE(RETURN_MACROS_WORK, 1) AC_MSG_RESULT([yes]) ], + [ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ], +-[ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ] ++[ AC_DEFINE(RETURN_MACROS_WORK, 1) AC_MSG_RESULT([assume yes (cross-compiling)]) ] + ) + + ############################################################################## +diff --git a/return.h b/return.h +index 9d3f5f1..d916c7a 100644 +--- a/return.h ++++ b/return.h +@@ -117,26 +117,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 */ + +-- +2.25.1 + diff --git a/package/dmalloc/0001-mips.patch b/package/dmalloc/0001-mips.patch deleted file mode 100644 index 3150d030ec..0000000000 --- a/package/dmalloc/0001-mips.patch +++ /dev/null @@ -1,45 +0,0 @@ -[Fabrice: Updated for 5.6.5] -Signed-off-by: Fabrice Fontaine ---- a/configure -+++ b/configure -@@ -7107,7 +7107,7 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking return.h macros work" >&5 - $as_echo_n "checking return.h macros work... " >&6; } - if test "$cross_compiling" = yes; then : -- $as_echo "#define RETURN_MACROS_WORK 0" >>confdefs.h -+ $as_echo "#define RETURN_MACROS_WORK 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "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 */ -