gcc/libgo/go
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
..
archive libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
bufio libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
builtin
bytes libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
cmd libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
compress libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
container
context
crypto libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
database/sql libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
debug libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
embed libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
encoding libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
errors libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
expvar
flag libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
fmt libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
golang.org/x libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
hash libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
html libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
image libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
index/suffixarray libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
internal libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
io libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
log libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
math libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
mime libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
net libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
os libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
path libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
plugin
reflect libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
regexp libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
runtime libgo: ensure memmove, memset 8 byte atomicity on ppc64x 2021-02-25 17:01:23 -08:00
sort libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
strconv libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
strings libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
sync libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
syscall libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
testdata
testing libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
text libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
time libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
unicode libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
vendor libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
go.mod libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00