[systemd-devel] kdbus and 32bit architectures

Greg KH gregkh at linuxfoundation.org
Wed Feb 19 18:48:53 PST 2014


On Thu, Feb 20, 2014 at 03:19:09AM +0100, Peeters Simon wrote:
> 2014-02-19 21:03 GMT+01:00 Peeters Simon <peeters.simon at gmail.com>:
> > 2014-02-19 20:41 GMT+01:00 Kay Sievers <kay at vrfy.org>:
> >> On Wed, Feb 19, 2014 at 8:34 PM, Peeters Simon <peeters.simon at gmail.com> wrote:
> >>> This weekend I switched 2 of my devices to kdbus. both running a 32bit
> >>> system (my atom based netbook and a beaglebone black)
> >>>
> >>> while compiling I ran in to trouble on both devices because of missing
> >>> division and modulo operations for uint64, both related to bloom.size
> >>> in match.c.
> >>>
> >>> So my question is: is it really necessary for bloom.size to be a
> >>> uint64? I can not imagine any use case for bloom sizes exceeding
> >>> UINT32_MAX.
> >>> I am not sure what the proper fix would be, I temporary fixed this by
> >>> casting bloom.size to uint32 where needed, and this works.
> >>
> >> Try changing it to div_u64()? You find that in other places in the
> >> kdbus code too.
> >>
> >> Send a patch please, if it works.
> >
> > will do in a minute (have to get my netbook downstairs)
> >
> >>> I also noted that in kdbus.h (while compiling kdbus itself) ioctl.h
> >>> does not get included resulting in missing definitions for _IO() and
> >>> family. (at least on arm)
> >>
> >> Where is it defined on arm? There is an include in kdbus.h.
> >
> > the problem is that it is "#ifndef __KERNEL__" and I assume that
> > __KERNEL__ gets defined when building the module.
> 
> both patches attached (sory, didn't bother to try and get git
> send-email to answer to the right thread)

The ioctl.h line should include uapi/linux/ioctl.h not an asm-*.h file.
Does that fix the build for you?

thanks,

greg k-h


More information about the systemd-devel mailing list