Compiling RTEMS Tool suite on newer GCC(i.e GCC 16 on Fedora 44) throws multiple errors due to recent changes in the way warnings are handled by GCC.
I manually tried changing the dtc package by packaging source straight from upstream and its sha512 hash but other packages like texinfo suffers from the same issue.
dtc errors:
libfdt/fdt_overlay.c: In function 'overlay_fixup_phandle':
libfdt/fdt_overlay.c:424:21: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
424 | sep = memchr(fixup_str, ':', fixup_len);
| ^
libfdt/fdt_overlay.c:434:21: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
434 | sep = memchr(name, ':', fixup_len);
| ^
cc1: all warnings being treated as errors
make: *** [Makefile:359: libfdt/fdt_overlay.o] Error 1
texinfo errors:
In file included from ../../texinfo-7.0.3/install-info/install-info.c:18:
../../texinfo-7.0.3/system.h:69:14: error: conflicting types for 'strerror'; have 'char *(void)'
69 | extern char *strerror ();
| ^~~~~~~~
In file included from ../gnulib/lib/string.h:41,
from ../../texinfo-7.0.3/system.h:34:
/usr/include/string.h:451:14: note: previous declaration of 'strerror' with type 'char *(int)'
451 | extern char *strerror (int __errnum) __THROW;
| ^~~~~~~~
../../texinfo-7.0.3/install-info/install-info.c: In function 'pfatal_with_name':
../../texinfo-7.0.3/install-info/install-info.c:293:26: error: too many arguments to function 'strerror'; expected 0, have 1
293 | fatal (_("%s for %s"), strerror (errno), name);
| ^~~~~~~~ ~~~~~
../../texinfo-7.0.3/system.h:69:14: note: declared here
69 | extern char *strerror ();
| ^~~~~~~~
../../texinfo-7.0.3/install-info/install-info.c: In function 'ensure_dirfile_exists':
../../texinfo-7.0.3/install-info/install-info.c:600:29: error: too many arguments to function 'strerror'; expected 0, have 1
600 | const char *readerr = strerror (errno);
| ^~~~~~~~ ~~~~~
../../texinfo-7.0.3/system.h:69:14: note: declared here
69 | extern char *strerror ();
| ^~~~~~~~
../../texinfo-7.0.3/install-info/install-info.c:629:36: error: too many arguments to function 'strerror'; expected 0, have 1
629 | dirfile, readerr, strerror (errno));
| ^~~~~~~~ ~~~~~
../../texinfo-7.0.3/system.h:69:14: note: declared here
69 | extern char *strerror ();
| ^~~~~~~~
../../texinfo-7.0.3/install-info/install-info.c: In function 'split_entry':
../../texinfo-7.0.3/install-info/install-info.c:1538:15: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
1538 | char *ptr = strchr (entry, '.');
| ^~~~~~