cross armhf tangle
Hal Murray
halmurray at sonic.net
Sun Feb 2 10:33:42 UTC 2025
> Does anybody have a working cross build setup that I can copy?
I have one now. Or at least one that gets far enough to tickle this bug.
The cross compile stuff for sizeof is, well, unobvious to me. I think I
asked about it a while ago with no response.
It came from ESR in 2016 with no note about why there is a loop.
Here is the test code:
+# Cross compile check. Much slower so we do not run it all the time.
+
+SIZE_FRAG_CROSS = """
+%s
+#include <sys/stat.h>
+int main () {
+ static int test_array [1 - 2 * !(((long int) (sizeof (%s))) <= %d)];
+ test_array [0] = 0;
+ return test_array[0];
+}
+"""
And the code that calls it:
+ for size in range(2,13):
+
+ try:
+ ctx.check_cc(
+ fragment = SIZE_FRAG_CROSS %
(header_snippet, sizeof, size),
+ features = "c",
+ execute = False,
+ mandatory = mandatory,
+ )
+ ctx.define(name, size, comment="Size of %s from
<%s>" % (sizeof, header))
+ ctx.end_msg(ctx.get_define(name))
+ return
+ except Errors.ConfigurationError:
+ pass
I don't understand how that is supposed to work or why we are doing
something so complicated, but I'll punt that for now.
I think the 13 is the max size thing it can check for. struct timespec is
now 16. Changing the 13 to 99 gets past that.
I just checked in a fix. We'll see what happens with gitlab CI
--
These are my opinions. I hate spam.
More information about the devel
mailing list