Iain Sandoe 1609fdff16 libstdc++, Darwin: Handle a linker warning [PR112397].
Darwin's linker warns when we make a direct branch to code that is
in a weak definition (citing that if a different implementation of
the weak function is chosen by the dynamic linker this would be an
error).

As the analysis in the PR shows, this can happen when we have hot/
cold partitioning and there is an error path that is primarily cold
but makes use of epilogue code in the hot section.  In this simple
case, we can easily deduce that the code is in fact safe; however
that is not something we can realistically implement in the linker.

Since the user-replaceable allocators are implemented using weak
definitions, this is a warning that is frequently flagged up in both
the testsuite and end-user code.

The chosen solution here is to suppress the hot/cold partitioning for
these cases (it is unlikely to impact performance much c.f. the
actual allocation).

	PR target/112397

libstdc++-v3/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Detect if we are building for Darwin.
	* libsupc++/Makefile.am: If we are building for Darwin, then
	suppress hot/cold partitioning for the array allocators.
	* libsupc++/Makefile.in: Regenerated.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
2024-02-19 20:14:34 +00:00
2024-01-03 12:19:35 +01:00
2024-01-12 00:17:54 +00:00
2024-02-06 00:18:46 +00:00
2023-11-23 00:18:14 +00:00
2023-11-04 00:16:45 +00:00
2024-01-14 00:17:47 +00:00
2024-01-03 12:19:35 +01:00
2024-02-15 00:17:50 +00:00
2024-01-05 08:54:28 +01:00
2024-02-10 00:17:14 +00:00
2024-02-19 18:13:11 +00:00
2024-01-03 12:19:35 +01:00
2023-10-27 00:17:12 +00:00
2024-02-17 00:17:08 +00:00
2024-02-18 00:17:05 +00:00
2024-02-14 00:17:32 +00:00
2024-02-16 00:17:22 +00:00
2024-01-17 00:21:29 +00:00
2024-02-06 00:18:46 +00:00
2024-01-03 12:19:35 +01:00
2024-02-18 00:17:05 +00:00
2024-01-04 00:18:45 +00:00
2024-02-17 00:17:08 +00:00
2024-02-07 00:18:31 +00:00
2024-01-03 12:19:35 +01:00
2024-01-03 12:19:35 +01: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
2024-02-11 00:17:01 +00:00
2024-01-09 08:02:31 -07: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 1.5 GiB
Languages
C++ 30.7%
C 30%
Ada 14.5%
D 6.1%
Go 5.7%
Other 12.5%