TX1 Cross Compile toolchain name

Hi,
A silly question, why the cross-compile toolchain for TX1 has the ‘unknown’ word?

For example:

aarch64-unknown-linux-gnu-g++

Thanks

For reference you might see some of the names available for Linaro, which is the supplier of such tools on Ubuntu systems (a lot of people use this even though it is essentially Ubuntu sponsored):
[url]https://releases.linaro.org/components/toolchain/binaries/[/url]

In embedded you can consider two types of software: Bare metal, or software with operating system support. A compiler intended to have use without a supporting operating system (and I mean the end system being compiled for, not the system doing the compile) has the label “unkown”. Such a compiler is advertising it works for boot loaders and kernels where there is no linker, no libraries, so on (a kernel is bare metal…it is the kernel in fact which produces the environment for user space…a boot loader is also a kernel, although the only program it runs is to overwrite itself with another kernel). They tend to work ok in user space as well, but for user space you probably wouldn’t see “unknown”…it’d be a reference to which linker environment and other standards the compiler requires (and “unknown” would have no requirements…without “unkown” it might imply some o/s support is expected).

An example of a truly bare metal difference in a boot loader might be the need to allocate memory even for local variables…it is the supporting environment which produces automatic allocation, and in that environment, there is no such support unless you’ve written it. I’m not sure how an “unknown” version might help with this since I’d expect to have to write the code to allocate anyway.

I don’t see that much anymore, and I’m not positive, but the “unknown” seems to be left out these days even on compilers which work for both bare metal and user space. I have some older Linaro compilers which used that convention, but when I go to the above URL and look for those same compilers the “unknown” seems to be left out.

Anyone else have an idea how an “unknown” differs from not-unknown?

Thanks you very much linuxdev for the quick and detailed response.