mirror of
https://github.com/golang/sys.git
synced 2026-02-08 11:46:04 +03:00
When using -linkshared, the external linker on ppc64x cannot always handle the direct branch to syscall.Syscall and similar similar functions when the offset is too far. Instead it should be done as a BL which can then be called through a procedure linkage table entry. This change removes functions Syscall, Syscall6, RawSyscall, RawSyscall6 from asm_linux_ppc64x.s and instead creates Go functions which call their corresponding functions in the syscall package. As Go functions, they can be inlined with the help of CL 147361. Fixes golang/go#16662 Change-Id: Ibd2b6ec15b0781c3d7db25e249a3ffc9e1c2884b Reviewed-on: https://go-review.googlesource.com/c/146518 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
16 lines
622 B
Go
16 lines
622 B
Go
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build darwin dragonfly freebsd linux netbsd openbsd solaris
|
|
// +build !gccgo,!ppc64le,!ppc64
|
|
|
|
package unix
|
|
|
|
import "syscall"
|
|
|
|
func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
|
|
func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
|
|
func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
|
|
func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
|