]> git.ozlabs.org Git - ccan/commitdiff
configurator: fix bad code in HAVE_UNALIGNED_ACCESS detection.
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 13 Oct 2025 03:19:56 +0000 (13:49 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Mon, 13 Oct 2025 03:20:56 +0000 (13:50 +1030)
Reported on armhf, but applies to any 32-bit platform (detected at -O2 or above)

```
$ arm-linux-gnueabihf-gcc-13 -O2 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -c /tmp/foo.c -Wall
/tmp/foo.c: In function ‘main’:
/tmp/foo.c:4:23: error: expected expression before ‘int’
    4 |      char pad[sizeof(*int) * 1];
      |                       ^~~
/tmp/foo.c:4:11: warning: unused variable ‘pad’ [-Wunused-variable]
    4 |      char pad[sizeof(*int) * 1];
      |           ^~~
```

Reported-by: https://github.com/Raimo33
Fixes: https://github.com/ElementsProject/lightning/issues/8501
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
tools/configurator/configurator.c

index 7d8f6b095de4b6e615591b6fb37319a20fe603a3..4efeaba35ac5ad231ca8ccd588692b52fdcaca6d 100644 (file)
@@ -413,7 +413,7 @@ static const struct test base_tests[] = {
          "#include <string.h>\n"
          "int main(int argc, char *argv[]) {\n"
          "     (void)argc;\n"
-         "     char pad[sizeof(int *) * 1];\n"
+         "     char pad[sizeof(int) + 1];\n"
          "     memcpy(pad, argv[0], sizeof(pad));\n"
          "     int *x = (int *)pad, *y = (int *)(pad + 1);\n"
          "     return *x == *y;\n"