Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add experimental L4re support #591

Merged
merged 1 commit into from
Jun 1, 2017
Merged

Add experimental L4re support #591

merged 1 commit into from
Jun 1, 2017

Conversation

humenda
Copy link
Contributor

@humenda humenda commented May 7, 2017

This PR introduces a UNIX-alike target for the l4re microkernel
operating system. While this system is not a UNIX system at all, it is
easiest to use the POSIX interface and hence benefit from common
definitions.

This version is a very early draft, only the basic data types have been
verified and most of the complex data types (structs and unions) have
not been ported yet.

Thanks to TobiasSchaffner for providing his patched version, to verify some assumptions.

Copy link
Member

@alexcrichton alexcrichton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good! I think the only thing left is tidy failing, which you can run locally via:

rustc ci/style.rs && ./style src

src/unix/mod.rs Outdated
@@ -16,14 +16,17 @@ pub type cc_t = ::c_uchar;
pub enum DIR {}
pub enum locale_t {}

#[cfg(not(target_os = "l4re"))]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We typically prefer to avoid these sorts of #[cfg] annotations in libc wherever possible, mind pushing these structs further down the hierarchy to skip them on l4re?

@bors
Copy link
Contributor

bors commented May 8, 2017

☔ The latest upstream changes (presumably #578) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton
Copy link
Member

@humenda looks like there may be a merge conflict? Mind also pushing some more of those #[cfg] tagged functions and such higher down the hierarchy?

@humenda
Copy link
Contributor Author

humenda commented May 16, 2017 via email

@alexcrichton
Copy link
Member

Ok sounds good to me!

This commit introduces a UNIX-alike target for the l4re microkernel
operating system. While this system is not a UNIX system at all, it is
easiest to use the POSIX interface and hence benefit from common
definitions.

This version is a very early draft, only the basic data types have been
verified and most of the complex data types (structs and unions) have
not been ported yet.
@alexcrichton
Copy link
Member

@bors: r+

Thanks!

@bors
Copy link
Contributor

bors commented Jun 1, 2017

📌 Commit 09a04d8 has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented Jun 1, 2017

⌛ Testing commit 09a04d8 with merge 729b31e...

bors added a commit that referenced this pull request Jun 1, 2017
Add experimental L4re support

This PR introduces a UNIX-alike target for the l4re microkernel
operating system. While this system is not a UNIX system at all, it is
easiest to use the POSIX interface and hence benefit from common
definitions.

This version is a very early draft, only the basic data types have been
verified and most of the complex data types (structs and unions) have
not been ported yet.

Thanks to TobiasSchaffner for providing his patched version, to verify some assumptions.
@bors
Copy link
Contributor

bors commented Jun 1, 2017

💔 Test failed - status-travis

@alexcrichton
Copy link
Member

alexcrichton commented Jun 1, 2017 via email

@bors
Copy link
Contributor

bors commented Jun 1, 2017

⌛ Testing commit 09a04d8 with merge f74d134...

bors added a commit that referenced this pull request Jun 1, 2017
Add experimental L4re support

This PR introduces a UNIX-alike target for the l4re microkernel
operating system. While this system is not a UNIX system at all, it is
easiest to use the POSIX interface and hence benefit from common
definitions.

This version is a very early draft, only the basic data types have been
verified and most of the complex data types (structs and unions) have
not been ported yet.

Thanks to TobiasSchaffner for providing his patched version, to verify some assumptions.
@bors
Copy link
Contributor

bors commented Jun 1, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing f74d134 to master...

@bors bors merged commit 09a04d8 into rust-lang:master Jun 1, 2017
bors added a commit to rust-lang/rust that referenced this pull request Aug 5, 2017
Add L4Re Support in librustc_back

Add experimental support for x86_64-unknown-l4re-uclibc target, which covers the L4 Runtime Environment.

This pull request contains the changes that have to be made to librustc_back. It follows the changes humenda made in pull request rust-lang/libc#591 to libc.

Next steps will be the modifications to the needed libraries. (libstd,  liballoc_system, libpanic_abort, libunwind)

Thanks to humenda for reviewing.
danielverkamp pushed a commit to danielverkamp/libc that referenced this pull request Apr 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants