On 2024/03/28 15:38, HAGIO KAZUHITO(萩尾 一仁) wrote:
I found a fatal error during "make extensions":
$ make extensions
gcc -Wall -g -shared -rdynamic -o echo.so echo.c -fPIC -DX86_64 -DLZO
-DSNAPPY -DZSTD -DGDB_10_2
In file included from echo.c:18:
defs.h:54:10: fatal error: lzorle_decompress.h: No such file or directory
#include "lzorle_decompress.h"
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
...
--- a/defs.h
+++ b/defs.h
@@ -51,6 +51,7 @@
#include <regex.h>
#ifdef LZO
#include <lzo/lzo1x.h>
+#include "lzorle_decompress.h"
#endif
#ifdef SNAPPY
#include <snappy-c.h>
we should move this to diskdump.c ?
Thanks,
Kazu
Thank you for your review and help,
so sorry for missing that problem.
I have made the modifications we talked about and post v4 patch.
Thanks,
Yulong
> >
> > Thanks,
> > Kazu
> >
> >>
> >> Thanks,
> >> Yulong
> >>
> >> --- a/diskdump.c
> >> +++ b/diskdump.c
> >> @@ -3070,20 +3070,7 @@ try_zram_decompress(ulonglong pte_val, unsigned char
*buf,
> ulong len, ulonglong
> >> return 0;
> >> #endif
> >> } else if (STREQ(name, "lzo-rle")) {
> >> -#ifdef LZO
> >> - if (!(dd->flags & LZO_SUPPORTED)) {
> >> - if (lzo_init() == LZO_E_OK)
> >> - dd->flags |= LZO_SUPPORTED;
> >> - else
> >> - return 0;
> >> - }
> >> decompressor = (void *)&lzorle_decompress_safe;
> >> -#else
> >> - error(WARNING,
> >> - "zram decompress error: this executable needs to
be
> built"
> >> - " with lzo-rle library\n");
> >> - return 0;
> >> -#endif
> >> } else { /* todo: support more compressor */
> >> error(WARNING, "only the lzo compressor is
> supported\n");
> >> return 0;
> >>
> >> --- a/lzorle_decompress.c
> >> +++ b/lzorle_decompress.c
> >> @@ -50,16 +50,18 @@ int lzorle_decompress_safe(const unsigned char *in,
unsigned
> long in_len,
> >>
> >> unsigned char bitstream_version;
> >>
> >> - bool efficient_unaligned_access;
> >> + static int efficient_unaligned_access = -1;
> >>
> >> + if (efficient_unaligned_access == -1) {
> >> #if defined(ARM) || defined(ARM64) || defined(X86) || defined(X86_64) ||
> defined(PPC) || defined(PPC64) || defined(S390)|| defined(S390X)
> >> - efficient_unaligned_access = true;
> >> + efficient_unaligned_access = TRUE;
> >> #else
> >> - efficient_unaligned_access = false;
> >> + efficient_unaligned_access = FALSE;
> >> #endif
> >>
> >> - if (kt->ikconfig_flags & IKCONFIG_AVAIL)
> >> - efficient_unaligned_access =
> (get_kernel_config("CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS", NULL) ==
> IKCONFIG_Y);
> >> + if ((kt->ikconfig_flags & IKCONFIG_AVAIL) &&
> get_kernel_config("CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS", NULL) ==
> IKCONFIG_Y)
> >> + efficient_unaligned_access = TRUE;
> >> + }
> >>
> >>
> >> --
> >> Crash-utility mailing list -- devel(a)lists.crash-utility.osci.io
> >> To unsubscribe send an email to devel-leave(a)lists.crash-utility.osci.io
> >> https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
> >> Contribution Guidelines:
https://github.com/crash-utility/crash/wiki
> > --
> > Crash-utility mailing list -- devel(a)lists.crash-utility.osci.io
> > To unsubscribe send an email to devel-leave(a)lists.crash-utility.osci.io
> > https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
> > Contribution Guidelines:
https://github.com/crash-utility/crash/wiki