* Fix an overrun in sparse block detection. * Fix an off-by-one memory handling issue in ddr_lzo, resulting in breakage on s390x. (Surprisingly, glibc memory allocator was graceful on most architectures.) * Better test coverage, including chains with sparse files. * Documented (and somewhat cleaner) design of handling sparse files through chains of plugins. * Test and support compression+encryption (and reverse decryption+decompression) chains. * Improved debug output, including numbering plugins. - Update to dd_rescue-1.99.19: * ddr_crypt: Clean hole support with and without skiphole. (This works cleanly only for CTR and ECB modes.) * ddr_crypt: Fix backwards copies including holes. Note that this could result in different files from the forward copies before (bug). Add test case for the latter. * Many more testcases for sparse files with plugins: Also use odd sizes and holes at the beginning and end of the file. * Also skip over holes with -a when copying in reverse dir. * Allow setting unsparse and some other flags for ddr_null for testing. * Fix lzma compression with hole at the end. * Warn on lzma buf error (was debug msg only before). OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=89
45 lines
1.4 KiB
Diff
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;
|
|
}
|
|
]])],[
|