-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
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
compile GCC without quadmath on Apple Silicon to unbreak Fortran REAL128 #73949
Comments
CC @fxcoudert |
Have you tested whether compiling with the flags |
@carlocab I haven't figured out how to do that properly yet but I am trying. |
Apparently GCC gets this from glibc if quadmath isn't present, which isn't useful on MacOS if glibc isn't used. But I'll try to verify this before closing the issue. |
It's unsupported. Not broken, as the Fortran standard does not require the presence of a 128-bit floating-point type.
GCC features are different on different platforms. It is possible to open an issue at the upstream project so it gets improved, but I don't think it will have high priority. As for any new platform, there are a lot of important new things to get right. I would like to get some more information on this, though:
and
Where are these options passed in aarch64-linux? And what math library runtime is used, if libquadmath is disabled?
If that's true, I didn't know glibc chose to ship with float128 library functions exposed. It certainly doesn't on Intel processors, otherwise libquadmath would not be necessary. But for macOS, we can't use this, anyway. |
PS: I don't think any widely-used software package should rely on the availability of |
I don't know the details involved, but just taking a quick glance at the debian build rules in https://sources.debian.org/src/gcc-10/10.2.1-6/debian/ :
In
So it looks like they explicitly pass those flags when building gcc except when on x86 or ppc64le |
The upstream issue is at iains/gcc-darwin-arm64#5 |
Provide a detailed description of the proposed feature
Please compile GCC with
--disable-libquadmath --disable-libquadmath-support
on Apple Silicon to match what is used on AArch64 Linux systems, and to allow whatever method of supportingfloat128
in Fortran is used there is used on Apple Silicon, thereby unbreaking this feature.libquadmath
does not support ARM (as far as I have been able to determine).What is the motivation for the feature?
REAL128 support is broken in Homebrew GCC Fortran on Apple Silicon, whereas it works with Homebrew GCC Fortran on Intel systems, and with GCC Fortran on Linux AArch64 systems.
How will the feature be relevant to at least 90% of Homebrew users?
It isn't. I doubt that any single package is used by 90% of Homebrew users, even GCC, and I am certain that less than half of all Homebrew users touch the Fortran compile. Among those that compile Fortran, I suspect only 1% use the 128-bit floating-point type, although it is part of widely used quantum chemistry codes like GAMESS.
What alternatives to the feature have been considered?
I can compile GCC myself, but avoiding this is the primary reason why I use Homebrew.
The text was updated successfully, but these errors were encountered: