On Mon, Mar 24, 2025 at 9:54 AM Iain Sandoe <iains....@gmail.com> wrote:
>
> 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?)

This looks all reasonable, so OK from my side, even now.  Do you
agree, Jakub?

Thanks,
Richard.

> 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)
>

Reply via email to