From: Russ Cox Date: Wed, 8 Dec 2010 21:49:49 +0000 (-0500) Subject: arm: more fixes X-Git-Tag: weekly.2010-12-15~81 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=85d9ab61d21c98f246cd1fad4bc27ecbae38c0f0;p=gostls13.git arm: more fixes R=ken2 CC=golang-dev https://golang.org/cl/3523041 --- diff --git a/src/pkg/runtime/cgo/Makefile b/src/pkg/runtime/cgo/Makefile index 09e51f2e6a..7499276387 100644 --- a/src/pkg/runtime/cgo/Makefile +++ b/src/pkg/runtime/cgo/Makefile @@ -4,11 +4,19 @@ include ../../../Make.inc +ENABLED:=1 + +ifeq ($(GOARCH),arm) +ENABLED:=0 +endif + TARG=runtime/cgo GOFILES=\ cgo.go\ +ifeq ($(ENABLED),1) + # Unwarranted chumminess with Make.pkg's cgo rules. # Do not try this at home. GCC_OFILES=\ @@ -23,6 +31,8 @@ OFILES=\ CGO_LDFLAGS=-lpthread +endif + include ../../../Make.pkg $(GOARCH).o: $(GOARCH).S diff --git a/src/pkg/runtime/cgo/arm.S b/src/pkg/runtime/cgo/arm.S new file mode 100644 index 0000000000..32d8629849 --- /dev/null +++ b/src/pkg/runtime/cgo/arm.S @@ -0,0 +1 @@ +/* unimplemented */ diff --git a/src/pkg/runtime/cgo/linux_arm.c b/src/pkg/runtime/cgo/linux_arm.c new file mode 100644 index 0000000000..e556c433ce --- /dev/null +++ b/src/pkg/runtime/cgo/linux_arm.c @@ -0,0 +1,19 @@ +// Copyright 2010 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. + +#include "libcgo.h" + +static void +xinitcgo(void) +{ +} + +void (*initcgo)(void) = xinitcgo; + +void +libcgo_sys_thread_start(ThreadStart *ts) +{ + // unimplemented + *(int*)0 = 0; +} diff --git a/src/pkg/syscall/syscall_linux_arm.go b/src/pkg/syscall/syscall_linux_arm.go index 00ab24f68e..c567bcec1c 100644 --- a/src/pkg/syscall/syscall_linux_arm.go +++ b/src/pkg/syscall/syscall_linux_arm.go @@ -64,6 +64,8 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, errno int) //sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) //sys sendto(s int, buf []byte, flags int, to uintptr, addrlen _Socklen) (errno int) //sys socketpair(domain int, typ int, flags int, fd *[2]int) (errno int) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, errno int) +//sys sendmsg(s int, msg *Msghdr, flags int) (errno int) //sys Chown(path string, uid int, gid int) (errno int) //sys Fchown(fd int, uid int, gid int) (errno int) diff --git a/src/pkg/syscall/zsyscall_linux_arm.go b/src/pkg/syscall/zsyscall_linux_arm.go index ee78bf062a..67d5e4b6a5 100644 --- a/src/pkg/syscall/zsyscall_linux_arm.go +++ b/src/pkg/syscall/zsyscall_linux_arm.go @@ -840,6 +840,23 @@ func socketpair(domain int, typ int, flags int, fd *[2]int) (errno int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func recvmsg(s int, msg *Msghdr, flags int) (n int, errno int) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + errno = int(e1) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (errno int) { + _, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + errno = int(e1) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Chown(path string, uid int, gid int) (errno int) { _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)) errno = int(e1)