Lubos Dolezel 5983370373 Added shell_cmds submodule, building some executables from it.
Added initial 'darling' tool.
Added sys_getlogin.
sysconf(_SC_ARG_MAX) now works.
2015-12-21 00:56:09 +01:00
2015-12-07 14:42:46 +01:00
2014-01-06 20:47:37 +01:00
2015-11-03 13:07:47 +01:00
2015-12-18 17:18:10 +01:00

This is a rework of Darling, which will greatly improve compatibility with OS X applications.

The i386 build is still lagging behind due to some missing important assembly around threading. You only need it to run 32-bit binaries though.

Courageous users may proceed with the build instructions below.

For x86-64 OS X binaries:

cd darling
mkdir -p build/x86-64
CC=clang CXX=clang++ cmake ../.. -DCMAKE_INSTALL_LIBDIR=lib64
make
make install

# Now we go into src/lkm to build the kernel module
cd ../../src/lkm
make
make install

For i386 OS X binaries:

cd darling
mkdir -p build/i386
CC=clang CXX=clang++ cmake ../.. -DCMAKE_INSTALL_LIBDIR=lib32
make
make install

Loading the kernel module:

modprobe darling-mach

# ATTENTION: The kernel module is likely unstable,
# full of vulnerabilities, etc.
# You SHOULD restrict access to /dev/mach to trusted
# users only and be prepared to the eventuality of
# kernel hangups (and related data loss).

chmod a+rw /dev/mach
Description
Darwin/macOS emulation layer for Linux
Readme GPL-3.0 45 MiB
Languages
Objective-C 52.8%
C 28%
C++ 14.8%
Assembly 2%
CMake 1.3%
Other 0.9%