dd_rescue/dd_rescue-md5-unaligned-armv7.diff
Kurt Garloff 2f1bd26104 Accepting request 1195603 from home:garloff:branches:Base:System
- Avoid setting _FORTIFY_SOURCE in configure script, it may
  conflict with flags passed in otherwise (e.g. rpmbuild).
- Update to dd_rescue-1.99.14:
  * Drop patches dd_rescue-u-emptyout-segfault.diff:,
    dd_rescue-fuzz-test-more-err.diff:,
    dd_rescue-md5-unaligned-armv7.diff:,
    dd_rescue-ossl3-evpcipherctx.diff: All integrated upstream.
  * Fix detection of LFS function availability for musl.
  * Include headers and settings to make it work on musl.
  * Replaced basename() with mybasename.h.
  * Prefetch lookup table for sha hashing. 
  * Fix verbose output when falling back to small blocksize.
  * Fix clearing of errno (unaligned writes at EOF on musl)
- Final tarball with fixes for Android Makefiles.

OBS-URL: https://build.opensuse.org/request/show/1195603
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=80
2024-08-30 19:31:38 +00:00

45 lines
1.4 KiB
Diff

commit 19da344403f9d340d7343e99df6ec3e4b79684d9
Author: Kurt Garloff <kurt@garloff.de>
Date: Sun Mar 3 21:53:21 2024 +0100
Trouble is that we don't detect that ARMv7 requires extra buffering
is md5 input is not properly aligned. gcc-12 apparently is clever enough
to handle unlaigned memory access for us, which makes us succeed in the
testcase. It's not clever enough to also succeed in md5_64() :-O
Signed-off-by: Kurt Garloff <kurt@garloff.de>
diff --git a/configure.ac b/configure.ac
index d99387c..7a7dccf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,7 +60,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
AC_DEFINE_UNQUOTED([HAVE_REP_NOP], 1,
[check whether asm rep nop works])
],[
- AC_MSG_RESULT(yes)
+ AC_MSG_RESULT(no)
],[
AC_MSG_RESULT(no -- cross compiling)
])
@@ -79,7 +79,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
AC_DEFINE_UNQUOTED([HAVE_LFENCE], 1,
[check whether asm lfence works])
],[
- AC_MSG_RESULT(yes)
+ AC_MSG_RESULT(no)
],[
AC_MSG_RESULT(no -- cross compiling)
])
@@ -171,6 +171,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
fprintf(stderr, "Debug: Off %i, Ptr %08lx\n", off, (unsigned long)ptr);
copy((int*)b2, (const int*)ptr, 4);
fprintf(stderr, "Ints: %08x %08x %08x %08x\n", *(int*)b2, *(int*)(b2+4), *(int*)(b2+8), *(int*)(b2+12));
+ /* HACK: Somehow this test does no longer trigger with gcc-12 on armhf, but it should */
+ #ifdef __arm__
+ return 1;
+ #endif
return 0;
}
]])],[