Skip to content

API/documented process to port to new OSes? #4351

Closed
@Connor-GH

Description

@Connor-GH

target-triple: x86_64-unknown-none

OS: https://github.com/connor-gh/xv6-public

This is different from the newlib request. There are hundreds of libcs, it's just that only a few are complete, and even few are good. My libc falls into the "incomplete and bad" category, and so it doesn't make sense for me to add a config option upstream to use this crate. I should be able to define a file that contains my special kernel interface and be done with it, essentially. I should make like a build.rs or a lang-item or something and pass --cfg relix and expect everything to just work.

For some clarification:
Relix uses a custom libc and kernel. The system is to be compiled without a cross-compiler (using any ELF gcc or clang). An appropriate target for Rust would be x86_64-unknown-none so that it avoids glibc-isms. Look at this OS wrapper: https://github.com/rust-lang/libc/blob/main/src/trusty.rs. It doesn't seem productive for me to add my obscure OS wrappers upstream, so a downstream solution is what I am looking for.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions