From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id F33463858C5F; Sat, 13 Jul 2024 11:55:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F33463858C5F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1720871715; bh=rB8UryorvUOCXpzrGDqLsZnZdpXaWeDfYd1BFsOz4Oc=; h=From:To:Subject:Date:From; b=oNV3AXsYsxAc4ApboD1/Rry8i5CafxN2nrX4RY/hlfnfEfGLnfiya0d47tzL9JHmq rv+IZ+z6IoumIFpbTQapbF3DvuscpxJxqZAaPqn3TSPO0jVl3MRczNSKotbSTp8BTE 1FPEq+T6a7nHzEp1EvvMJK3TZWWi4D4ADbb04Uis= From: "unlvsur at live dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/115907] New: Libstdc++ and GCC itself should avoid glibc above 2.34 dependency Date: Sat, 13 Jul 2024 11:55:14 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: unlvsur at live dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D115907 Bug ID: 115907 Summary: Libstdc++ and GCC itself should avoid glibc above 2.34 dependency Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: unlvsur at live dot com Target Milestone: --- I think we really need to relax the version requirements of glibc since ver= sion 2.34. I cannot use the upstream glibc due to the potential new and versioned symbols from glibc itself. Glibc2.38 is just too new tbh. Majority of linux distributions do not support glibc 2.38. Ubuntu 22.04 which is i guess the = most of people are using is still using glibc 2.35 libstdc++ built with latest glibc would introduce import symbols like arc4random@GLIBC_2.36 __isoc23_strtoull@GLIBC_2.38 I have checked arc4random implementation in glibc. It does not do anything meaningful in terms of performance but just a wrapper of /dev/random. glibc only introduces the symbol since 2.36. I don't see why libstdc++ needs this and in fact it can break abi silently since passing arc4random as a de= vice now has different behaviors across libstdc++ versions https://github.com/gcc-mirror/gcc/blob/abf3964711f05b6858d9775c3595ec2b4548= 3e14/libstdc%2B%2B-v3/src/c%2B%2B11/random.cc#L189 This is another thing which is useless for gcc and libstdc++ since libstdc+= +=20 won't use 0b 0B in scanf/printf. https://github.com/bminor/glibc/blob/4b2a1b602fc1ade0de85084feb328203be3147= c9/include/features.h#L481 while glibc does not break the abi until 2.34. I suggest libstdc++ to use g= libc below 2.34 functions.=