Conversation
|
Thanks! Changes LGTM, although I didn't run the tests. A few thoughts....
|
|
Thanks!
Yes, and I am doing so with corporate backing for a long-term product need. I would be glad to have this build running in CI to catch any errors early. I'm happy to make those changes if you point me in the right direction.
Yes, that is fine. I can do that once the main branch is ready for these changes. Want to let me know with a comment here? Or some other way? Thanks again! |
asomers
left a comment
There was a problem hiding this comment.
I thought uclibc was used with RTOSes and microcontrollers, not Linux. Is it used with both?
src/sys/termios.rs
Outdated
| IEXTEN; | ||
| #[cfg(not(target_os = "redox"))] | ||
| EXTPROC; | ||
| EXTPROC as tcflag_t; // uclibc gets the type wrong |
There was a problem hiding this comment.
Yes, it seems that libc's uclibc module doesn't have the right type for this item. We could accept this change here, pending a fix in libc, or I could try to get a libc change through first. Preferences?
There was a problem hiding this comment.
Just checking in here- I'm pushing through the changes in libc but it's a bit slowed by some larger sibling changes. I am still definitely pursuing this PR :)
I believe it is used with embedded devices which run Linux. https://gogs.waldemar-brodkorb.de/oss/uclibc-ng rust-lang/libc has it alongside glibc and musl: https://github.com/rust-lang/libc/tree/master/src/unix/linux_like/linux |
uclibc: fix type of EXTPROC. All of the other related constants are of type `tcflag_t`, but this one was wrong. This change will fix the build of `nix`. (Ref nix-rust/nix#1603)
|
Also looking forward to uclibc support as I am trying to bring up |
|
@skrap with rust-lang/libc#2615 being submitted, I believe this can likely be rebased and squashed. Here's an example of how to build tier 3 targets in nix's CI: Lines 280 to 282 in 18d1f62 Line 29 in 18d1f62 |
|
Thanks! I'm working on this now. Unfortunately we'll need more changes to |
|
For now, I'm expecting CI to fail until:
|
|
Ref https://gitlab.com/qemu-project/qemu/-/issues/829 which is causing failures in |
134dd22 to
91e8eb3
Compare
|
OK, this PR should be good at this point! (Tempting fate by saying this before CI has completed...) |
|
The CI failures seem independent of these changes. Perhaps it's a new clippy lint? |
Was just responding about that. I'll investigate and fix it independently of this PR, and will try to look at this in the next day or two. |
|
rebased on master to resolve conflicted Cargo.toml file. |
|
bors r+ |
|
Thanks for the review and the merge! |
uclibc is a libc alternative (peer to glibc and musl) which is used in low-resource embedded linux applications.
It's supported in rust as the
target_envof several tier 3 targets, butnixcurrently doesn't build. This patch provides a few customizations to get uclibc building.To test:
Thanks for your consideration!