Revert "linux: add system call bindings"#3646
Conversation
|
Thanks for your pull request, @ibuclaw! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + druntime#3646" |
Is it possible to upstream some tests? |
It's easy to run tests through emulation using Docker and QEMU: |
|
@kinke might be better placed as ldc supports cross compiling to all targets from one binary, and we only need to verify it passes semantic analysis only on i.e ARM/linux, and other predefined version combinations. |
|
Adding some hidden/internal dmd switch to override predefined versions with an explicit list of conditionals would probably suffice as well. |
|
Currently LDC does not include all the above mentioned architectures. That should only be a configuration change necessary to enable additional architectures. |
|
Only the following are high priority targets to check: |
|
SPARC is one of the architectures that is currently not included in LDC. Here's a list of all the architectures in LDC 1.27.0: |
@ibuclaw can you please share the error that you got for at least one linux platform? Because I reviewed the code again and I still couldn't see find anything wrong with it. (I thought there was an Edit: Is it perhaps this line: public import core.sys.linux.syscalls : SystemCall;So the problem is that we're unconditionally importing something that is conditionally defined?
In principle I agree that we should strive to have complete bindings, but I don't understand what's wrong with an incremental approach either. |
I think it would be a good step to implement some simple tests to avoid merging not so clear broken changes. |
Reverts #2820
Broke every supported Linux platform.
Don't merge ANY new Linux bindings unless it supports all of the following:
Regular testing is done on these platforms and downstream testers do complain when you break the build for them.