Applied, thanks!

Damien Zammit, le ven. 26 juin 2026 04:48:49 +0000, a ecrit:
> This allows cross compilation of i386 version using a x86_64 compiler.
> 
> TESTED: Passed CI (still with 1 failed test on x86_64 user32 builds as before)
> 
> ---
>  .forgejo/workflows/action.yaml | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/.forgejo/workflows/action.yaml b/.forgejo/workflows/action.yaml
> index 4e7114df..61b29e31 100644
> --- a/.forgejo/workflows/action.yaml
> +++ b/.forgejo/workflows/action.yaml
> @@ -30,7 +30,7 @@ jobs:
>            mkdir gnu32
>            mkdir build32
>            cd build32
> -          ../configure --prefix= --host=i686-gnu LD=i686-linux-gnu-ld 
> CC=i686-linux-gnu-gcc \
> +          ../configure --prefix= --host=i686-gnu LD="x86_64-linux-gnu-ld 
> -melf_i386" CC="x86_64-linux-gnu-gcc -m32" \
>                    --disable-linux-groups \
>                    ${{ matrix.platform }} \
>                    ${{ matrix.kdb }}
> @@ -41,14 +41,14 @@ jobs:
>            mkdir build32
>            cd build32
>            GNU=$(realpath ../../gnu32)
> -          TARGET_CPPFLAGS=-I"$GNU"/include TARGET_CC=i686-linux-gnu-gcc 
> ../configure --prefix="$GNU" --target=i686-gnu
> +          TARGET_CPPFLAGS=-I"$GNU"/include TARGET_CC="x86_64-linux-gnu-gcc 
> -m32" TARGET_LD="x86_64-linux-gnu-ld -melf_i386" ../configure --prefix="$GNU" 
> --target=i686-gnu
>            make all install
>            PATH=$PATH:$GNU/bin
>            cd ../..
>            cd build32
>            CCASFLAGS="-fdebug-prefix-map=$PWD=." 
> CFLAGS="-ffile-prefix-map=$PWD=." \
>            ../configure --prefix= --host=i686-gnu \
> -                  MIG=i686-gnu-mig LD=i686-linux-gnu-ld 
> CC=i686-linux-gnu-gcc \
> +                  MIG=i686-gnu-mig LD="x86_64-linux-gnu-ld -melf_i386" 
> CC="x86_64-linux-gnu-gcc -m32" \
>                    --disable-linux-groups \
>                    ${{ matrix.platform }} \
>                    ${{ matrix.kdb }}
> @@ -76,8 +76,12 @@ jobs:
>            autoreconf -fi
>            if [ ${{ matrix.user32 }} == '--enable-user32' ]; then
>              USER_H=i686
> +            USER_ELF=-melf_i386
> +            USER_M32=-m32
>            else
>              USER_H=x86_64
> +            USER_ELF=""
> +            USER_M32=""
>            fi
>            mkdir gnu64
>            mkdir build64
> @@ -101,7 +105,7 @@ jobs:
>              # We need both migs
>              mkdir build32
>              cd build32
> -            TARGET_CPPFLAGS=-I"$GNU"/include TARGET_CC=i686-linux-gnu-gcc 
> ../configure --prefix="$GNU" --target=i686-gnu
> +            TARGET_CPPFLAGS=-I"$GNU"/include TARGET_CC="x86_64-linux-gnu-gcc 
> -m32" TARGET_LD="x86_64-linux-gnu-ld -melf_i386" ../configure --prefix="$GNU" 
> --target=i686-gnu
>              make all install
>              cd ..
>            fi
> @@ -111,7 +115,7 @@ jobs:
>            CCASFLAGS="-fdebug-prefix-map=$PWD=." 
> CFLAGS="-ffile-prefix-map=$PWD=." \
>            ../configure --prefix= --host=x86_64-gnu \
>                    MIG=x86_64-gnu-mig LD=x86_64-linux-gnu-ld 
> CC=x86_64-linux-gnu-gcc \
> -                  USER_MIG=${USER_H}-gnu-mig USER_CC=${USER_H}-linux-gnu-gcc 
> USER_CPP="${USER_H}-linux-gnu-gcc -E" \
> +                  USER_MIG=${USER_H}-gnu-mig USER_CC="x86_64-linux-gnu-gcc 
> ${USER_M32}" USER_LD="x86_64-linux-gnu-ld ${USER_ELF}" 
> USER_CPP="x86_64-linux-gnu-gcc ${USER_M32} -E" \
>                    --disable-linux-groups \
>                    ${{ matrix.platform }} \
>                    ${{ matrix.user32 }} \
> -- 
> 2.47.3
> 
> 
> 

-- 
Samuel
`When you say "I wrote a program that crashed Windows", people just stare at
you blankly and say "Hey, I got those with the system, *for free*".'
(By Linus Torvalds)

Reply via email to