Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

syscall: s390x: fork/exec function not implemented #15963

Closed
becks opened this issue Jun 5, 2016 · 6 comments
Closed

syscall: s390x: fork/exec function not implemented #15963

becks opened this issue Jun 5, 2016 · 6 comments
Milestone

Comments

@becks
Copy link

@becks becks commented Jun 5, 2016

  1. What version of Go are you using (go version)?
    go version go1.7beta1 linux/amd64
  2. What operating system and processor architecture are you using (go env)?
    GOARCH="s390x"
    GOHOSTARCH="amd64"
    GOHOSTOS="linux"
    GOOS="linux"
    CC="gcc"
    GOGCCFLAGS="-fPIC -m64 -march=z196 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build929527714=/tmp/go-build"
    CXX="g++"
    CGO_ENABLED="0"
  3. What did you do?
    https://play.golang.org/p/DaEDa0AMTZ

$ export GOARCH=s390x
$ go install

$ file $GOPATH/bin/linux_s390x/test
/go//bin/linux_s390x/test: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), statically linked, not stripped

  1. What did you see instead?

$ uname -a
Linux myhost 2.6.18-274.el5 #1 SMP Fri Jul 8 17:47:13 EDT 2011 s390x s390x s390x GNU/Linux

$ ./test
fork/exec /bin/ls: function not implemented

$ strace -s8192 -f ./test
[pid 19931] setup() = -1 ENOSYS (Function not implemented)
[pid 19931] setup() = -1 ENOSYS (Function not implemented)
[pid 19931] close(0) = 0
[pid 19931] close(0) = -1 EBADF (Bad file descriptor)
[pid 19931] write(2, "fork/exec /bin/ls: function not implemented", 43fork/exec /bin/ls: function not implemented) = 43

Thanks!

@ianlancetaylor ianlancetaylor changed the title s390x: fork/exec function not implemented syscall: s390x: fork/exec function not implemented Jun 5, 2016
@ianlancetaylor ianlancetaylor added this to the Go1.7Maybe milestone Jun 5, 2016
@ianlancetaylor
Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Jun 5, 2016

@billotosyr
Copy link

@billotosyr billotosyr commented Jun 5, 2016

I've not been able to reproduce this, but I have GOHOSTARCH=s390x.

@mundaym
Copy link
Member

@mundaym mundaym commented Jun 5, 2016

The program works on both RHEL 6 (2.6.32-504.23.4.el6.s390x) and 7 (3.10.0-327.4.5.el7.s390x). I assume this is therefore a RHEL 5 specific issue (I don't have a RHEL 5 machine on hand to try unfortunately). I'll investigate further tomorrow however RHEL 5 isn't supported by Go so I'm not sure we will be able to fix this (see https://golang.org/doc/install and http://dave.cheney.net/2013/06/18/how-to-install-go-1-1-on-centos-5).

@mikioh
Copy link
Contributor

@mikioh mikioh commented Jun 5, 2016

$ uname -a
Linux myhost 2.6.18-274.el5 #1 SMP Fri Jul 8 17:47:13 EDT 2011 s390x s390x s390x GNU/Linux

According to https://golang.org/doc/install#requirements, Go on Linux requires kernel 2.6.23 and above.

@becks
Copy link
Author

@becks becks commented Jun 6, 2016

I can confirm it works on rhel6-s390x, while it doesn't work on rhel5-s390x

@ianlancetaylor
Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Jun 6, 2016

Closing because we don't support kernels that old. In general we don't support RHEL5. Sorry.

@golang golang locked and limited conversation to collaborators Jun 6, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants
You can’t perform that action at this time.