gcc/libgo/runtime
Lynn Boger 2fbed0dc6c libgo: ensure memmove, memset 8 byte atomicity on ppc64x
Go requires that pointer moves are done 8 bytes at a time,
but gccgo uses libc's memmove and memset which does not require
that, and there are some cases where an 8 byte move might be
done as 4+4.

To enforce 8 byte moves for memmove and memset, this adds a
C implementation in libgo/runtime for memmove and memset to be
used on ppc64le and ppc64. Asm implementations were considered
but discarded to avoid different implementations for different
target ISAs.

Fixes golang/go#41428

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/294931
2021-02-25 17:01:23 -08:00
..
aeshash.c
arch.h
array.h
defs.h
env_posix.c
go-assert.c
go-assert.h
go-caller.c libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
go-callers.c
go-cgo.c
go-construct-map.c
go-context.S
go-ffi.c
go-fieldtrack.c runtime: update type descriptor name in fieldtrack C support code 2020-12-04 14:51:09 -08:00
go-libmain.c
go-main.c
go-matherr.c
go-memclr.c libgo: ensure memmove, memset 8 byte atomicity on ppc64x 2021-02-25 17:01:23 -08:00
go-memequal.c
go-memmove.c libgo: ensure memmove, memset 8 byte atomicity on ppc64x 2021-02-25 17:01:23 -08:00
go-nanotime.c
go-nosys.c
go-now.c
go-reflect-call.c
go-setenv.c
go-signal.c
go-string.h
go-unsafe-pointer.c
go-unsetenv.c
go-unwind.c
go-varargs.c
panic.c
print.c
proc.c libgo: update to 1.15.6 release 2020-12-08 14:01:04 -08:00
rtems-task-variable-add.c
runtime_c.c
runtime.h libgo: ensure memmove, memset 8 byte atomicity on ppc64x 2021-02-25 17:01:23 -08:00
stack.c
yield.c