https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89955
Jim Wilson <wilson at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wilson at gcc dot gnu.org --- Comment #2 from Jim Wilson <wilson at gcc dot gnu.org> --- There should not be a problem working with the sysroot, because as Andreas mentioned, the paths are relative to the sysroot base. This does require cooperation from the C library though. If the C library isn't installing itself into the same directories that the compiler is searching, then you will have problems. You can either fix the C library or fix gcc, so that the set of dirs used are the same. Or add a bunch of symbolic links to connect the two together. The scheme specified by STARTFILE_PREFIX_SPEC is a reasonable one. I don't think it is officially documented as part of the psABI, but I think it makes sense for this scheme to be the default. linux glibc already has support to install in the right dirs, and presumably the freebsd C library is also installing in the right dirs. This support also works for embedded elf toolchains, though in practice it doesn't get used because we use the multilib support for newlib, and hence we end up using multilib paths instead of the paths specified by STARTFILE_PREFIX_SPEC. But it is there if someone wants to use it. I think if you don't want to use this scheme, and won't be supporting more than one ABI, then you should just override it for your OS. If you can't override it for your OS, then we would have to copy this value into linux.h, freebsd.h, and elf.h. Oh, and maybe rtems.h too. That would be a little inconvenient.