[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] tools/configure: generate stubs and long-double 32-bit headers if needed
On Mon, Feb 10, 2020 at 8:21 AM Ian Jackson <ian.jackson@xxxxxxxxxx> wrote: > > Christopher Clark writes ("[PATCH] tools/configure: generate stubs and > long-double 32-bit headers if needed"): > > The gnu/stubs-32.h and bits/long-double-32.h headers are required to > > build hvmloader but are not always available in 64-bit build > > environments. To avoid introducing a build requirement on 32-bit > > multilib generate versions of them from the 64-bit equivalent header. > > > > This patch enables the removal of downstream patching that has been > > carried in the Yocto/OpenEmbedded meta-virtualization layer since 2012. > > Thanks for this patch. However, I'm quite doubtful about the > approach. Thanks for the review and recommendation for an alternative direction. > > + echo '#include <gnu/stubs-64.h>' >conf-stubs.c > > + SIXTY_FOUR_HDR=`$CC -M conf-stubs.c | grep '/stubs-64.h$'` > > + rm conf-stubs.c > > + mkdir -p include/gnu > > + cat "${SIXTY_FOUR_HDR}" | \ > > + grep -v 'stub_bdflush\|stub_getmsg\|stub_putmsg' > > >include/gnu/stubs-32.h > > + echo \#define __stub___kernel_cosl >> include/gnu/stubs-32.h > > + echo \#define __stub___kernel_sinl >> include/gnu/stubs-32.h > > + echo \#define __stub___kernel_tanl >> include/gnu/stubs-32.h > > This code seems to be ad-hoc seddery which depends on the details of > the existing header file. That seems like it is unprincipled and > fragile, to me. > > I don't understand why you wouldn't just make a small package or > tarball or something containing the relevant headers and install > that ? > > Also, don't you need a 32-bit libgcc too ? OK, I've produced a revised proposal downstream that retires this header file generation altogether and applies OpenEmbedded's multilib support to make a populated 32-bit sysroot with headers and libraries available to build with. The remaining challenge is that the OE build populates and makes this 32-bit sysroot available in a different directory to the primary target architecture sysroot, so: do you have a recommendation for how to plumb an additional CFLAG into Xen's tools/firmware build? At the moment, I'm appending this single line: CFLAGS += "--sysroot=/this/is/my/sysroot32" to tools/firmware/Rules.mk but I think a dedicated top-level variable for the purpose, plumbed through, could be more appropriate? Christopher _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |