8sa1-gcc/libgo/go/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
..
debug libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
internal libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
metrics libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
msan
pprof libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
testdata libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
trace libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
alg.go
atomic_pointer.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
auxv_none.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
callers_test.go
cgo_gccgo.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
cgocall.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
cgocheck.go
chan_test.go libgo: update to Go 1.15.3 release 2020-10-27 13:58:02 -07:00
chan.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
chanbarrier_test.go
checkptr_test.go
checkptr.go
closure_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
compiler.go
complex_test.go
conv_wasm_test.go
cpuflags_arm64.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
cpuprof.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
cputicks.go
crash_cgo_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
crash_gccgo_test.go
crash_nonunix_test.go
crash_test.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
crash_unix_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
debug_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
debug.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
debuglog_off.go
debuglog_on.go
debuglog_test.go
debuglog.go
defer_test.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
env_posix.go
env_test.go
eqtype_aix_gccgo.go
eqtype.go
error.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
example_test.go
export_debug_test.go
export_debuglog_test.go
export_linux_test.go
export_mmap_test.go
export_pipe2_test.go libgo: update hurd support 2021-01-14 09:57:04 -08:00
export_pipe_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
export_test.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
export_unix_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
export_windows_test.go
extern.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
fastlog2_test.go
fastlog2.go
fastlog2table.go
ffi.go
float.go
gc_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
gcinfo_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
hash32.go libgo: add 32-bit RISC-V (RV32) support 2020-09-30 19:47:48 -07:00
hash64.go
hash_test.go
heapdump.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
histogram_test.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
histogram.go libgo: update to Go1.16 release 2021-02-19 12:33:25 -08:00
iface_test.go
iface.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
lfstack_32bit.go libgo: add 32-bit RISC-V (RV32) support 2020-09-30 19:47:48 -07:00
lfstack_64bit.go
lfstack_test.go
lfstack.go
libfuzzer.go
lock_futex.go
lock_js.go
lock_sema.go
lockrank_off.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
lockrank_on.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
lockrank.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
malloc_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
malloc.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
map_benchmark_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
map_fast32.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
map_fast64.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
map_faststr.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
map_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
map.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mbarrier.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mbitmap.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mcache.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mcentral.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mcheckmark.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mem_gccgo.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
memmove_linux_amd64_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
memmove_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
metrics_test.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
metrics.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
mfinal_test.go
mfinal.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mfixalloc.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mgc_gccgo.go
mgc.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mgcmark.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
mgcscavenge_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mgcscavenge.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
mgcsweep.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mgcwork.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mheap.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mkfastlog2table.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mkpreempt.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mksizeclasses.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mpagealloc_32bit.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mpagealloc_64bit.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mpagealloc_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mpagealloc.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mpagecache_test.go
mpagecache.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mpallocbits_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mpallocbits.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mprof.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
mranges_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mranges.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
msan0.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
msize.go
mspanset.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mstats.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
mwbbuf.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
nbpipe_pipe2.go
nbpipe_pipe.go
nbpipe_test.go libgo: update hurd support 2021-01-14 09:57:04 -08:00
net_plan9.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
netpoll_aix.go
netpoll_epoll.go
netpoll_fake.go
netpoll_hurd.go
netpoll_kqueue.go libgo: handle linking to NetBSD's versioned symbols 2020-10-28 18:20:50 -07:00
netpoll_os_test.go
netpoll_solaris.go
netpoll_stub.go
netpoll_windows.go
netpoll.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
norace_test.go
numcpu_freebsd_test.go
os3_solaris.go
os_aix.go internal/cpu: correctly link to getsystemcfg 2021-01-29 16:12:43 -08:00
os_darwin.go
os_dragonfly.go
os_freebsd_arm64.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
os_freebsd.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
os_gccgo.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
os_hurd.go libgo: update hurd support 2021-01-14 09:57:04 -08:00
os_illumos.go
os_js.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
os_linux_arm64.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
os_linux_arm.go
os_linux_mips64x.go
os_linux_mipsx.go
os_linux_noauxv.go
os_linux_ppc64x.go
os_linux_s390x.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
os_linux.go runtime: move startupRandomData back to runtime2.go 2021-01-01 15:11:45 -08:00
os_netbsd_arm64.go
os_netbsd.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
os_only_solaris.go
os_openbsd.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
os_solaris.go runtime: correct semaphore implementation on netbsd 2020-10-14 13:56:01 -07:00
os_windows_arm.go
panic32.go
panic_test.go
panic.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
preempt_nonwindows.go
preempt.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
print.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
proc_runtime_test.go
proc_test.go libgo: update to Go 1.15.3 release 2020-10-27 13:58:02 -07:00
proc.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
profbuf_test.go
profbuf.go
proflabel.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
race0.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
rand_test.go
rdebug.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
relax_stub.go
runtime1.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
runtime2.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
runtime_mmap_test.go
runtime_test.go
runtime_unix_test.go
runtime-lldb_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
runtime.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
rwmutex_test.go
rwmutex.go
select.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
sema_test.go
sema.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
semasleep_test.go
signal_gccgo.go libgo: handle linking to NetBSD's versioned symbols 2020-10-28 18:20:50 -07:00
signal_unix.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
signal_windows_test.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
sigqueue_note.go
sigqueue.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
sizeclasses.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
sizeof_test.go
slice_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
slice.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
stack_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
string_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
string.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
stubs2.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
stubs3.go
stubs_linux.go
stubs_nonlinux.go
stubs.go libgo: ensure memmove, memset 8 byte atomicity on ppc64x 2021-02-25 17:01:23 -08:00
symtab_test.go
symtab.go compiler, libgo: change mangling scheme 2020-11-20 12:44:35 -08:00
sys_wasm.go
time_fake.go
time_nofake.go
time_test.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
time.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
timeasm.go
timestub2.go libgo: update to Go1.16rc1 2021-01-29 11:04:55 -08:00
timestub.go
trace.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
traceback_gccgo.go libgo: update to Go1.16beta1 release 2020-12-30 15:13:24 -08:00
type.go
typekind.go
utf8.go
write_err_android.go
write_err.go