tpoechtrager / osxcross

Mac OS X cross toolchain for Linux, FreeBSD, OpenBSD and Android (Termux)
GNU General Public License v2.0
2.91k stars 329 forks source link

GCC Built by ./build_gcc.sh o32-gcc and o32-g++ only target x86_64 #392

Open jlsantiago0 opened 1 year ago

jlsantiago0 commented 1 year ago

The wrappers seem to be broken for i386 builds with GCC. I have tested with SDKs v10.11 and v10.13. All of the GCC tools only target x86_64. The clang tools work correctly.

This includes:

o32-gcc o32-g++ i386-apple-darwinXX-gcc i386-apple-darwinXX-g++ x86_64-apple-darwminXX-gcc -m32 x86_64-apple-darwminXX-g++ -m32

Tested with latest master and GCC-10.5.0 and GCC-12.3.0.

jls@ix64:/mnt/builds/toolchains/osxcross/sdk1013$       xcrun --show-sdk-version
10.13

jls@ix64:/mnt/builds/toolchains/osxcross/sdk1013$       xcrun --show-sdk-path
/mnt/builds/toolchains/osxcross/sdk1013/target/bin/../SDK/MacOSX10.13.sdk

jls@ix64:/mnt/builds/toolchains/osxcross/sdk1013$       o32-clang -Wall \
>          /mnt/centshare/vfurnace/git/toolchain/ort-toolchain-test/tctest01/test01-helloworld.c \
>          -o test

jls@ix64:/mnt/builds/toolchains/osxcross/sdk1013$       xcrun otool -arch all -hvL test
test:
Mach header
      magic  cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
   MH_MAGIC     I386        ALL  0x00     EXECUTE    15       1180   NOUNDEFS DYLDLINK TWOLEVEL PIE MH_NO_HEAP_EXECUTION
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
        time stamp 2 Wed Dec 31 18:00:02 1969

jls@ix64:/mnt/builds/toolchains/osxcross/sdk1013$    o32-gcc --version
i386-apple-darwin17-gcc (GCC) 10.5.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

jls@ix64:/mnt/builds/toolchains/osxcross/sdk1013$       o32-gcc -Wall \
>          /mnt/centshare/vfurnace/git/toolchain/ort-toolchain-test/tctest01/test01-helloworld.c \
>          -o test

jls@ix64:/mnt/builds/toolchains/osxcross/sdk1013$       xcrun otool -arch all -hvL test
test:
Mach header
      magic  cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64   X86_64        ALL  0x00     EXECUTE    15       1280   NOUNDEFS DYLDLINK TWOLEVEL PIE
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
        time stamp 2 Wed Dec 31 18:00:02 1969
jlsantiago0 commented 1 year ago

NOTE: This issue is not present on the 1.1 branch.