On Sun, Oct 26, 2025 at 2:33 AM Alexandre Oliva <[email protected]> wrote:
>
>
> Enable a 32-bit "native" toolchain to be built on x86_64-linux-gnu,
> i.e., one that targets -m32 despite running in 64-bit mode.  Neither
> multilibs nor -m64 support are desired for this configuration (a
> multilibbed x86_64-linux-gnu native, defaulting to -m32 through self
> specs would accomplish those).
>
> Tested with x86_64-linux-gnu native.  Ok to install?

So on x86-64-linux this is a cross configuration?  Or is this able
to bootstrap itself but then resulting in a 32bit host compiler?

> From: Olivier Hainque <[email protected]>
>
> for  gcc/ChangeLog
>
>         * config.gcc [x86_64-*-*]: Match *m32 target, default to m32
>         abi and multilib.  Accept 32 or m32 for --with-abi.
> ---
>  gcc/config.gcc |   25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gcc/config.gcc b/gcc/config.gcc
> index c678b801f705c..8d96ef00005ad 100644
> --- a/gcc/config.gcc
> +++ b/gcc/config.gcc
> @@ -676,6 +676,29 @@ i[34567]86-*-*)
>  x86_64-*-darwin*)
>         ;;
>  x86_64-*-*)
> +        # Pick a default with_abi and with_multilib_list for m32
> +        # restricted toolchains
> +        case ${target} in
> +        *m32)
> +               case ${with_abi} in
> +               "" | 32 | m32)
> +                       with_abi=m32
> +                       ;;
> +               *)
> +                       echo "Invalid --with-abi=$with_abi for m32 target"
> +                       exit 1
> +              esac
> +              case ${with_multilib_list} in
> +              default | m32)
> +                       with_multilib_list=m32
> +                       ;;
> +              *)
> +                       echo "Invalid multilib list for m32 target"
> +                       exit 1
> +              esac
> +              ;;
> +       esac
> +
>         case ${with_abi} in
>         "")
>                 if test "x$with_multilib_list" = xmx32; then
> @@ -690,6 +713,8 @@ x86_64-*-*)
>         x32 | mx32)
>                 tm_file="i386/biarchx32.h ${tm_file}"
>                 ;;
> +       32 | m32)
> +               ;;
>         *)
>                 echo "Unknown ABI used in --with-abi=$with_abi"
>                 exit 1
>
>
> --
> Alexandre Oliva, happy hacker            https://blog.lx.oliva.nom.br/
> Free Software Activist     FSFLA co-founder     GNU Toolchain Engineer
> More tolerance and less prejudice are key for inclusion and diversity.
> Excluding neuro-others for not behaving ""normal"" is *not* inclusive!

Reply via email to