On 20.08.21 09:34, Richard Biener via Fortran wrote:
On Thu, Aug 19, 2021 at 10:10 PM Iain Sandoe <i...@sandoe.co.uk> wrote:
libm is not needed on Darwin, and should not be added unconditionally
even if that is (mostly) harmless since it is a symlink to libc.
tested on x86_64, i686-darwin, x86_64-linux,
OK for master?
OK.
Richard.
Looks also good to me – but for completeness and as background, I also
want to remark the following.
(At least as I understand it, I did not dig deeper.)
--- a/libgfortran/configure.ac
+++ b/libgfortran/configure.ac
...
+AC_CHECK_LIBM
This CHECK_LIBM has a hard-coded list of targets and for some (like
Darwin) it simply does not set $LIBM.
+++ b/libgfortran/Makefile.am
@@ -42,7 +42,7 @@ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
libgfortran_la_LDFLAGS = -version-info `grep -v '^\#'
$(srcdir)/libtool-version` \
$(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la \
$(HWCAP_LDFLAGS) \
- -lm $(extra_ldflags_libgfortran) \
+ $(LIBM) $(extra_ldflags_libgfortran) \
I think usage like this one do not actually link '-lm' as
gcc/config/darwin.h contains:
#define LINK_SPEC \
...
%:remove-outfile(-lm) \
However, this spec change comes too early for:
--- a/libgfortran/libgfortran.spec.in
+++ b/libgfortran/libgfortran.spec.in
@@ -5,4 +5,4 @@
#
%rename lib liborig
-*lib: @LIBQUADSPEC@ -lm %(libgcc) %(liborig)
+*lib: @LIBQUADSPEC@ @LIBM@ %(libgcc) %(liborig)
NIT: There are two spaces instead of one before @LIBM@.
Thus, it makes sense to the unconditional '-lm' from the .spec file.
Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht
München, HRB 106955