-
Notifications
You must be signed in to change notification settings - Fork 89
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 support for Picolibc and building RISC-V applications by default #305
Conversation
42267ab
to
ed36853
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you group the instructions by host platform and not by target architecture?
ed36853
to
6347ffb
Compare
f42cb84
to
970cccd
Compare
Any more comments? |
We vendor libc for arm so we can compile with pic support. So we probably don't want to suggest I don't like the separation of compiler from std lib. Most users just want to copy and paste and get things working as fast as possible, they don't want to read all the steps or understand how the compilation infrastructure works. If we are ready for risc-v by default, then this needs to be a lot simpler for ubuntu and mac. I also don't like instruction number 4. What is using picolib conditional on? How should a user know if that step applies to them? |
Signed-off-by: Alistair Francis <[email protected]>
Signed-off-by: Alistair Francis <[email protected]>
Add a heap_end variable and a default size to keep picolibc happy. Signed-off-by: Alistair Francis <[email protected]>
Signed-off-by: Alistair Francis <[email protected]>
Let's update the Makefile and README to build RISC-V binaries by default. Most distros now have enough RISC-V support to allow this by just using the package manager. Signed-off-by: Alistair Francis <[email protected]>
Signed-off-by: Alistair Francis <[email protected]>
Dropped
I'm not sure I follow. They are separate things, there isn't much we can do about that. Pretending that they are not separate just seems more confusing.
Yep! This PR significantly reduces the amount of steps in the README, it removes more text then it adds. Hopefully making it easier for others to follow. All of the steps are pretty easy to copy and paste, just with some information and context provided for people who are curious or want to dig into it more.
I have updated the information here to provide more details. |
970cccd
to
f836cb2
Compare
This also probably fixes #309 as well |
Any more comments on this? |
I'm generally in favor of these changes, as the instructions in the README right now are broken and I'm entirely unable to get things built with picolibc on a recent-ish Ubuntu (22.04). The instructions already suggest using Picolibc, but it is not at all integrated. However, I see a few problems with these changes:
I don't really know how to elegantly solve any of these issues, especially the |
Subsumed by #357. |
This PR adds support for using picolibc as the libc. This means that most major distros now support RISC-V bulids just using the package manager. So let's also enable RISC-V builds by default, allowing users to disable the build if they wish.
Fixes: #304
Fixes: #264