On 25/3/2023 11:08 am, Stuff Received wrote: > On 2023-03-24 19:51, Chris Johns wrote: >> On 25/3/2023 10:07 am, Jonathan Wakely wrote: >>> On Fri, 24 Mar 2023, 23:07 Jonathan Wakely, <jwakely....@gmail.com >>> <mailto:jwakely....@gmail.com>> wrote: >>> On Fri, 24 Mar 2023, 23:03 Chris Johns, <ch...@contemporary.net.au >>> <mailto:ch...@contemporary.net.au>> wrote: >>> >>> Hi, >>> >>> I am sorting out some issues building RTEMS on MacOS including the >>> M >>> processors. >>> The building gcc-12.2.1 for the few architectures I tested fail >>> with >>> sig >>> faults >>> in xgcc when building the runtime. I tried arm, aarch64 and sparc. >>> As a >>> result I >>> wondered about bootstrapping gcc and using that to build the tools >>> rather than >>> clang from Xcode. >>> >>> Is aarch64-apple-darwin supported? >>> >>> No. Iain Sandoe has some personal branches with changes to support it, >>> but >>> the changes are not in the official gcc repo yet. If you search the >>> gcc-h...@gcc.gnu.org <mailto:gcc-h...@gcc.gnu.org> list you'll find >>> links to >>> his code. I think Homebrew is his patches too. >>> >>> *uses his patches too. >>> >> >> I tried Iain's repo and it fails in the same way. >> >> I have been building the tools on MacOS for over a decade with just the Apple >> base to make sure we have a clean platform without any issues. To do that I >> avoid MacPorts and Homebrew. I am fine with our users making use of those >> packages however knowing a build works with just the Apple support makes our >> support simpler. >> >> Chris > > I am able to build gcc from Iain's repo gcc-darwin-arm64 on an M1 Mini, > running > macos 11.3.1, using the following configuration. (Change your language > preferences accordingly.) I used make -j4. > > CC=/opt/homebrew/bin/gcc-12 \ > CXX=/opt/homebrew/bin/g++-12 \ > ../../src/gcc-darwin-arm64/configure \ > --prefix=$HOME/gm2/arm64 \ > --exec-prefix=$HOME/gm2/arm64 \ > --enable-languages=c,c++,m2 \ > --with-sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk \ > --with-mpc=/opt/homebrew \ > --with-gmp=/opt/homebrew \ > --with-mpfr=/opt/homebrew \ > --disable-bootstrap \ > --enable-threads=posix > > However, you must first define HAVE_FCNTL_H to 1 in libiberty/config.h (that > is > missed somehow by configure).
Thanks for this. It was helpful. I installed homebrew and the `gcc` package and updated the RTEMS RSB to use homebrew if installed. I can build RTEMS tools: % /Users/chris/development/rtems/6/bin/sparc-rtems6-gcc --version sparc-rtems6-gcc (GCC) 12.2.1 20230224 (RTEMS 6, RSB f0e34eab8bf33b833a7d9d0b2bddd3b89f6d83cb-modified, Newlib 17ac400) Copyright (C) 2022 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. % file /Users/chris/development/rtems/6/bin/sparc-rtems6-gcc /Users/chris/development/rtems/6/bin/sparc-rtems6-gcc: Mach-O 64-bit executable arm64 This will work for us. Thanks to those who responded. Chris