Bug 1791321
| Summary: | gcc: weakref attribute introduces the need for copy or text relocations on ppc64 | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Florian Weimer <fweimer> |
| Component: | gcc | Assignee: | Marek Polacek <mpolacek> |
| Status: | CLOSED WONTFIX | QA Contact: | Alexandra Petlanová Hájková <ahajkova> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.9 | CC: | fweimer, jakub, kdudka, law, ohudlick, sipoyare, vmukhame |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | ppc64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-04-28 19:42:58 UTC | 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: | |||
|
Description
Florian Weimer
2020-01-15 14:13:04 UTC
This got fixed with https://gcc.gnu.org/r206784 aka https://gcc.gnu.org/ml/gcc-patches/2014-01/msg01169.html Although it seems that the patch was written mainly with the other direction in mind, i.e. that even when TREE_PUBLIC (tem) && targetm.binds_local_p (tem) (such as when the decl is hidden visibility) we could use reloc & 1 rather than reloc & 2, the weakref case is when !TREE_PUBLIC (tem) && !targetm.binds_local_p (tem) and in that case it is just local convention that TREE_PUBLIC is clear, because the weakref target might not bind locally and so we need it in writable or relro section rather than rodata. So, I think we want to stay on the safe side, we could always patch it to if (TREE_PUBLIC (tem) || !targetm.binds_local_p (tem)) reloc |= 2; else reloc |= 1; |