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