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; |