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

gcc/newlib: Drop gcc-nostdc dependency #36

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

ajelinski
Copy link
Contributor

Only "new" files from PREFIX are packaged so after using gcc-nostdc as a
host package some of the crucial files were ignored. This was the root
cause behind the necessity to install gcc-newlib with gcc-nostdc.

The ${TOOLCHAIN_ARCH}-unknown-elf-gcc and ${TOOLCHAIN_ARCH}-elf-gcc
aren't found by default so these must've been previously installed with gcc-nostdc.

Inavailability of ${TOOLCHAIN_ARCH}-elf-gcc is fixed in the second commit.

Only "new" files from PREFIX are packaged so after using gcc-nostdc as a
host package some of the crucial files were ignored. This was the root
cause behind the necessity to install gcc-newlib with gcc-nostdc.

The `${TOOLCHAIN_ARCH}-unknown-elf-gcc` and `${TOOLCHAIN_ARCH}-elf-gcc`
aren't found so these must've been previously installed with gcc-nostdc.
The `-elf-newlib-` prefixed executables are still available. `newlib-`
links for executables were created even before and this logic remains
untouched.
@ajelinski
Copy link
Contributor Author

Previously there were such GCCs after installing gcc-newlib and gcc-nostdc packages:

  • $TOOLCHAIN_ARCH-elf-gcc
  • $TOOLCHAIN_ARCH-unknown-elf-gcc
  • $TOOLCHAIN_ARCH-elf-newlib-gcc

I've changed the configured prefix to be the first one as it seems to be the most common, the second one also seems to be quite common but I've never seen the third prefix apart from these Conda toolchains.

Should the gcc-newlib package install binaries with all these prefixes? Should the elf-newlib prefix remain?

@ajelinski ajelinski requested a review from mithro October 22, 2021 07:12
@mithro
Copy link
Member

mithro commented Oct 23, 2021

The target triplet is explained at https://wiki.osdev.org/Target_Triplet

@mithro
Copy link
Member

mithro commented Oct 23, 2021

Basically the issue you are running into is the complicated relationship between the compiler and std library - specially confusing on bare metal systems.

@mithro
Copy link
Member

mithro commented Oct 23, 2021

Btw it somewhat makes sense for gcc/newlib to require gcc/nostdc as the second is a bare metal compiler without a standard library, while the first adds support for a standard library running on bare metal.

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.

2 participants