Jakub Jelinek fdce86c9f0 libquadmath: Restore linking against -lm on most targets [PR112963]
The r14-4825 change added AC_CHECK_LIBM to libquadmath configure.ac and
replaced unconditional linking with -lm with linking with $(LIBM)
determined by that.
Unfortunately that broke bare metal targets because AC_CHECK_LIBM attempts
to link against -lm and this was after (unconditional) GCC_NO_EXECUTABLES.
Then r14-4863 partially reverted that change (no longer AC_CHECK_LIBM),
but didn't revert the Makefile.am change of -lm to $(LIBM), which had
the effect that libquadmath is not linked against -lm on any arch.
That is a serious problem though e.g. on Linux, because libquadmath calls
a few libm entrypoints and e.g. on powerpc64le the underlinking can cause
crashes in IFUNC resolvers of libm.
Instead of adding further reversion of the r14-4825 commit and use -lm
unconditionally again, this patch adds an AC_CHECK_LIBM like substitutions
with the *-ncr-sysv4.3* target handling removed (I think we don't support
such targets, especially not in libquadmath) and with the default case
replaced by simple using -lm.  That is something in between using -lm
unconditionally and what AC_CHECK_LIBM does if it would work on bare metal
- we know from GCC 13 and earlier that we can link -lm on all targets
libquadmath is built for, and just white list a couple of targets which
we know don't have separate -lm and don't want to link against that
(like Darwin, Cygwin, ...).

2023-12-12  Jakub Jelinek  <jakub@redhat.com>

	PR libquadmath/112963
	* configure.ac (LIBM): Readd AC_CHECK_LIBM-like check without doing
	AC_CHECK_LIB in it.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
2023-12-12 08:57:02 +01:00
2023-06-23 00:16:38 +00:00
2023-12-01 00:17:36 +00:00
2023-12-03 00:16:41 +00:00
2023-11-23 00:18:14 +00:00
2023-04-26 00:17:46 +00:00
2023-11-04 00:16:45 +00:00
2023-12-11 00:17:32 +00:00
2023-08-08 00:17:37 +00:00
2023-11-14 12:23:39 +00:00
2023-12-01 00:17:36 +00:00
2023-12-07 00:17:06 +00:00
2023-06-16 00:17:18 +00:00
2023-11-29 00:17:27 +00:00
2023-06-16 00:17:18 +00:00
2023-10-27 00:17:12 +00:00
2023-12-12 00:17:22 +00:00
2023-12-12 00:17:22 +00:00
2023-12-01 00:17:36 +00:00
2023-12-12 00:17:22 +00:00
2023-12-06 00:17:50 +00:00
2023-10-23 00:16:43 +00:00
2023-10-23 00:16:43 +00:00
2023-12-12 00:17:22 +00:00
2023-11-29 00:17:27 +00:00
2023-10-23 00:16:43 +00:00
2023-12-10 00:16:47 +00:00
2023-10-23 00:16:43 +00:00
2023-10-23 00:16:43 +00:00
2023-11-14 12:23:39 +00:00
2023-10-23 00:16:43 +00:00
2023-11-14 00:47:11 +01:00
2023-11-24 00:17:53 +00:00
2023-11-14 00:47:11 +01:00
2023-11-14 00:47:11 +01:00
2023-11-14 00:47:11 +01:00
2023-10-05 12:00:39 -04:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.
Description
No description provided
Readme 2.7 GiB
Languages
C++ 30.7%
C 30.1%
Ada 14.4%
D 6.1%
Go 5.7%
Other 12.5%