Currently, we misconfigure GCC on POSIX platforms that require the
inclusion of <libgen.h> to declare 'basename()'.
The series here does the following:
- ensures that the libiberty configure caters for platforms that need
<libgen.h> (it does not alter the outcome on those that also have
basename() in libc). [PR119218]
- ensures that the gcc/ configure matches the behaviour of
libiberty [PS119250]
- switches the remaining two uses of host 'basename()' to use the
libiberty 'lbasename()'.
Despite the last change, the first two are still needed to allow the
inclusion of <libgen.h> in GCC sources (otherwise the host definition
clashes with the libiberty one).
At some stage (not proposed in this patch series) perhaps we should
just poison the host basename/dirname and require use of the libiberty
replacements.
All tested on x86_64-linux, darwin, aarch64-linux, darwin.
OK for trunk? (when?)
thanks
Iain
----
Iain Sandoe (4):
libiberty: Append <libgen.h> to AC_CHECK_DECLS [PR119218].
gcc, configure: When checking for basename, use the same process as
libiberty [PR119250].
gcc, gcov: Use 'lbasename' consistently.
rust: Use 'lbasename()' consistently.
gcc/config.in | 10 ++++++++--
gcc/configure | 18 +++++++++++-------
gcc/configure.ac | 12 ++++++++++--
gcc/gcov.cc | 2 +-
gcc/rust/metadata/rust-export-metadata.cc | 2 +-
libiberty/config.in | 3 +++
libiberty/configure | 12 +++++++++---
libiberty/configure.ac | 9 +++++++--
8 files changed, 50 insertions(+), 18 deletions(-)
--
2.39.2 (Apple Git-143)