All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthias Kaehlcke <mka@chromium.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] zlib: Put get_unaligned16() inside #ifdef block
Date: Tue, 23 May 2017 11:03:16 -0700	[thread overview]
Message-ID: <20170523180316.GO141096@google.com> (raw)
In-Reply-To: <20170523073601.GA29525@infradead.org>

Hi Christoph,

El Tue, May 23, 2017 at 12:36:01AM -0700 Christoph Hellwig ha dit:

> On Mon, May 22, 2017 at 02:13:26PM -0700, Matthias Kaehlcke wrote:
> > The function is not used when CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y.
> > Adding the #ifdef fixes the following warning when building with clang:
> > 
> > lib/zlib_inflate/inffast.c:31:1: error: unused function 'get_unaligned16'
> >     [-Werror,-Wunused-function]
> > 
> > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> > ---
> > Note: Usually we would use the __maybe_unused attribute to silence the
> > warning. Since this code is used in the kernel decompression stub rather
> > than in the kernel itself we can't include <linux/compiler.h> with the
> > definition of __maybe_unused (it would be possible for some platforms,
> > however for powerpc the build fails with a compiler error). We could
> > redefine __maybe_unused or use the raw __attribute__((unused)), but
> > using the #ifdef is a simpler solution.
> 
> Usually one would take a look at the root cause.  And then remove
> get_unaligned16 entirely and replace it with the get_unaligned
> helper provided by the kernel.

Thanks for the suggestion to use get_unaligned().

Unfortunately that doesn't work without hackery, at least for
powerpc. We can add arch/powerpc/include to the include paths of
the decompression stub to be able to include <asm/unaligned.h>,
however the build then fails with "undefined reference to
`get_unaligned'", because on powerpc get/put_unaligned are defined
inside an #ifdef __KERNEL__ block. We probably don't want to define
__KERNEL__ for the decompression stub just to avoid an #ifndef in the
zlib code.

      reply	other threads:[~2017-05-23 18:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-22 21:13 [PATCH] zlib: Put get_unaligned16() inside #ifdef block Matthias Kaehlcke
2017-05-22 21:39 ` Andrew Morton
2017-05-22 22:12   ` Matthias Kaehlcke
2017-05-23  7:36 ` Christoph Hellwig
2017-05-23 18:03   ` Matthias Kaehlcke [this message]

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=20170523180316.GO141096@google.com \
    --to=mka@chromium.org \
    --cc=akpm@linux-foundation.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.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.