Created attachment 1792089[details]
reproducer test case from upstream Sourceware Bugzilla
Description of problem: Runtime linker does not honor DT_FILTER.
Version-Release number of selected component (if applicable):
2.28-151.el8
How reproducible: 100%
Steps to Reproduce:
1. Download and extract attached reproducer test case.
2. Change to directory and run "make main".
3. Run "./main".
Actual results: main calls func1() from lib2.so
Expected results: main calls func1() from lib1.so
Additional info: Upstream bug description (https://sourceware.org/bugzilla/show_bug.cgi?id=27977#c0) has rationale.
There has been quite a bit discussion on the upstream ticket: https://sourceware.org/bugzilla/show_bug.cgi?id=27977
I don't know if the customer is already involved there. While this is clearly a bug in our DT_FILTER implementation, I need to clarify that this unlikely to be fixed anytime soon. Even if we (or someone else) develops an upstream fix for this issue, we don't know yet how backportable it will be.
If the symbol collision involves a Red-Hat-provided library, maybe we should consider renaming that symbol instead. But it seems that the customer is dealing with two different pieces of third-party software.