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

Re: [PATCH 4/4] livepatch: differentiate between old and new build systems


  • To: Roger Pau Monne <roger.pau@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
  • Date: Tue, 8 Mar 2022 13:58:35 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8RFB/hQOeq43eBGNj1oRyYEhU1QdoQPtPJmfJi5cujY=; b=UgDlvEg31PtmrrSAenUoo85q3EPETs7lxzcxieRR4JaNqKH1n1nt7T2Wt2172u33JM5QGZCBNmgKXuojEVFg0qsExE9EYxoI6uno8zGmoT1D6+2Mk++w525lmLafewH6veJXLW+fyYzOkc+konZxob2SECQmLl0hHDeZN45M0ZdbdIHOGOLBkXNPA4ugxdHxJsVwV66muyUEU7gyUZJt2swU8YClNOCBHLmrBwojKGci59tRfShQtfhm1OTdNmSKC4zKvMqwVV9FuPeV3MNqgo9x97Yh40IEPyj0eB342HJLoj7ozlWGnvrsbCJ4TIy7wiBsT6egmHYHCgCBp9kNOw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DR7sFJv24yNtktPfuvEazCO+rmEdsLV82qpb2tF+24ayxHQb4TRCAE5UMhQ4/1VUSnTK9hsiyttkj0sB4X+wiFsnqf6mPdMXnWI8Fo64u//pLb2jaH50Q3EUu5m2JdHrCWA9EWW0PHTF65b0uoO++YYl9+uY9F/rR2zyiGGfvKZXeEhM72BqlyslLUgYneKtKWyobFYkDcSqPJLq3SsTDK7KpT/L2UnvGnlrapnIkJbPgUiRRo17wYpqxnThK0bo3U0WCKKCULFZHG0wHlvtAB8LILXLr5vdzk+czfEfYufsFU7I6yB2N4RRM0NXFdw0tmnRFUHC6qCmekOW8DBMkw==
  • Authentication-results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "konrad.wilk@xxxxxxxxxx" <konrad.wilk@xxxxxxxxxx>, "doebel@xxxxxxxxx" <doebel@xxxxxxxxx>, "julien@xxxxxxx" <julien@xxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Delivery-date: Tue, 08 Mar 2022 13:58:47 +0000
  • Ironport-data: A9a23:ygRppqALUGhFzBVW/x/jw5YqxClBgxIJ4kV8jS/XYbTApG4n0jNUy TcZUG2FaaqKZGXze90kPdm0pE9TvcDVzIQwQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA xA2M4GYRCwMZiaA4E/raNANlFEkvU2ybuOU5NXsZ2YgHWeIdA970Ug5w7Vh0tYy6TSEK1jlV e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhgx olqlbKSYjsDO73RuekNEFp9MCFhaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us 6ZCcXZUM07F17neLLGTE4GAguw5K9LweocWtXx60jjdCd4tQIzZQrWM7thdtNs1rp4TRKaCP 5BEAdZpRD+dXi1jO3EoM6kBhs2HiifmST4GhF3A8MLb5ECMlVcsgdABKuH9dtuHT8hRtk+dr 3DB+SL1D3kyNsGbyDeD2mKhgKnIhyyTcJIfEvi0++BnhHWXx3cPE1sGWF2ju/67h0WiHdVFJ CQ8+S0ot6E+slOqStrVWAexq3qJ+BUbXrJt//YSsV/XjPCOukDAWzZCHmUphMEaWNEeVDJ28 X+nvfjVLzl/rZyYWTHe05SUsmbnUcQKFlMqaSgBRAoDxtDspoAvkx7CJupe/L6JYs7dQm+pn W3TxMQqr/BK1JNQif3nlbzSq2/0/vD0ohgJChI7t45Pxidwf8abaoOh8jA3Bt4Qfd/CHjFtU JXp8vVyDdzi77nQzERho81XRdlFAspp1hWG2TaD+LF7q1yQF4aLJ9w43d2HDB4B3jw4UTHoe lTPngha+YVeOnCnBYcuPd7vVZt6kPO5RYm+PhwxUjaoSsIqHONg1HsyDXN8Iki3yBR8+U3BE c3znTmQ4YYyVv08kWveqxY12r433CEurV4/trigpylLJYG2PSbPIZ9caQPmRrlgsMus/VWEm /4CZpDi40gOD4XDjtz/rNd7waYidiNgW/gbaqV/K4a+H+aRMD15W6+Ln+J7INANcmY8vr6gw 0xRk3RwkTLXrXbGNR+LejZkbrbuVox4tnU1IWonOlPA5pTpSd3HAHs3H3fvQYQayQ==
  • Ironport-hdrordr: A9a23:0ABvraup2mfrqcYLavuqsHBJ7skCI4Aji2hC6mlwRA09TyXGra +TdaUguSMc1gx9ZJh5o6H8BEGBKUmskKKdkrNhQYtKOzOW91dATbsSobcKpgePJ8SQzJ8l6U 4NSdkcNDS0NykBsS+Y2nj3Lz9D+qj+zEnAv463pB0NLT2CKZsQlDuRYjzrSnGeLzM2YabRYa DsgPav0ADQHkj/AP7LZEUtbqzmnZnmhZjmaRkJC1oM8w+Vlw6l77b8Dlyxwgoeeykn+8ZizU H11yjCoomzufCyzRHRk0XJ6Y5NpdfnwtxfQOSRl8kuLCn2gArAXvUgZ1TChkF3nAic0idurD D+mWZlAy210QKXQoiBm2qu5+An6kdp15at8y7AvZKpm72HeNtzMbs+uWseSGqD16NohqAN7I tQw2yWu4BLAR73lDnh79LIUx1si3yvrWA5kegVuXxTOLFuGYN5vMgR+lhYH4wHGz+/4Ic7EP N2BMWZ//pOd0iGBkqp9VWH7ebcF0jbJC32CnTqe/blpwR+jTR81Q8V1cYflnAP+NY0TIRF/f 3NNuBtmKtVRsEbYKphDKNZKPHHR1DlUFbJKiafMF7nHKYINzbErIP2+qw84KWvdIYTxJU/lZ zdWBdTtHI0eUjpFcqStac7uCzlUSG4R3Dg28te7592tvn1Q6fqKzSKTBQ0n86ps5wkc7vmsj aISeVr6tPYXBnT8Nxyrn7DsrFpWAwjbPE=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Suggested_attachment_session_id: a10ab13c-f866-b434-0101-d97a06c34bf6
  • Thread-index: AQHYLkHgkh5BrSNp6k2TMCqk/XJtv6y1jGEP
  • Thread-topic: [PATCH 4/4] livepatch: differentiate between old and new build systems

> From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
> Sent: Wednesday, March 2, 2022 2:27 PM
> To: xen-devel@xxxxxxxxxxxxxxxxxxxx <xen-devel@xxxxxxxxxxxxxxxxxxxx>
> Cc: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>; konrad.wilk@xxxxxxxxxx 
> <konrad.wilk@xxxxxxxxxx>; doebel@xxxxxxxxx <doebel@xxxxxxxxx>; julien@xxxxxxx 
> <julien@xxxxxxx>; Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>; Roger Pau Monne 
> <roger.pau@xxxxxxxxxx>
> Subject: [PATCH 4/4] livepatch: differentiate between old and new build 
> systems 
>  
> 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
> -- 
> 2.34.1

Reviewed-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.