1. 21 Apr, 2017 1 commit
    • Joe Richey's avatar
      unix: generate all Linux go files from source · ea9bcade
      Joe Richey authored
      Right now the process for adding in new constants, errors, or syscalls
      for Linux is a pain and unreliable. The scripts are designed to be run
      on the target architecture and use the header files installed on the
      user's system. This makes it hard to generate files for all the
      architectures or to have consistency between users. See golang/go#15282.
      
      This CL fixes this issue by making all of the files for the 11 supported
      architectures directly from source checkouts of Linux, glibc, and bluez.
      This is done using Docker, the gcc cross-compilers, and qemu emulation.
      Previously discussed here:
          https://go-review.googlesource.com/c/37589/
      
      A README.md file is also added to explain how all the parts of the build
      system work.
      
      In order to get the build working for all the architectures, I made
      some changes to the other scripts called from mkall_linux.go:
        - Files only used for generating linux code, moved to linux/
        - linux/mksysnum.pl supports a specified CC compiler.
        - The generated C code in mkerrors.sh changed to avoid a warning
        - mkerrors.sh headers changed to fix powerpc64 bug in sys/ioctl.h
        - linux/types.go no longer needs to export Ptrace structs in lowercase
      
      Build instructions:
        - Host system needs to be x86-64 Linux
        - Install Docker (https://docs.docker.com/engine/installation/)
        - ./mkall.sh (That's it!!!)
      
      Change-Id: I87067c14442ba12f8d51991349a43a9d73f38ae0
      Reviewed-on: https://go-review.googlesource.com/37943Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      ea9bcade
  2. 07 Apr, 2017 2 commits
  3. 06 Apr, 2017 1 commit
  4. 05 Apr, 2017 1 commit
  5. 03 Apr, 2017 1 commit
  6. 29 Mar, 2017 1 commit
  7. 25 Mar, 2017 1 commit
  8. 22 Mar, 2017 1 commit
  9. 08 Mar, 2017 2 commits
  10. 03 Mar, 2017 1 commit
  11. 01 Mar, 2017 1 commit
  12. 28 Feb, 2017 1 commit
    • Joe Richey's avatar
      unix: update syscall numbers to 4.10 kernel · 21f2569f
      Joe Richey authored
      The syscall numbers for Linux were out of date, so with the release of
      the 4.10 kernel, now seemed like a reasonable time to update them. Note
      that this change is mostly additive except that it removes some invalid
      syscalls for arm, and it removes all constants that refer to either the
      syscall base or total number of syscalls. Previous versions had only
      removed some of them.
      
      The updated syscall numbers were pulled directly from a header build
      of the 4.10 kernel. This required some minor adjustements to the sysnum
      generating perl script and is why the comments at the tops of the
      generated files look slightly different. I could include the script I
      used to do this, but right now it cannot generate the zerrors and ztypes
      files.
      
      Change-Id: Id94b967eb917f8f87500f818f2e494df9bccf2e0
      Reviewed-on: https://go-review.googlesource.com/37570Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      21f2569f
  13. 23 Feb, 2017 1 commit
  14. 17 Feb, 2017 1 commit
  15. 13 Feb, 2017 3 commits
  16. 10 Feb, 2017 1 commit
  17. 01 Feb, 2017 1 commit
  18. 14 Dec, 2016 1 commit
  19. 05 Dec, 2016 1 commit
  20. 04 Dec, 2016 1 commit
  21. 02 Dec, 2016 1 commit
  22. 29 Nov, 2016 1 commit
  23. 22 Nov, 2016 1 commit
  24. 10 Nov, 2016 1 commit
  25. 08 Nov, 2016 1 commit
  26. 23 Oct, 2016 1 commit
  27. 16 Oct, 2016 1 commit
  28. 12 Oct, 2016 1 commit
  29. 11 Oct, 2016 1 commit
  30. 06 Oct, 2016 3 commits
  31. 16 Sep, 2016 1 commit
  32. 07 Sep, 2016 1 commit
  33. 17 Jul, 2016 1 commit
  34. 12 Jul, 2016 1 commit