From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.contemporary.net.au (msc1401703.lnk.telstra.net [139.130.245.200]) by sourceware.org (Postfix) with ESMTPS id E4F9B3858D20 for ; Sun, 26 Mar 2023 01:05:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E4F9B3858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=contemporary.net.au Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=contemporary.net.au Received: from [10.10.11.3] ([10.10.11.3]) (authenticated bits=0) by mail.contemporary.net.au (8.15.2/8.15.2) with ESMTPSA id 32Q15iRX036363 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 26 Mar 2023 12:05:44 +1100 (EST) (envelope-from chris@contemporary.net.au) Message-ID: <9dfad585-609c-7771-657c-f0ce2710007c@contemporary.net.au> Date: Sun, 26 Mar 2023 12:05:43 +1100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: Building gcc-12 on MacOS Ventura (aarch64) Content-Language: en-AU To: gcc@gcc.gnu.org References: <277f572d-3398-3f3e-847b-d5f0259db119@contemporary.net.au> <5dffdc29-f202-bc55-9f0c-c77771293e04@contemporary.net.au> <85e4cae3-e629-73ab-467c-0df84709d27d@riddermarkfarm.ca> From: Chris Johns In-Reply-To: <85e4cae3-e629-73ab-467c-0df84709d27d@riddermarkfarm.ca> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,BODY_8BITS,KAM_DMARC_STATUS,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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, >> > wrote: >>>      On Fri, 24 Mar 2023, 23:03 Chris Johns, >>      > 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-help@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