On 07/23/2015 05:11 AM, Andreas Schwab wrote:
Stefan Liebler <stli@linux.vnet.ibm.com> writes:
On 07/23/2015 10:30 AM, Andreas Schwab wrote:
Stefan Liebler <stli@linux.vnet.ibm.com> writes:
This patch casts _Unwind_GetCFA return to _Unwind_Ptr first
How can a cast fix a truncated pointer value on s390x?
Andreas.
Why is the pointer truncated on s390x? All three types
_Unwind_Word, _Unwind_Ptr and void * have a size of 4bytes on
s390 and 8 bytes on s390x.
Then why do you get a warning?
Agreed.
Why do you get a warning if the types are, as you claim, the same
size?
I don't disagree that they are the same size, since the code is
generic and `typedef unsigned _Unwind_Word
__attribute__((__mode__(__word__)));` should result in the values you
quote.
If it's a compiler defect then rather than a cast you need to file a
bug and disable the warning with the glibc diagnostic macros and
include rationale for that points at the gcc bug.
Cheers, Carlos.