iains / gcc-13-branch

GCC 13 for Darwin with experimental Arm64 support. Current release 13.3-darwin-r0 [May 2024]
GNU General Public License v2.0
10 stars 2 forks source link

Not an issue, but somewhere to post test results. #1

Open iains opened 1 year ago

iains commented 6 months ago

GCC-13.3-darwin-r0

Arm64 (macOS 12)

summ-aarch64-darwin21-r13-8870.txt

X86_64

summ-x86_64-darwin23-r13-8870.txt

summ-x86_64-darwin21-r13-8870.txt

summ-x86_64-darwin21-r13-8870-rosetta.txt

summ-x86_64-darwin20-r13-8870.txt

summ-x86_64-darwin19-r13-8870.txt

summ-x86_64-darwin18-r13-8870.txt

summ-x86_64-darwin17-r13-8870.txt

summ-x86_64-darwin16-r13-8870.txt

summ-x86_64-darwin15-r13-8870.txt

summ-x86_64-darwin14-r13-8870.txt

summ-x86_64-darwin13-r13-8870.txt

summ-x86_64-darwin12-r13-8870.txt

summ-x86_64-darwin11-r13-8870.txt

summ-x86_64-darwin10-r13-8870.txt

i686

summ-i686-darwin17-r13-8870.txt

summ-i686-darwin9-r13-8870.txt

PowerPC

(not available, at present, but the RC1 passed)

iains commented 5 months ago

GCC-13.3-darwin-r0

Arm64 (macOS 12)

summ-aarch64-darwin21-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

X86_64

summ-x86_64-darwin23-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin21-rosetta-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin21-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin20-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin19-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin18-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin17-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin16-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin15-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin14-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin13-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin12-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-x86_64-darwin11-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

i686

summ-i686-darwin17-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

summ-i686-darwin9-gcc-13-3-darwin-8872-gcc-13.3-darwin-r1.txt

PowerPC

(not available, at present)

ilg-ul commented 5 months ago

I would like to give it a try, but I don't know what commits should I add to the Homebrew patches, the only recent commit I can find is a README update.

iains commented 5 months ago

I would like to give it a try, but I don't know what commits should I add to the Homebrew patches, the only recent commit I can find is a README update.

https://github.com/iains/gcc-13-branch/commit/9fd551b97ef434170c0303dd2fa428727bd2e614 is the relevant commit.

Hmmmm.. let me check this, something appears to have gone wrong.

iains commented 5 months ago

hmm now I am confused - that patch is in the 13.3-darwin-r0 release .. so it should be (AFAIK) in the Homebrew kit - @fxcoudert ? [so the r1 is actually unnecessary :( .. ]

please could you try just building the 13.3-darwin-r{0,1} branch and check if your issue is resolved - I cannot realistically check more than the trees I produce.

ilg-ul commented 5 months ago

9fd551b is the relevant commit.

Perhaps I'm missing something, but this commit seems to change only some comments:

diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
index 266c76df1d3..3749d8b7b3e 100644
--- a/fixincludes/fixincl.x
+++ b/fixincludes/fixincl.x
@@ -2,11 +2,11 @@
  *
  * DO NOT EDIT THIS FILE   (fixincl.x)
  *
- * It has been AutoGen-ed  May 22, 2024 at 10:16:02 AM by AutoGen 5.18.7
+ * It has been AutoGen-ed  June  1, 2024 at 05:24:18 PM by AutoGen 5.18.7
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT SVN-MERGE THIS FILE, EITHER Wed May 22 10:16:02 BST 2024
+/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jun  1 17:24:18 BST 2024
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
-- 
2.39.3 (Apple Git-146)
iains commented 5 months ago

9fd551b is the relevant commit.

Perhaps I'm missing something, but this commit seems to change only some comments:

diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
index 266c76df1d3..3749d8b7b3e 100644
--- a/fixincludes/fixincl.x
+++ b/fixincludes/fixincl.x
@@ -2,11 +2,11 @@
  *
  * DO NOT EDIT THIS FILE   (fixincl.x)
  *
- * It has been AutoGen-ed  May 22, 2024 at 10:16:02 AM by AutoGen 5.18.7
+ * It has been AutoGen-ed  June  1, 2024 at 05:24:18 PM by AutoGen 5.18.7
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT SVN-MERGE THIS FILE, EITHER Wed May 22 10:16:02 BST 2024
+/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jun  1 17:24:18 BST 2024
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
-- 
2.39.3 (Apple Git-146)

correct - because the patch had already been applied as : https://github.com/iains/gcc-13-branch/commit/8543cc246add9547bc9f80901dfc08ac7c1b64a7

So that all the reapplication did was to update the generation date info.

So - 13.3-darwin-r0 contains this fix; (as does 13.3-darwin-r1) therefore, please build one of those trees and confirm (or not) that your problem is fixed.

ilg-ul commented 5 months ago

So - 13.3-darwin-r0 contains this fix

The gcc@13.rb file includes a link to:

I searched for fixincl.x in that file and there is only one occurrence which is not a diff file name, so it seems that the file is not fixed in Homebrew.

fxcoudert commented 5 months ago

@ilg-ul the fix is not in Homebrew so far. Homebrew builds binaries for each macOS version (and matching SDK) separately, so the issue is not as problematic for us as it can be for a single binary distribution targeting multiple macOS versions.

Iain has linked the commit that you need to apply.

ilg-ul commented 5 months ago

So the Homebrew patch is not based on the 13.3-darwin-r0 tag?

iains commented 5 months ago

So the Homebrew patch is not based on the 13.3-darwin-r0 tag?

"based on" != "identical" I think - HB omits the testsuite changes, for example.

fxcoudert commented 5 months ago

So the Homebrew patch is not based on the 13.3-darwin-r0 tag?

It is based on the pre-release, which is almost the same, but did not include the fixincludes removal. I plan to include that eventually, and am testing it on GCC 14 first: https://github.com/Homebrew/homebrew-core/pull/173647

And yes, based on != identical. Each distributor (Homebrew like others) makes choices for distribution, based on their needs and constraints.

ilg-ul commented 5 months ago

I see, I assumed that the HB patches use exactly the commits tagged by Iain, like 13.3-darwin-r0.

I prepared a patch like this:

git diff origin/gcc-13-3..fa196a8618c62428a372fb251f9fa292d4f275c2

(the numeric commit sha will eventually become 13.3-darwin-r1)

Apart from the testsuite commits which are not relevant to me, are there any other commits that you exclude when preparing the patch for the HB distribution?

I'm trying to identify a way to create these patches in order to remain functionally compatible with the HB releases.

ilg-ul commented 5 months ago

With the updated patch the problem related to the availability macros seems fixed.

There is only one test failing in certain conditions, both for 14.a and 13.3, I'll prepare a separate issue for it.