On Tue, 19 May 2020, Alexandre Oliva wrote:

> On May 19, 2020, Alexandre Oliva <ol...@adacore.com> wrote:
> 
> > - fix a build problem when targeting platforms with an executable suffix
> 
> aux and dump revamp: fix target exec suffix handling
> 
> HAVE_TARGET_EXECUTABLE_SUFFIX is defined only in gcc.c, and in a way
> that requires testing whether it's defined, rather than for nonzero.
> Fixed the new use in gcc.c, copied the fix and the definition to
> lto-wrapper.c.

OK.

> 
> for  gcc/ChangeLog
> 
>       * lto-wrapper.c (HAVE_TARGET_EXECUTABLE_SUFFIX): Define if...
>       (TARGET_EXECUTABLE_SUFFIX): ... is defined; define this to the
>       empty string otherwise.
>       (run_gcc): Test for HAVE_TARGET_EXECUTABLE_SUFFIX with defined.
>       * gcc.c (process_command): Likewise.
> ---
>  gcc/gcc.c         |    2 +-
>  gcc/lto-wrapper.c |    9 ++++++++-
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/gcc/gcc.c b/gcc/gcc.c
> index 1e4ac9d..8c851d7 100644
> --- a/gcc/gcc.c
> +++ b/gcc/gcc.c
> @@ -4966,7 +4966,7 @@ process_command (unsigned int decoded_options_count,
>             : ((temp = strrchr (obase + 1, '.'))
>                && (xlen = strlen (temp))
>                && (strcmp (temp, ".exe") == 0
> -#if HAVE_TARGET_EXECUTABLE_SUFFIX
> +#if defined(HAVE_TARGET_EXECUTABLE_SUFFIX)
>                    || strcmp (temp, TARGET_EXECUTABLE_SUFFIX) == 0
>  #endif
>                    || strcmp (obase, "a.out") == 0)))
> diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
> index 026c419..d565b08 100644
> --- a/gcc/lto-wrapper.c
> +++ b/gcc/lto-wrapper.c
> @@ -53,6 +53,13 @@ along with GCC; see the file COPYING3.  If not see
>     driver to lto-wrapper.  */
>  #define OFFLOAD_TARGET_NAMES_ENV     "OFFLOAD_TARGET_NAMES"
>  
> +/* By default there is no special suffix for target executables.  */
> +#ifdef TARGET_EXECUTABLE_SUFFIX
> +#define HAVE_TARGET_EXECUTABLE_SUFFIX
> +#else
> +#define TARGET_EXECUTABLE_SUFFIX ""
> +#endif
> +
>  enum lto_mode_d {
>    LTO_MODE_NONE,                     /* Not doing LTO.  */
>    LTO_MODE_LTO,                              /* Normal LTO.  */
> @@ -1509,7 +1516,7 @@ run_gcc (unsigned argc, char *argv[])
>         if ((temp = strrchr (obase + 1, '.'))
>             && (xlen = strlen (temp))
>             && (strcmp (temp, ".exe") == 0
> -#if HAVE_TARGET_EXECUTABLE_SUFFIX
> +#if defined(HAVE_TARGET_EXECUTABLE_SUFFIX)
>                 || strcmp (temp, TARGET_EXECUTABLE_SUFFIX) == 0
>  #endif
>                 || strcmp (obase, "a.out") == 0))
> 
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)

Reply via email to