Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial GCC 14.1.0 support #2146

Merged
merged 5 commits into from
May 18, 2024
Merged

Conversation

nikkon-dev
Copy link
Contributor

  • gcc 14 package version
  • tar.gz and tar.xz checksums
  • patches from gcc13 that can still be applied to gcc14

@cpackham
Copy link
Contributor

cpackham commented May 9, 2024

let's see how the builds go

@nikkon-dev
Copy link
Contributor Author

let's see how the builds go

I don't think that macOS build failure due to lacking the makeinfo tool is anyhow connected to the changes.

@cpackham
Copy link
Contributor

cpackham commented May 9, 2024

Yeah not related to your stuff but maybe there has been a change to the macos runners. Are you based off the latest master?

@nikkon-dev
Copy link
Contributor Author

Yeah not related to your stuff but maybe there has been a change to the macos runners. Are you based off the latest master?

Yes, It was based on the latest master branch.

@nikkon-dev
Copy link
Contributor Author

I updated the macOS CI workflows to install missing tools via Homebrew. The build passed in my branch..

@cpackham
Copy link
Contributor

I've kicked off the CI run again to see what happens. For the final version please submit this as a series of 2 patches. One for the CI changes. One for the new GCC version

@nikkon-dev
Copy link
Contributor Author

I've kicked off the CI run again to see what happens. For the final version please submit this as a series of 2 patches. One for the CI changes. One for the new GCC version

MacOs CI PR: 2147

I'll resubmit this one on top of the master once the 2147 is merged.

@cpackham
Copy link
Contributor

Now we're on to actual failures. From arc-multilib-linux-uclibc:

Error:       libc/sysdeps/linux/common/futimesat.c:36:16: error: implicit declaration of function 'utimensat'; did you mean 'futimesat'? [-Wimplicit-function-declaration]

@nikkon-dev
Copy link
Contributor Author

Now we're on to actual failures. From arc-multilib-linux-uclibc:

Error:       libc/sysdeps/linux/common/futimesat.c:36:16: error: implicit declaration of function 'utimensat'; did you mean 'futimesat'? [-Wimplicit-function-declaration]

Those errors are not related to MacOS but rather actual incompatibilities with gcc14. I created #2148 to backport recent gcc14 changes from the uClibc-ng.

The gcc14 integration is proving to be a complex task. There are numerous issues with missing headers (some are not included transiently anymore) and variations in the warnings/errors that gcc14 reports. It's a daunting task to build every combination of targets/libraries versions.

How should this effort progress further?

@cpackham
Copy link
Contributor

cpackham commented May 11, 2024 via email

@nikkon-dev
Copy link
Contributor Author

Some helpful work was done in the compiler explorer: compiler-explorer/compiler-explorer#6406

@nikkon-dev
Copy link
Contributor Author

8c371dc commit fixed the sh-unknown-elf build

cpackham and others added 5 commits May 18, 2024 15:45
Resolve the following build error for arc-multilib-linux-uclibc.

  libc/sysdeps/linux/common/fstat64.c: In function 'fstat64':
  libc/sysdeps/linux/common/fstat64.c:33:38: error: passing argument 2 of '__syscall_fstat64' from incompatible pointer type [-Wincompatible-pointer-types]
     33 |         return __syscall_fstat64(fd, buf);
        |                                      ^~~
        |                                      |
        |                                      struct stat64 *

While we're at it bring in one more bug fix patch from upstream.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
+ gcc 14 package version
+ tar.gz and tar.xz checksums
+ patches from gcc13 that can still be applied to gcc14

Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
Current glibc versions don't compile without warnings with GCC14.
Disable -Werror for glibc when using GCC14.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
GCC14 has started to complain about sloppily written configure tests.
Update them so the code snippet is valid according to GCC14.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
GCC14 will treat implicit-function-declaration as an error by default.
See https://gcc.gnu.org/gcc-14/porting_to.html for details.

Some libc function like __trap34 are defined in assembly and break this GCC diagnostic.

Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
@cpackham cpackham merged commit c5a1702 into crosstool-ng:master May 18, 2024
1 of 3 checks passed
@nikkon-dev nikkon-dev deleted the nikkon-dev/gcc14 branch May 18, 2024 04:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants