All of lore.kernel.org
 help / color / mirror / Atom feed
From: marex@denx.de (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: Linux ARM with XZ compression issue
Date: Wed, 18 Jul 2012 16:34:57 +0200	[thread overview]
Message-ID: <201207181634.58089.marex@denx.de> (raw)

Hello,

I'm seeing the following issue when building arm linux kernel compressed with XZ 
compression:

  XZKERN  arch/arm/boot/compressed/piggy.xzkern
  CC      arch/arm/boot/compressed/decompress.o
In file included from include/linux/kernel.h:23:0,
                 from 
arch/arm/boot/compressed/../../../../lib/xz/xz_private.h:15,
                 from 
arch/arm/boot/compressed/../../../../lib/decompress_unxz.c:145,
                 from arch/arm/boot/compressed/decompress.c:50:
include/linux/dynamic_debug.h: In function ?ddebug_dyndbg_module_param_cb?:
include/linux/dynamic_debug.h:111:2: error: implicit declaration of function 
?strstr? [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [arch/arm/boot/compressed/decompress.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make: *** [uImage] Error 2

This is because ARM doesn't implement strstr() in the decompressor phase. Newly 
added strstr() in include/linux/dynamic_debug.h triggers the issue:

b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 108) static inline int 
ddebug_dyndbg_module_param_cb(char *param, char *val,
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 109)                                                
const char *modname)
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 110) {
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 111)        if 
(strstr(param, "dyndbg")) {
516cf1be (Jim Cromie      2012-05-01 05:23:12 -0600 112)                /* avoid 
pr_warn(), which wants pr_fmt() fully defined */
516cf1be (Jim Cromie      2012-05-01 05:23:12 -0600 113)                
printk(KERN_WARNING "dyndbg param is supported only in "
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 114)                        
"CONFIG_DYNAMIC_DEBUG builds\n");
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 115)                return 
0; /* allow and ignore */
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 116)        }
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 117)        return -EINVAL;
b48420c1 (Jim Cromie      2012-04-27 14:30:35 -0600 118) }

What do you suggest please? Implement strstr() for ARM into 
arch/arm/kernel/compressed/string.c maybe? I checked into the GLIBC strstr() 
implementation, though that seems quite complex for this purpose.

Best regards,
Marek Vasut

             reply	other threads:[~2012-07-18 14:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-18 14:34 Marek Vasut [this message]
     [not found] ` <CAJfuBxxKD_sF3DXZ8bUbSKcvxJY8ngXbHQmp0FBpV-Qytsw5XQ@mail.gmail.com>
2012-07-18 22:24   ` Linux ARM with XZ compression issue Marek Vasut
     [not found]     ` <CAJfuBxxpGqBeD1O3QfXLhHmMGBEFvy5XZOFLH6Xww33Y+7P_Ow@mail.gmail.com>
2012-07-19  9:13       ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201207181634.58089.marex@denx.de \
    --to=marex@denx.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.