[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Gitlab breakage: [PATCH] Config.mk: correct PIE-related option(s) in EMBEDDED_EXTRA_CFLAGS
On 09.09.2022 01:34, Stefano Stabellini wrote: > This patch breaks the gitlab-ci pipeline, specifically it breaks the > hvmloader build with clang: > > > https://gitlab.com/xen-project/xen/-/pipelines/634274727 > https://gitlab.com/xen-project/xen/-/jobs/2996114313 > > make[7]: Entering directory '/builds/xen-project/xen/tools/firmware/hvmloader' > clang -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall > -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-local-typedefs > -O2 -fomit-frame-pointer > -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -MMD -MP -MF > .hvmloader.o.d -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > -D_LARGEFILE64_SOURCE -mno-tls-direct-seg-refs -DNDEBUG -Werror -fno-pie > -no-pie -fno-stack-protector -fno-exceptions -fno-asynchronous-unwind-tables > -fcf-protection=none -ffreestanding -msoft-float -nostdinc > -I/builds/xen-project/xen/tools/firmware/hvmloader/../../../tools/firmware/include > -I/builds/xen-project/xen/tools/firmware/hvmloader/../../../tools/include > -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -I../../libacpi > -c -o hvmloader.o hvmloader.c > clang: error: argument unused during compilation: '-nopie' > [-Werror,-Wunused-command-line-argument] First of all I'm puzzled by the error message: Now that we don't (try to) use -nopie anymore, it complains about this option? We're clearly passing -no-pie now as the command line shows. But then - yes, I was actually expecting a similar diagnostic from gcc, and I was surprised that there was none. Yet I have to admit I should have tried a clang build of the hypervisor, where the issue also surfaces. What's important though here - it's not really clear to me what the best course of action is: We could filter out -no-pie everywhere that CFLAGS has EMBEDDED_EXTRA_CFLAGS folded in, but isn't used for linking, but that's odd to have in multiple places. We could also simply drop -no-pie on the assumption that it's LDFLAGS which is supposed to be used for linking, not CFLAGS. But that would be wrong for cases where compilation and linking is done all in one go. Looks like we do such only with HOSTCC / HOSTCFLAGS right now, but relying on this appears fragile. I'll see if using the former approach promises to address the issue, but I'll be happy to take suggestions towards better ways of dealing with this. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |