Add Redox scheme prefix
Fixes for Redox Path handling Update to new system calls and enviromental variables Remove unused type parameter Don't forget to close executable file Interpret shebangs on redox This is no longer handled on the kernel side Fix for missing setenv/unsetenv Use mangled names for compiler builtins to avoid conflicts with relibc Another attempt to fix build issues WIP aarch64-unknown-redox support Untested. Introduce a target family for Redox The Redox base target spec located within the rustc source did not specify a 'target_family' attribute. However, the x86_64 specific target spec located within the redox source did. Now AArch64 could have done something similar but unfortunately can't since there are rust compiler mods needed to support Redox on AArch64 which imply that any AArch64 target spec file in the Redox source shall be ignored in favour of the target spec within the rustc source. The target_family attribute is eventually translated into an environment variable called CARGO_CFG_TARGET_FAMILY whose presence can be tested by software built with the compiler generated from the target spec. Some crates expect this variable to contain something failing which they crash. Eg onig_sys within rust-onig. Since the Redox base target spec in the rustc source doesn't specify target_family for AArch64, such crates don't build. The solution is to introduce target_family in the Redox base target spec within the rustc source so both x86_64 and AArch64 have it defined by default. It is set to "redox". "unix" would perhaps be more preferable but using that breaks the rustc build which starts making incorrect assumptions about the support libs that Redox has.
Showing with 147 additions and 18 deletions