[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 4/4] livepatch: differentiate between old and new build systems
On 02.03.22 15:27, Roger Pau Monne wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Do not attempt to modify the build system if CFLAGS are not set in Rules.mk, and instead rely on CONFIG_LIVEPATCH already setting -f{function,data}-sections. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- This depends on getting the patch to add -f{function,data}-sections when using CONFIG_LIVEPATCH accepted. --- livepatch-build | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/livepatch-build b/livepatch-build index 38a92be..656cdac 100755 --- a/livepatch-build +++ b/livepatch-build @@ -98,14 +98,20 @@ function build_special() # Build with special GCC flags cd "${SRCDIR}/xen" || die - sed -i 's/CFLAGS += -nostdinc/CFLAGS += -nostdinc -ffunction-sections -fdata-sections/' Rules.mk - cp -p arch/x86/Makefile arch/x86/Makefile.bak - sed -i 's/--section-alignment=0x200000/--section-alignment=0x1000/' arch/x86/Makefile - # Restore timestamps to prevent spurious rebuilding - touch --reference=arch/x86/Makefile.bak arch/x86/Makefile - make "-j$CPUS" $XEN_DEBUG &> "${OUTPUT}/build_${name}_compile.log" || die - sed -i 's/CFLAGS += -nostdinc -ffunction-sections -fdata-sections/CFLAGS += -nostdinc/' Rules.mk - mv -f arch/x86/Makefile.bak arch/x86/Makefile + if grep -q 'nostdinc' Rules.mk; then + # Support for old build system, attempt to set -f{function,data}-sections and rebuild + sed -i 's/CFLAGS += -nostdinc/CFLAGS += -nostdinc -ffunction-sections -fdata-sections/' Rules.mk + cp -p arch/x86/Makefile arch/x86/Makefile.bak + sed -i 's/--section-alignment=0x200000/--section-alignment=0x1000/' arch/x86/Makefile + # Restore timestamps to prevent spurious rebuilding + touch --reference=arch/x86/Makefile.bak arch/x86/Makefile + make "-j$CPUS" $XEN_DEBUG &> "${OUTPUT}/build_${name}_compile.log" || die + sed -i 's/CFLAGS += -nostdinc -ffunction-sections -fdata-sections/CFLAGS += -nostdinc/' Rules.mk + mv -f arch/x86/Makefile.bak arch/x86/Makefile + else + # -f{function,data}-sections set by CONFIG_LIVEPATCH + make "-j$CPUS" $XEN_DEBUG &> "${OUTPUT}/build_${name}_compile.log" || die + fi unset LIVEPATCH_BUILD_DIR unset LIVEPATCH_CAPTURE_DIR Reviewed-by: Bjoern Doebel <doebel@xxxxxxxxx>Confirming that I can build a livepatch against upstream master with your series and the other CONFIG_LIVEPATCH patch. Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B Sitz: Berlin Ust-ID: DE 289 237 879
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |