News for hackers. Stuff that matters.
Re:GCC 14.1 Release by mid-kid on Tuesday May 07, 2024 @08:06AM (#40284528)
Well, yeah, for maintained upstreams. I sometimes need to build older versions of software and simply use unmaintained software, for which these changes are a bit of a pain, along with -fno-common before it.
Re:GCC 14.1 Release by mikepurvis on Tuesday May 07, 2024 @09:18AM (#40285092)
At a certain point, it's probably easier to build and run the unmaintained software in a container running an OS of corresponding vintage. Obviously that has security ramifications, but hopefully this software isn't facing the internet and being in a container at least means you're on a modern kernel and can isolate things at a port and filesystem level.
Re:GCC 14.1 Release by withzombies on Tuesday May 07, 2024 @09:52AM (#40285454)
Debian is super good for this. Most of their apt mirrors are still up and running, so you can easily download and build software from 2002 if you use the appropriate Debian release to do it.

I usually do this first to make sure the software builds and works, then I try to figure out how to get it working on a newer OS.

Re:GCC 14.1 Release by mid-kid on Tuesday May 07, 2024 @05:21PM (#40291650)
You're right, but it's also significantly more inconvenient.
Re:GCC 14.1 Release by cozzyd on Tuesday May 07, 2024 @10:37AM (#40286027)
it would be nice if they provided a gcc-ancient-compat or something though it's easy enough to create an alias with the correct flags.
Re:GCC 14.1 Release by Phyx on Tuesday May 07, 2024 @11:50AM (#40287249)
-std=gnu98 works. ie explicitly telling it your code is not modern C.
Re:GCC 14.1 Release by mid-kid on Tuesday May 07, 2024 @05:20PM (#40291645)
The new flags apply regardless of -std value, as does -fno-common
Re:GCC 14.1 Release by Phyx on Tuesday May 07, 2024 @09:14PM (#40293371)
Uhh no they don't, and it's explicitly documented under https://gcc.gnu.org/gcc-14/porting_to.html in "Turning errors back into warnings".

Futher more every warning Explains why the std value affects them.