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

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


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Wed, 2 Mar 2022 15:27:11 +0100
  • 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=Ju2JmzDTMXMnNqshHl/210cGfKHE694TMbi1tFP55XY=; b=NyB64aYXGKLnKkx+C2kzmiRtLDNJ4ii1w9rKRK5mQchD2wEVoZ6WhaMtBPumvbE5fh0aR8gOPwilNjT70qvvict84fhPm3Lkgcalqd4ZM4SfrLqVTMoodcPUZaIwrmSNSGsQqM9yxpPiEjbBZqrRq/p3wVAcRNS3xaPiHLahKVArB9GBWlZlEwM6WcjahNYCa+qpWeZ7xHth6VrftRAuuaWpJQTVHs5Tcp6O/7JvFbmOjfyHLNxcP6PnMpuZyUX7zCRtWIBn9T1qR0T0ZwW/Zceva7n5rh5XHGcxPXmIbrh4ofZHb0mMCQSObxQBBHpP+tOR8iNn0CNTv2boqxeaVA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TRW+ahLuRH0wQAbwrnfdTFFqYrpkmDWxASA2uB825eLaCdboj3tQsJmd0QoxdVUCaIX3xK19RcvTdETXJJFDR1et7+tUiBs28sV0FIijI3oWRkkHSmDIsnkUtUwiK/VKQYDvxAIS/jYTLmPeTR5SyKewh8t3qjrtFwYmdrJ1aq0JCv5yO2nQkF8BW1LZHCTOJatHYXvoHv+sXesoyamWY8ZPyR6Tt2Bj8Wh8F3dCBr4fV+/QiKCbwKE8Dz1SZreuhwBJAh1QPGF2iwgTUNkjGf5OKU5AG1eufnWXjRCYJe5g10DTr2LSeI5gdgPZdeSt9RXzsUlUUKkL9sUjNUDmUg==
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: <ross.lagerwall@xxxxxxxxxx>, <konrad.wilk@xxxxxxxxxx>, <doebel@xxxxxxxxx>, <julien@xxxxxxx>, <Andrew.Cooper3@xxxxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Delivery-date: Wed, 02 Mar 2022 14:29:33 +0000
  • Ironport-data: A9a23:lj14xKvZPaFo725k3SNvI1tLtOfnVHxeMUV32f8akzHdYApBsoF/q tZmKWqEParbMGL0KNB3bti/pEoGuJ/Uz4A1Sgc4/y4zRCMU+JbJXdiXEBz9bniYRiHhoOOLz Cm8hv3odp1coqr0/0/1WlTZhSAgk/nOHNIQMcacUsxLbVYMpBwJ1FQyw4bVvqYy2YLjW1jV4 4upyyHiEATNNwBcYzp8B52r8HuDjNyq0N/PlgVjDRzjlAa2e0g9VPrzF4noR5fLatA88tqBb /TC1NmEElbxpH/BPD8HfoHTKSXmSpaKVeSHZ+E/t6KK2nCurQRquko32WZ1he66RFxlkvgoo Oihu6BcRi8UJo7Cp8lFDyVfFjhTM4Rl5bzEHnaW5Jn7I03uKxMAwt1rBUAye4YZ5vx2ESdF8 vlwxDIlN07ZwbjsmfTiF7cq1p9LwMrDZevzvll6yj7UF7A+SI3rSKTW/95Imjw3g6iiGN6AO pVANWAxMXwsZTV3GWgnV7sdtdyti1PvKx9AqleR/ZIOtj27IAtZj+G2bYu9lsaxbclSk0yVo krP+m3rBRdcONH34TiY9nOhgMffkCW9X5gdfJWo+/gvjFCNy2g7DBwNSUD9sfS/klS5Wd9UN woT4CVGhas18laiQp/iXhm7iHmetxUYVpxbFOhS1e2W4vOKuUDDXDFCF2MfLox93CMredA0/ mKRvN3WKGQzjLqQUF+T35SJrjCNNwFAeAfuehQ4ZQcC5tDipqQ6gRTOUstvHcaJszHlJd3j6 2vU9XZj3t3/meZOjvzmpg6f31pAs7CUFlZd2+nBYo6yAuqVjqaBbpfg11XU5O0owG2xHgjY5 yhsdyRzAYkz4XCxeM6lHb1l8FKBva/t3NjgbbhHRcNJG9OFoSPLQGyoyGsiTHqFy+5dEdMTX GfduBlK+LhYN2awYKl8buqZUpp2k/G+TYy0CKmFNLKih6SdkifdpkmCgmbKggjQfLUEy/lja f93j+72ZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjGI+ePitKjiIquYe5dajOmN7lhhIvd+Vm92 4sPZqOilkQEOMWjM3a/zGLmBQ1TRZTNLcut8JI/my/qClcOJVzN/NeKmeJxI9E+xv8N/goKl 1nkMnJlJJPErSSvAS2Ba2x5aaOpWpB6rHkhOjcrM0ru0H8mCbtDJo9GLPPboZFPGDRf8MNJ
  • Ironport-hdrordr: A9a23:mFplOaFAi9Ew1VsBpLqFDJHXdLJyesId70hD6qkvc3Jom52j+P xGws526faVslYssHFJo6HmBEDmewKiyXcV2/hsAV7GZmjbUQSTXfhfBOfZsljd8mjFh5RgPM RbAthD4b/LfCBHZK/BiWHSebtQo6jkzEnrv5ai854Ed3AaV0gK1XYeNu/0KDwTeOEQbqBJaq Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0ld gsAp4Y542mcfVmGJ6VfN1xOvdfKla9CC4kY1jiaWgOKsk8SgbwQtjMkfII2N0=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

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




 


Rackspace

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