Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1937698

Summary: gcc: Remove libstdc++ symbols which are not going to be part of the GCC 11 upstream release
Product: [Fedora] Fedora Reporter: Florian Weimer <fweimer>
Component: gccAssignee: Jonathan Wakely <jwakely>
Status: ASSIGNED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 34CC: aoliva, dmalcolm, fweimer, jakub, jwakely, kwizart, law, mpolacek, msebor, nickc, sipoyare
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1937700 (view as bug list) Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1959316, 1959320, 1926594, 1959307, 1959310, 1959312, 1959319, 1959323    
Bug Blocks: 1937700    

Description Florian Weimer 2021-03-11 11:17:36 UTC
The following symbols will be removed from libstdc++.so.6 before the GCC 11 upstream release:

_ZNSt9once_flag11_M_activateEv
_ZNSt9once_flag9_M_finishEb

We need to make this change in Fedora as well (in stages; first avoid creating symbol references from new builds, rebuild packages, and then remove the symbol for real).

Comment 1 Nicolas Chauvet (kwizart) 2021-04-02 16:28:06 UTC
What is the best way to detect the usage of theses symbols in any (non-fedora) package ? rpm2cpio + readelf ?
Eventually, having the range of the affected gcc compiler would help (or the first known good compiler) ?


Thanks in advance.

Comment 2 Jonathan Wakely 2021-04-03 14:46:42 UTC
(In reply to Nicolas Chauvet (kwizart) from comment #1)
> What is the best way to detect the usage of theses symbols in any
> (non-fedora) package ? rpm2cpio + readelf ?

Yes, that works.

> Eventually, having the range of the affected gcc compiler would help (or the
> first known good compiler) ?

The broken std::call_once was committed upstream Nov 3 2020. Rawhide switched to gcc-11.0.0 in late November, so all versions of gcc-11.0.0 will create references to the broken symbols. The fixed gcc that doesn't create references to those symbols (but still has them in libstdc++.so for now) is gcc-11.0.1-0.2.fc34 / gcc-11.0.1-0.2.fc35 (but the earlier build, gcc-11.0.1-0.1, is still bad).