From 41528686207163af0fe15c195d0c7097e70619ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 30 Oct 2020 14:43:00 +0000 Subject: [PATCH] scripts: trim "__attribute__((packed))" in RPC struct diff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit i686 builds on x86_64 host on Debian 10 result in the RPC structs getting "__attribute__((packed))" annotations added to them. This is harmless since we know the XDR protocol aligns and pads struct fields suitably on the wire. Thus we can safely cull the attribute before doing the diff comparison. Reviewed-by: Erik Skultety Signed-off-by: Daniel P. Berrangé --- scripts/check-remote-protocol.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/check-remote-protocol.py b/scripts/check-remote-protocol.py index 0a6135376e..cd96e894a7 100644 --- a/scripts/check-remote-protocol.py +++ b/scripts/check-remote-protocol.py @@ -123,6 +123,12 @@ if n < 1: diff = subprocess.Popen(["diff", "-u", expected, "-"], stdin=subprocess.PIPE) actualstr = "\n".join(actual) + "\n" +# i686 builds on x86_64 host add __attribute__(packed)) to +# the structs. This doesn't matter functionally because we +# know our RPC structs are suitably aligned to not need +# packing, so we can just trim the attribute. +actualstr = re.sub(r'''} __attribute__\(\(__packed__\)\);''', "};", actualstr) + diff.communicate(input=actualstr.encode("utf-8")) sys.exit(diff.returncode)