https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115907
--- Comment #44 from cqwrteur <unlvsur at live dot com> --- (In reply to Andrew Pinski from comment #42) > (In reply to frankhb1989 from comment #41) > > I ran into exact the same trouble of C23 missing symbols on old systems. In > > my case it is a custom build (with tailored source) of libfreeimage which > > has some calls to `sscanf` pulling the unwanted symbol references (to > > `__isoc23_sscanf@GLIBC_2.38`) into the library > > That is not a glibc issue but rather you are thinking glibc will be forwards > compatible; glibc is not and never can be; this is true for almost all OS > out there (Mac OS has a similar issue though they provide sysroots with all > needed headers/libraries so it is slightly easier to handle rather than you > need to go out and find one). It is definitely backwards compatiable. If you > want to build a program that runs on older systems you 100% need to use the > earliest version of glibc to link (and use headers from) against rather than > the newest version. https://github.com/trcrsired/glibc/commit/4a724a45761fe27000247267d6ea02cb64b17b3c#diff-e1c081599cb4df1d7224ee161959d04457b256c4b269e428baec5a6d34e630d1 My patch just works perfectly. Don't know what's your opposition. I am not even suggest an ABI lock down or something