tinygo/compiler
Ayke van Laethem 86f8778748 darwin: use custom syscall pkg that uses libsystem
Go 1.12 switched to using libSystem.dylib for system calls, because
Apple recommends against doing direct system calls that Go 1.11 and
earlier did. For more information, see:
  https://github.com/golang/go/issues/17490
  https://developer.apple.com/library/archive/qa/qa1118/_index.html

While the old syscall package was relatively easy to support in TinyGo
(just implement syscall.Syscall*), this got a whole lot harder with Go
1.12 as all syscalls now go through CGo magic to call the underlying
libSystem functions. Therefore, this commit overrides the stdlib syscall
package with a custom package that performs calls with libc (libSystem).
This may be useful not just for darwin but for other platforms as well
that do not place the stable ABI at the syscall boundary like Linux but
at the libc boundary.

Only a very minimal part of the syscall package has been implemented, to
get the tests to pass. More calls can easily be added in the future.
2019-04-05 09:53:51 +02:00
..
asserts.go compiler: fix escapes due to nil checks 2019-04-04 09:32:30 +02:00
calls.go all: go fmt 2019-01-31 16:22:05 +01:00
channel.go all: go fmt 2019-01-31 16:22:05 +01:00
compiler.go darwin: use custom syscall pkg that uses libsystem 2019-04-05 09:53:51 +02:00
defer.go all: update import paths to github.com/tinygo-org/tinygo 2019-01-31 17:43:19 +01:00
errors.go compiler: return error messages with source location 2018-12-01 17:41:15 +01:00
goroutine-lowering.go all: implement trivial select statements 2019-03-23 16:16:19 +01:00
interface-lowering.go compiler: support function pointers outside of addrspace 0 2019-03-05 19:54:55 +01:00
interface.go compiler: support function pointers outside of addrspace 0 2019-03-05 19:54:55 +01:00
llvm.go all: rename go-llvm to new import path 2019-01-27 19:26:16 +01:00
map.go compiler: support for byte arrays as keys in maps 2019-01-31 16:35:22 +01:00
optimizer.go compiler: fix escapes due to nil checks 2019-04-04 09:32:30 +02:00
reflect.go reflect: add limited support for all type kinds 2019-02-05 17:11:09 +01:00
sizes.go compiler: refactor compiler into separate package 2018-09-22 20:32:28 +02:00
syscall.go all: add macOS support 2019-02-19 15:54:36 +01:00