diff --git a/VERSION b/VERSION index 139c590eb87892..47f498c4aa0e26 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -go1.23.4 +go1.23.4-kb time 2024-11-27T20:27:20Z diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 5329cb3cd2d224..e5429187547599 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -1039,7 +1039,7 @@ func (p *Package) writeExports(fgo2, fm, fgcc, fgcch io.Writer) { // string.h for memset, and is also robust to C++ // types with constructors. Both GCC and LLVM optimize // this into just zeroing _cgo_a. - fmt.Fprintf(fgcc, "\ttypedef %s %v _cgo_argtype;\n", ctype, p.packedAttribute()) + fmt.Fprintf(fgcc, "\ttypedef %s %v __attribute__((aligned(8))) _cgo_argtype;\n", ctype, p.packedAttribute()) fmt.Fprintf(fgcc, "\tstatic _cgo_argtype _cgo_zero;\n") fmt.Fprintf(fgcc, "\t_cgo_argtype _cgo_a = _cgo_zero;\n") if gccResult != "void" && (len(fntype.Results.List) > 1 || len(fntype.Results.List[0].Names) > 1) {