Strip stdarg_h.Class_va_list again from thin binding master
authorNicolas Boulenguez <nicolas@debian.org>
Mon, 16 Nov 2020 16:32:59 +0000 (17:32 +0100)
committerReto Buerki <reet@codelabs.ch>
Tue, 17 Nov 2020 07:55:23 +0000 (08:55 +0100)
The part of the script in charge of this removal was introduced in
order to work-around a bug in the GCC binding generator on several
architectures.

Commit a1c8a32e5c28f07fe6ac5b8c981a301df6245867 did remove this part
because the bug appeared to be fixed by GCC-10.  It actually still
bites on ARM.

scripts/generate-thin-binding.sh

index 20970374e0c37fac459b7d62ec3c93af0e4783a5..d74a3639f8703271c3a0cffa11ccba8e6b7711b3 100755 (executable)
@@ -40,3 +40,11 @@ sed -i '/^with Interfaces\.C; use Interfaces\.C;$/d' \
     dbus_shared_h.ads \
     dbus_syntax_h.ads \
     stdarg_h.ads
+
+# On arm64 armel armhf,
+# a reference to stdarg_h.Class_va_list is generated without stdarg_h.
+# dbusada does not need this reference, remove it.
+sed -i \
+    -e '/^with stdarg_h;$/d' \
+    -e '/^   function dbus_message_\(append\|get\)_args_valist$/{:l;N;/\n$/d;bl}' \
+    dbus_message_h.ads