Bug 1764231
| Summary: | glibc: ld.so: Support moving versioned symbols between sonames [BZ #24741] | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Carlos O'Donell <codonell> |
| Component: | glibc | Assignee: | Carlos O'Donell <codonell> |
| Status: | CLOSED ERRATA | QA Contact: | qe-baseos-tools-bugs |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 8.2 | CC: | ashankar, codonell, dj, fweimer, mnewsome, pfrankli, skolosov |
| Target Milestone: | rc | Keywords: | Patch, Triaged |
| Target Release: | 8.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | glibc-2.28-91 | Doc Type: | No Doc Update |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-04-28 16:50:19 UTC | Type: | Feature Request |
| 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: | |||
| Bug Blocks: | 1738779, 1746918, 1748197 | ||
Not required on f31. (Already upstream) Not required on f30. (Already backported by Florian in 34bc6caeb760409bbfc6e9e04ce02d62255a8557). Required for f29. Backported it just for the sake of having it there for parity. Builds in progress. *** Bug 1748194 has been marked as a duplicate of this bug. *** Verified with glibc tests: elf/tst-sonamemove-link, elf/tst-sonamemove-dlopen. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:1828 |
Enable future work where we can move versioned symbols from one DSO to another. commit f0b2132b35248c1f4a80f62a2c38cddcc802aa8c Author: Florian Weimer <fweimer> Date: Fri Jun 28 10:12:50 2019 +0200 ld.so: Support moving versioned symbols between sonames [BZ #24741] This change should be fully backwards-compatible because the old code aborted the load if a soname mismatch was encountered (instead of searching further for a matching symbol). This means that no different symbols are found. The soname check was explicitly disabled for the skip_map != NULL case. However, this only happens with dl(v)sym and RTLD_NEXT, and those lookups do not come with a verneed entry that could be used for the check. The error check was already explicitly disabled for the skip_map != NULL case, that is, when dl(v)sym was called with RTLD_NEXT. But _dl_vsym always sets filename in the struct r_found_version argument to NULL, so the check was not active anyway. This means that symbol lookup results for the skip_map != NULL case do not change, either. Please backport patch to Fedora (if required): Fedora 31 Fedora 30 Fedora 29