Re: [PATCH kvmtool v2 2/2] Get __WORDSIZE from <sys/reg.h> for musl compat

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

CC'ing the maintainers (can be found in README).

On Sat, Jul 27, 2024 at 07:11:03PM +0200, J. Neuschäfer wrote:
> musl-libc doesn't provide <bits/wordsize.h>, but it defines __WORDSIZE
> in <sys/reg.h> and <sys/user.h>.
> 
> Signed-off-by: J. Neuschäfer <j.neuschaefer@xxxxxxx>
> ---
>  include/linux/bitops.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/bitops.h b/include/linux/bitops.h
> index ae33922..4f133ba 100644
> --- a/include/linux/bitops.h
> +++ b/include/linux/bitops.h
> @@ -1,7 +1,7 @@
>  #ifndef _KVM_LINUX_BITOPS_H_
>  #define _KVM_LINUX_BITOPS_H_
> 
> -#include <bits/wordsize.h>
> +#include <sys/reg.h>

When cross-compiling on x86 for arm64, as well as when compiling natively for
arm64 I get this error:

In file included from include/linux/bitmap.h:7,
                 from util/find.c:4:
include/linux/bitops.h:5:10: fatal error: sys/reg.h: No such file or directory
    5 | #include <sys/reg.h>
      |          ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:510: util/find.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from include/linux/bitmap.h:7,
                 from util/bitmap.c:9:
include/linux/bitops.h:5:10: fatal error: sys/reg.h: No such file or directory
    5 | #include <sys/reg.h>
      |          ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:510: util/bitmap.o] Error 1

Also, grep finds __WORDSIZE only in bits/wordsize.h on an x86 and arm64 machine:

$ grep -r "define __WORDSIZE" /usr/include/
/usr/include/bits/wordsize.h:# define __WORDSIZE			64
/usr/include/bits/wordsize.h:# define __WORDSIZE			32
/usr/include/bits/wordsize.h:# define __WORDSIZE32_SIZE_ULONG	1
/usr/include/bits/wordsize.h:# define __WORDSIZE32_PTRDIFF_LONG	1
/usr/include/bits/wordsize.h:#define __WORDSIZE_TIME64_COMPAT32	0


Thanks,
Alex

> 
>  #include <linux/kernel.h>
>  #include <linux/compiler.h>
> 
> --
> 2.43.0
> 
> 




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux