diff options
| author | Drahflow <drahflow@gmx.de> | 2015-07-01 12:13:53 +0200 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2015-07-01 12:13:53 +0200 |
| commit | b875e47f6540fa5ca8f9e0fa1a870014ab5c3953 (patch) | |
| tree | 3df89cc81c37aca950d55b97cc4ac27d228d2a90 /interpreter/ElymasSys.pm | |
| parent | 247f385388c312c1b9b4947f3689b1094ec94ff5 (diff) | |
FreeBSD support in master
Diffstat (limited to 'interpreter/ElymasSys.pm')
| -rw-r--r-- | interpreter/ElymasSys.pm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/interpreter/ElymasSys.pm b/interpreter/ElymasSys.pm index ad79b02..a5219c6 100644 --- a/interpreter/ElymasSys.pm +++ b/interpreter/ElymasSys.pm @@ -9,6 +9,19 @@ use POSIX; my $rwmask = &POSIX::O_RDONLY | &POSIX::O_WRONLY | &POSIX::O_RDWR; +sub osType { + my $uname = qx(uname); + chomp $uname; + + if($uname eq 'Linux') { + return 'linux'; + } elsif($uname eq 'FreeBSD') { + return 'freebsd'; + } else { + die "Unknown uname output '$uname', cannot decide what ABI to use."; + } +} + our $sys = { 'file' => [sub { my ($data, $scope) = @_; @@ -21,6 +34,7 @@ our $sys = { 'err' => [createFile(2, &POSIX::O_WRONLY), ['struct'], 'passive'], 'argv' => [[map { [$_, 'string'] } @ARGV[1 .. $#ARGV]], ['array', 'sys .argv', ['range', 0, $#ARGV - 1], ['string']], 'passive'], 'asm' => [$ElymasAsm::asm, ['struct'], 'passive'], + osType() => [{ }, ['struct'], 'passive'], }; sub createFile { |
