Why clang and ld.lld?

From: Ed Alley <alley3ed_at_gmail.com>
Date: Thu, 29 Aug 2024 01:28:32 UTC
I have been with FreeBSD since the days of FBSD.4.x. I have always
been happy with its performance. I am running AMD64, currently at
FBSD 13.2. I was previously running FBSD 8.x and I was very happy
with its performance. It was running gnu software: a gcc compiler
and a gnu BFD loader.

I run a large physics code that needs to invert a large matrix
by Gauss elimination. The operation gets very sensitive at certain
time intervals. However, since I upgraded my system to FBSD 13.2
things have gone on the rocks: The iteration does not converge.
To top it off I can't seem to get gcc to compile nor am I able to
get the old gnu BFD loader to compile.

I think that there is something wrong with the clang compiler:
It is either not using the math unit properly (round off?) or
double precision doesn't mean what it used to mean. I also do
not like the way the ld.lld loader works: for one thing it does
not allow me to define variables in an over all h-file, but
complains that the variable is multi valued! That is not how
C has worked for as long as I have been working with it.
For example: I had to put in a -Xlink --allow-.. in the command
line to ignore the error message, which was never was an error
message in Kernighan and Ritchie C.

This code that I am running is more than 20 years old and has
been running well under the earlier FreeBSDs. It also ran well
under Linux. I moved to FREEBSD because it handled multi-user
enviroments very well; At the time Linux was developed under
the assumption the computer environment was single-user. I
don't know if Linux can handle multi-user better today,
but I know that I can get a gcc compiler and a BFD loader
under Linux.

Should I think about changing to Linux?


    A disappointed FBSD user.