]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/cgo: ignore -Watomic-alignment in gcc_libinit.c
authorMauri de Souza Meneguzzo <mauri870@gmail.com>
Fri, 9 Feb 2024 11:47:26 +0000 (11:47 +0000)
committerGopher Robot <gobot@golang.org>
Sat, 10 Feb 2024 02:14:22 +0000 (02:14 +0000)
When cross-compiling a cgo program with CC=clang for Linux/ARMv5,
atomic warnings cause build errors, as cgo uses -Werror.

These warnings seem to be harmless and come from the usage of
__atomic_load_n, which is emulated due to the lack of atomic
instructions in armv5.

Fixes #65290

Change-Id: Ie72efb77468f06888f81f15850401dc8ce2c78f9
GitHub-Last-Rev: fbad847b962f6b4599cd843018e79f4b55be097e
GitHub-Pull-Request: golang/go#65588
Reviewed-on: https://go-review.googlesource.com/c/go/+/562348
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/runtime/cgo/gcc_libinit.c

index 68f4a023795db1ba9ce6866ec22d76e05a1e3eb9..09ba38b6d039e4c45fd538deb1085f869940b00a 100644 (file)
@@ -4,6 +4,12 @@
 
 //go:build unix
 
+// When cross-compiling with clang to linux/armv5, atomics are emulated
+// and cause a compiler warning. This results in a build failure since
+// cgo uses -Werror. See #65290.
+#pragma GCC diagnostic ignored "-Wpragmas"
+#pragma GCC diagnostic ignored "-Watomic-alignment"
+
 #include <pthread.h>
 #include <errno.h>
 #include <stdio.h>