[llvm-dev] PowerPC LLVM support much appreciated
ardi via llvm-dev
llvm-dev at lists.llvm.org
Sat Nov 20 04:09:40 PST 2021
On Fri, Oct 22, 2021 at 3:52 AM Andrew Chiw via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> [...]
>
> What other roadblocks do you foresee? I was under the impression that I
> only need to get LLVM to emit PowerPC MachO, but since then I have also
> heard that I need to get Rust to work with 10.4/10.5's libc... which
> means both language and compiling backend need to have access to the
> 10.4/10.5 libraries... which means I shouldn't try to setup a cross
> compiler with my current state of knowledge. More clarification/context
> much appreciated.
There was a time, far before LLVM was started, when conservative use
of UNIX system libraries was a must in every robust project, so that
you never used "cutting edge" APIs, but just POSIX standard headers.
Unfortunately, the current trend in development is totally opposite to
that. Now, people always use cutting-edge headers, cutting-edge
compilers, cutting-edge language versions (now the trend is that
nothing is cooler than increasing the C++ version required to build
your code). They justify it by saying nobody should use old OSs
because of security, but that's not the real truth (disconnect the
net, and you'll have far more security than the most modern OS). The
real truth, however, is that by requiring the latest cutting-edge
APIs, people buy newer hardware (which let's admit it: it's cool to
unbox a brand-new computer, so few people get angry at that), a new
hardware which by the way is not able to run older OSs, which in turn
gives the (false) impression that the decision to drop support for
older OSs was right. And the wheel goes on and on like that, until
arriving to a point where people accuse you of causing harm to
humankind by using older OSs.
It's a fact that the most modern compiler, linker, and debugger
doesn't strictly need any service not included in POSIX. Extra
requirements are thus artificial, created by the wheel of the trends.
Unfortunately, that's how it works nowadays.
Then, even if you managed to get a 100-people team developing a new
compiler toolchain that required only POSIX, you'll soon face new
problems, because when you'll try to build software with your good
compiler, you'll realize that most applications out there not only
require C++50 to be built, but also new vendor-dependent APIs not
available in your machine).
That's how it works now.
Ardi
More information about the llvm-dev
mailing list