hbowden / nextgen

A Genetic File, Syscall and Network Fuzzer.
Other
58 stars 15 forks source link

syscall(2) deprecated on macOS sierra. #11

Open hbowden opened 7 years ago

hbowden commented 7 years ago

Will have to research on the new interface macOS provides instead of syscall(2). Here is an example error:

error: 'syscall' is deprecated: first deprecated in macOS 10.12 - syscall(2) is unsupported;
please switch to a supported interface. For SYS_kdebug_trace use
kdebug_signpost(). [-Werror,-Wdeprecated-declarations]
return (syscall(symbol, (*array[0]), array[1], (*array[2]), array[3]));
hbowden commented 7 years ago

After researching it looks like the only options are to find the old syscall(2) implementation inside the XNU source and pull that into nextgen. However the XNU syscall(2) implementation is spread across several files and is confusing and complicated. Second the XNU syscall(2) implementation is licensed under the Apple Public Source License, which goes against the project goals of only using BSD or BSD like licenses. The second option is to reimplement syscall(2) myself. However the current syscall(2) implementation while deprecated will probably remain for at least some time. Other deprecated functions in macOS have remained for several years after first being deprecated.