https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115907
--- Comment #30 from cqwrteur <unlvsur at live dot com> --- (In reply to cqwrteur from comment #29) > (In reply to Arsen Arsenović from comment #28) > > (In reply to cqwrteur from comment #26) > > > > The c++ frontend has defined _GNU_Source since at least 2001. > > > > > > You are de facto, breaking abi without any good reason. You break > > > cross-compiling for linux distribution for even the last year. Glibc 2.34 > > > (which was just 3 years ago) removed -lpthread dependency. I would accept > > > glibc2.34 as a base. Then what about this __isoc99scanf that behaves > > > differently under different C and C++ standard. How is this code even > > > linkable? It easily becomes ODR violations. > > > > It does not become an ODR violation. Functions behave different in > > different languages (such as C99 vs. C23 vs. C++11). This is not unusual. > > > > > https://news.ycombinator.com/item?id=32471624 > > > > > > The problem is that unlike libstdc++, glibc is not upgradable. > > > > This is false. I upgraded glibc a few days ago. > > > > > Don't make any excuse tbh. If people are not happy with it, fix it. If > > > you give a > > > reason for breaking abi for a good reason i would accept that, but you > > > don't > > > you just break abi for no reason. In this case, it is more like a bug for > > > a > > > C standard feature where C++ standard does not support, at least not yet. > > > > No ABI was broken. > > > > > (In reply to Andrew Pinski from comment #25) > > > > _GNU_SOURCE issue is recorded as pr 69350 and pr 11196 and maybe > > > > others. > > > > > > > > > > > > The other issue is not a gcc issue but a build issue with not using a > > > > sysroot. > > > Except no matter i try with sysroot i does not really work out. Plus i am > > > building crossback compiler. It should not even care about sysroot. > > > > Why not? It has to pull libraries and headers from somewhere (note that I > > do not know what "crossback" means). > > > > Note that there is desire to not predefine _GNU_SOURCE in C++ modes. See > > the PRs Andrew referenced. > > I don't know how you do that. It is impossible to upgrade glibc on any of my > linux distributions. I tried ubuntu, arch linux. Neither of them allows me > to upgrade glibc. After setting LD_LIBRARY_PATH, the kernel just panics. I > guess you are using some sorts of the linux from scratch. In fact it is so bad even i access a directory that contains libc for cross compiling. it crashes the system. [cqwrteur@DESKTOP-9B705LH x86_64-pc-linux-gnu]$ cd lib64 [cqwrteur@DESKTOP-9B705LH lib64]$ ls Floating point exception (core dumped) [cqwrteur@DESKTOP-9B705LH lib64]$ pwd /home/cqwrteur/toolchains/x86_64-w64-mingw32/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/lib64 [cqwrteur@DESKTOP-9B705LH lib64]$