On Tue, Feb 23, 2021 at 05:08:43PM -0800, Stefano Stabellini wrote: > The hvmloader build on Alpine Linux x86_64 currenly fails: > > > hvmloader.c: In function 'init_vm86_tss': > hvmloader.c:202:39: error: left shift count >= width of type > [-Werror=shift-count-overflow] > 202 | ((uint64_t)TSS_SIZE << 32) | virt_to_phys(tss)); > > util.c: In function 'get_cpu_mhz': > util.c:824:15: error: conversion from 'long long unsigned int' to 'uint64_t' > {aka 'long unsigned int'} changes value from > '4294967296000000' to '0' [-Werror=overflow] > 824 | cpu_khz = 1000000ull << 32; > > > The root cause of the issue is that gcc -m32 picks up headers meant for > 64-bit builds.
I'm working on getting hvmloader to build standalone without using any system headers, which I think it's a worthwhile change to do rather than this configure bodge. Will post the series now. Thanks, Roger.