8000 gcc: Add 15.1.0 by egtvedt · Pull Request #2344 · crosstool-ng/crosstool-ng · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gcc: Add 15.1.0 #2344

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

Merged
merged 3 commits into from
May 4, 2025
Merged

gcc: Add 15.1.0 #2344

merged 3 commits into from
May 4, 2025

Conversation

egtvedt
Copy link
Contributor
@egtvedt egtvedt commented Apr 25, 2025

https://gcc.gnu.org/pipermail/gcc-announce/2025/000185.html

See upstream changes at https://gcc.gnu.org/gcc-15/changes.html

Add the new version clean up the patches. Remove GCC 14 patches applied to GCC 15.

@cpackham
Copy link
Contributor

beat me to it :)

@cpackham
Copy link
Contributor

Could you add a milestone entry for this to packages/gcc/package.desc. I already added an entry to config/arch/nios2.in to handle the removal.

@cpackham
Copy link
Contributor

I think the first batch of build failures are due to some ./configure tests failing to pick up the right functions and using bad fall-backs.

https://gcc.gnu.org/pipermail/gcc-announce/2025/000185.html

See upstream changes at https://gcc.gnu.org/gcc-15/changes.html

Add the new version clean up the patches. Remove GCC 14 patches applied
to GCC 15.

Signed-off-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
@egtvedt
Copy link
Contributor Author
egtvedt commented Apr 29, 2025

Could you add a milestone entry for this to packages/gcc/package.desc. I already added an entry to config/arch/nios2.in to handle the removal.

Ah, didn't know, included now.

Add a patch that updates some function definitions to be compliant with
C23.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
@tttapa
Copy link
Contributor
tttapa commented May 1, 2025

@cpackham Could you comment on why the massive ncurses patches are needed? Close to half a million (!) LOC of new patches seems excessive for a compiler upgrade.

Could (some of) these patches be avoided by explicitly using -std=gnu17 when building ncurses? https://gcc.gnu.org/gcc-15/porting_to.html

@cpackham
Copy link
Contributor
cpackham commented May 1, 2025

@tttapa yes it's not just support for GCC15 it's basically ncurses updates since 6.5. I did briefly think about trying to reduce the update to just the fixes for the bool issues we were seeing but I figure there are other fixes in there we probably want too.

I don't think it's quite as bad as it seems. Some of it seems bigger because of the way the patches have been exported so there is a lot more context than a the diff -u3 you'd get out of git. Fedora 42 points at the full source snapshot https://invisible-island.net/archives/ncurses/current/ncurses-6.5-20250426.tgz but that's not part of the GNU mirrors so it's a toss up between carrying those patches or taking away access to the source via the GNU mirrors.

@cpackham
Copy link
Contributor
cpackham commented May 1, 2025

The overall ncurses changes are 673 files changed, 38646 insertions(+), 26450 deletions(-) a good majority of that in the docs

Bring in upstream patches for ncurses-6.5. These include various
upstream fixes including allowing ncurses to be built with GCC15. Taken
from https://invisible-island.net/archives/ncurses/6.5/

20250426
	+ expand note on extensions in curs_addch.3x
	+ add illumos, sun-16color, sun-256color, sun-direct -TD
	+ add wyse+cvis -TD
20250419
	+ add note on scrolling and lower-right corner to waddch and wadd_wch
	  manual pages.
20250412
	+ add pangoterm -TD
	+ add kf1 to kf5 to sclp (report by Werner Fink)
	+ add vt100+pf1-pf4 -TD
20250405
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ improve infocmp -E/-e fallback feature (report by Ville Rissanen):
	  + prefix names with "ti_" if they begin with a digit, e.g., 9term
	  + escape backslashes and double-quotes in description fields
	+ modify infocmp -E/-e fallback feature to reduce stricter compiler
	  warnings for the extended capability data.
	+ add sclp -TD
	+ add op to vt525 -TD
	+ update contour -TD
20250329
	+ add XM/xm to ms-terminal, to enable mouse with experimental Windows
	  driver -TD
	+ add -x option to infocmp in MKfallback.sh
	+ improve experimental Windows driver by restoring the scroll buffer
	  and console mode, e.g., when reset_prog_mode or endwin is called
	  (patch by Daniel Starke).
	+ add a buffer-limit check in postprocess_termcap (report/testcase by
	  Yifan Zhang).
20250322
	+ add a null pointer check in mouse-initialization, for the
	  experimental Windows driver (patch by Daniel Starke).
	+ improve makefile dependency in Ada95/src
	+ add note in user_caps.5 addressing a quibble about dates.
20250315
	+ improve formatting/style of manpages (patches by Branden Robinson).
20250308
	+ remove test in wgetch which applied notimeout to the initial read
	  of a character (patch by Branden Robinson).
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ fix a few compiler-warnings in MinGW port.
20250301
	+ add color to vt525 (Branden Robinson)
	+ add vt520-w and vt525-w (Branden Robinson)
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ improve configurability of alloca() as used in Windows ports.
	+ fix some typos in manpages.
	+ modify configure script checks for stdbool.h to fix build with older
	  gcc version.
20250222
	+ modify treatment of "n" parameter for waddnstr, waddnwstr, and
	  wins_nwstr to return OK when "n" is zero, for consistency with other
	  implementations (report by Benjamin Barenblat, cf: 20231118).
	+ formatting improvements for terminfo.5 (Debian #1096164).
20250216
	+ add limit-checks in alloc_entry.c and alloc_ttype.c to avoid indexing
	  errors when using infocmp to compare all capabilities when processing
	  a malformed terminfo binary which has a valid header (testcase by
	  "Ekkosun").
20250215
	+ add gzip option for suppressing filename/timestamp information to an
	  overlooked case (cf: 20240330).
	+ correct spelling errors found with codespell.
	+ fix some typos in manpages (report by Sven Joachim)
	+ amend change to lib_set_term.c to work with thread configuration
	  (report by Rajeev Pillai, cf: 20250208).
20250208
	+ change etip.h.in to include either/both of <new> and <exception>,
	  needed for another old BSD.
	+ update st (report by Alexander Kashpir) -TD
	+ add note for ghostty 1.1.0 -TD
	+ fix a few issues found with coverity.
20250201
	+ add <new> to the possible headers declaring the C++ std::bad_alloc
	  (report by Carl Hansen).
	+ modify check for stdbool.h to be more conservative in case the
	  headers are used with a compiler other than that which was used to
	  configure (Redhat #2342514).
	+ improve MKlib_gen.sh handling of "bool" type, for building link_test
	+ improve formatting/style of manpages (patches by Branden Robinson).
20250125
	+ improve error-handling in c++ binding (report by Mingjie Shen).
	+ strict compiler-warning fixes for upcoming gcc15
20250118
	+ improve pattern used for configure --with-xterm-kbs option (report by
	  Mingyu Wang)
	+ update configure macros, from work on cdk and dialog.
	+ change a parameter name in curs_sp_funcs.3x, for consistency (patch
	  by "WHR").
	> patches by Branden Robinson:
	+ improve formatting/style of manpages
	+ change winwstr() to a generated function, using the macro definition,
	  moving its handling of negative length parameter into winnwstr().
	+ correct actual-function name in a few trace calls.
20250111
	+ add check for infinite loop in tic's use-resolution.
	+ increase limit on use-clauses from 32 to 40, warn but allow entries
	  which exceed the old limit.
	+ add some null-pointer checks after mallocs in test-programs.
20250104
	+ modify tput to warn about capabilities which expect parameters where
	  none are given; also repair the feature where multiple capabilities
	  can be handled on a single line.
	+ cleanup use-clauses -TD
	+ add linux+lockeys, xterm+r5+lockeys, xterm+r5+fkeys -TD
	+ add vt220+ufkeys, vt220+sfkeys
	+ revert man/manlinks.sed change, which loses aliases (cf: 20241228).
	+ modify MKlib_gen.c to allow for Solaris's definition of NULL as 0L
20241228
	+ correct conditional-compile for a case when the C compiler does not
	  have a bool type.
	+ add ghostty -TD
	> patches by Branden Robinson:
	+ add comments to generated term.h to hint the configure options used
	+ use same subdir-convention for term.h, in configure script
	+ improve formatting/style of manpages
20241221
	+ modify ncurses/tinfo/MKfallback.sh to work with MacOS sed, which
	  lacks BSD-style \< and \>
	+ trim padding from sgr expression used in trim_sgr0, to avoid copying
	  the padding into the resulting sgr0 (report by Rajeev Pillai).
	+ strict compiler-warning fixes for upcoming gcc15
20241214
	+ avoid redefining bool in curses.h if the platform already supports
	  that type (cf: 20241123).
	+ move include <curses.h> from etip.h.in to cursesw.h, to work around
	  breakage in Apple's port of ncurses.
	+ strict compiler-warning fixes for upcoming gcc15
20241207
	+ strict compiler-warning fixes for upcoming gcc15
20241130
	+ improve configure check for lint program.
	+ adjust options in test-programs to allow for consistent use of -c/-l
	  for command/logging.
	+ modify win_driver.c for MinGW to handle shift-tab and control-tab as
	  back-tab (report by Axel Reinhold)
20241123
	+ remove dependency on stdbool.h from configure script check for type
	  of bool when C++ binding is omitted (report by Sam James).
	+ compiler-warning fixes
20241109
	+ work around musl header ifdef's (report by Urs Jansen, cf: Gentoo
	  #920266).
	+ improve error-reporting in write_entry.c (report by Changqing Li).
	+ remove unused #include from DJGPP configuration (report by Stas
	  Sergeev).
	+ workaround/fix issues from clang-analyze
20241102
	+ remove djgpp-specific initialization to binary mode (report/patch by
	  Stas Sergeev).
	+ add extended-keys for djgpp 2.05 -TD
20241026
	+ update ms-terminal -TD
	+ add ms-terminal-direct -TD
	+ correct dimensions in test/popup_msg.c, fixing an overrun (patch by
	  Stas Sergeev, cf: 20211219).
20241019
	+ fixes for compiler warnings/cppcheck.
	+ build-fixes for DJGPP configuration (patches by Stas Sergeev)
20241006
	+ fixes for compiler warnings/cppcheck.
	+ use xterm+alt+title in wezterm -TD
20240928
	+ improve error-message from infocmp when a terminal entry cannot be
	  opened (patch by Branden Robinson).
	+ improve filtering of -L options in misc/gen-pkgconfig.in and in
	  misc/ncurses-config.in
	+ add check in wresize() for out-of-range dimensions (report by Peter
	  Bierma).
20240922
	+ add a few null-pointer checks in ncurses
	+ improve test-driver in ncurses/link_test.c
	+ restore background character in manpages as described in X/Open
	  Curses section 3.3.6, and add option "-c" to test programs to
	  illustrate a non-blank character in the window background property.
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ modify ncurses*-config to add -I option in --cflag where needed for
	  --disable-overwrite to match ".pc" files.
	+ disallow directories and block/character devices in safe-open.
	+ amend scr_restore() and scr_init() to remove the target window only
	  after validating the source window which will replace the target
	  (report by Zixi Liu).
20240914
	+ modify _nc_flush() to also flush stderr to help the flash capability
	  to work in bash (patch by Harm te Hennepe, cf: 20201128)
	+ omit -g and -fXXX flags from CFLAGS in misc/ncurses-config.in
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ improve examples in NCURSES-Programming-HOWTO.html
	+ update comments in terminfo.src -TD
20240831
	+ build-fix for a case in msys2 where gettimeofday() was available but
	  the fallback was partly configured.
	> patch by Rafael Kitover:
	+ separate the _NC_WINDOWS platform macro into _NC_WINDOWS_NATIVE,
	  for MinGW and other native Win32 support, and _NC_WINDOWS, to make
	  some Win32 features available under the Cygwin runtime, in this case
	  the term-driver.
	+ make some minor adjustments to allow
	      ./configure --enable-term-driver
	  to also work on Cygwin platforms such as Cygwin and MSYS2.
20240824
	+ modify infocmp and tabs to use actual name in usage and header.
	+ modify test/demo_keyok.c to accept ^Q for quit, for consistency.
20240817
	+ review/update foot for 1.18.1 -TD
	+ add a note about DomTerm 3.2.0 -TD
	+ add new glob-expressions variables to list in config.status script
	  (patch by Werner Fink).
	+ add --enable-install-prefix to modify behavior of $DESTDIR to merge
	  or replace the value set by --prefix (adapted from suggestion by
	  Eli Zaretskii).
20240810
	+ modify misc/Makefile.in and misc/run_tic.in so that $DESTDIR is set
	  and used only in the makefile.
	+ modify CF_WITH_PKG_CONFIG_LIBDIR to allow for pkg-config using
	  DOS/Windows pathname syntax (report by Eli Zaretskii).
	+ improve glob-expressions in configure script
	+ remove unused Get_Menu_Screen() macro from menu.priv.h
	+ update config.guess, config.sub
20240727
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ fixes for compiler warnings/cppcheck.
	+ modify wattron/wattroff calls in form/m_post.c to call wattr_on and
	  wattr_off to omit cast used in the former for X/Open compatibility
	  (patch by Bill Gray).
	+ modify wezterm, omitting its broken left/right margin feature (report
	  by Thayne McCombs) -TD
20240720
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ modify configure script and misc/Makefile to accept glob expressions
	  that include Windows/DOS drive-letters (report by Eli Zaretskii).
	+ fix misspelled ifdef and correct return-value of _nc_mingw_tcflush in
	  win_driver.c (report/patch by Eli Zaretskii).
20240713
	+ modify misc/ncurses-config.in, improved match with pkg-config output.
20240706
	+ update configure script to use macro changes from dialog.
	+ modify CF_NCURSES_PTHREADS to avoid equating package and library
	  names.
20240629
	+ build-fix for ncurses-examples with newer PDCurses, which no longer
	  has stubs for unimplemented features.
	+ add help-popup for test_instr.c, test_inwstr.c
	+ modify checks in delwin to avoid checking if the window is a pad
	  until first checking if it is still on the active window-list
	  (cf: 20211115).
	+ improve -t option of test/gdc.c, allowing hours only, or hours and
	  minutes only.
20240622
	+ improve test/gdc.c (patch by Branden Robinson).
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ adjust naming of mingw *-config scripts to match the pkg-config names
	+ widen pattern in pc/*-config scripts to disallow more linker options
	+ add --cflags-only-I and --cflags-only-other options to
	  misc/ncurses-config.in
	+ revert change to CF_BUILD_CC macro (report by Vassili Courzakis,
	  cf: 20240518).
20240615
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ review/update modules files.
	+ improve install-rules in Ada95 makefiles (report by Branden Robinson).
	+ improve formatting/style of manpages in test-directory.
20240608
	+ change winwstr to return wide character count instead of OK (patch
	  by Branden Robinson).
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ rename testing dpkg's for ncurses6 to resolve a naming conflict with
	  Debian's ncurses packages.
20240601
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ change Ada95/configure to use --with-screen option rather than
	  --enable-widec, to provide more choices of underlying curses library
20240525
	+ build-fix for configure option --disable-ext-funcs
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ review/update iTerm2 for 3.5.0 -TD
20240519
	+ update Ada95/configure to match change for -DTRACE
	+ revert change to include/ncurses_defs, which caused build failure if
	  tracing was not enabled (report by Branden Robinson).
20240518
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ move makefile's -DTRACE into include/ncurses_cfg.h, to simplify use
	  of CFLAGS/CPPFLAGS.
	+ improve check for clock_gettime(), from xterm.
	+ modify configure script to work around broken gnatgcc script found in
	  gcc-13 builds.
20240511
	+ improve formatting/style of manpages (patches by Branden Robinson).
	+ limit value from ESCDELAY environment variable to 30 seconds, like
	  other delay limits.
	+ limit values from LINES and COLUMNS environment variables to 512
	  (report by Miroslav Lichvar).
20240504
	+ update ncurses/wcwidth.c, for MinGW ports, from xterm.
	+ trim obsolete comment about tack from INSTALL.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
@cpackham cpackham merged commit 027213f into crosstool-ng:master May 4, 2025
60 checks passed
@cpackham
Copy link
Contributor
cpackham commented May 4, 2025

Ran a build-all over the weekend and the only failures were

  - i686-w64-mingw32,nios2-spico-elf
  - mips64-ol9u5-linux-gnu
  - powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc
  - x86_64-multilib-linux-uclibc,powerpc-unknown-elf

I think the mips64-ol9u5-linux-gnu is pre-existing. I'll create issues for them and attach the build.log

@egtvedt egtvedt deleted the gcc-add-15.1.0 branch May 6, 2025 07:05
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.

3 participants
0