All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vishal Thanki <vishalthanki@gmail.com>
To: Sasha Levin <sasha.levin@oracle.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] liblockdep: Fix compile errors
Date: Tue, 14 Jun 2016 12:26:00 +0200	[thread overview]
Message-ID: <20160614102557.GA14577@c50.bag.software> (raw)
In-Reply-To: <575F19A9.4070304@oracle.com>

On Mon, Jun 13, 2016 at 04:38:01PM -0400, Sasha Levin wrote:
> On 06/11/2016 04:36 AM, Vishal Thanki wrote:
> > On Sat, Jun 11, 2016 at 5:53 AM, Sasha Levin <sasha.levin@oracle.com> wrote:
> >> On 06/09/2016 09:34 AM, Vishal Thanki wrote:
> >>> dfaaf3fa0: (Use __jhash_mix() for iterate_chain_key())
> >>> Fixed by adding jhash.h with minimal stuff required
> >>
> >> Can we, instead of copying it over, include jhash.h directly
> >> (just like we do for hash.h)?
> >>
> >>
> > That was the first thing I tried, but then it caused more compilation
> > errors due to nested header dependencies and I ended up taking the
> > only required stuff. Better ideas are welcome.
> 
> I just gave it a quick go and didn't see anything beyond needing to take
> in linux/unaligned/packed_struct.h as well. What sort of errors did you
> hit?
> 

Yes, you are right about just adding the linux/unaligned/packed_struct.h should
work. However I hit the following errors when I did that:


CC       lockdep.o
In file included from ./uinclude/linux/jhash.h:27:0,
                 from ../../../kernel/locking/lockdep.c:49,
                 from lockdep.c:8:
./uinclude/linux/unaligned/packed_struct.h:7:29: error: conflicting types for
‘__packed’
 struct __una_u32 { u32 x; } __packed;
                             ^
./uinclude/linux/unaligned/packed_struct.h:6:29: note: previous declaration of
‘__packed’ was here
 struct __una_u16 { u16 x; } __packed;
                             ^
./uinclude/linux/unaligned/packed_struct.h:8:29: error: conflicting types for
‘__packed’
 struct __una_u64 { u64 x; } __packed;
                             ^
./uinclude/linux/unaligned/packed_struct.h:6:29: note: previous declaration of
‘__packed’ was here
 struct __una_u16 { u16 x; } __packed;
                             ^
which I overlooked and had nothing to do with header dependencies, pardon my
ignorance.

I think gcc on my machine (version 5.3.1 on Fedora 22) throws the above error
which I think can be fixed by adding a define in uinclude/linux/compile.h like
following:

#define __packed       __attribute__((__packed__))

After fixing, I hit following warning:

In file included from ../../../kernel/locking/lockdep.c:49:0,
                 from lockdep.c:8:
./uinclude/linux/jhash.h: In function ‘jhash’:
./uinclude/linux/jhash.h:37:16: warning: implicit declaration of function
‘rol32’ [-Wimplicit-function-declaration]
  a -= c;  a ^= rol32(c, 4);  c += b; \

which can be fixed by adding the inline definition of rol32 from kernel's
biopts.h file to uinclude/linux/bitops.h file (which is empty as of now).

I will rework the patch with the fixes and send again.

Thanks,
Vishal

  reply	other threads:[~2016-06-14 10:26 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-09 13:34 [PATCH 0/2] Fixing the compilation errors for liblockdep Vishal Thanki
2016-06-09 13:34 ` [PATCH 1/2] liblockdep: Fix compile errors Vishal Thanki
2016-06-11  3:53   ` Sasha Levin
2016-06-11  8:36     ` Vishal Thanki
2016-06-13 20:38       ` Sasha Levin
2016-06-14 10:26         ` Vishal Thanki [this message]
2016-06-09 13:34 ` [PATCH 2/2] liblockdep: Remove -lpthread compiler option Vishal Thanki

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=20160614102557.GA14577@c50.bag.software \
    --to=vishalthanki@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sasha.levin@oracle.com \
    /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.