binutils question
itojun@iijlab.net
itojun@iijlab.net
Wed Jun 19 06:31:00 GMT 2002
>> please see (3) in the first attachment. when bfd_vma is 64bit and
>> host is 32bit, there are problematical typecasts like:
>> unsigned long long x;
>> void *p;
>> x = (unsigned long long)p;
>> gcc does not like this as sizeof(p) != sizeof(x). how should we
>> address this problem? first attachment includes workaround patch,
>> assuming that "sizeof(void *) <= sizeof(unsigned long)". basically
>> the patch does the following.
>> x = (unsigned long long)(unsigned long)p;
>By "gcc does not like" you mean gcc generates bad code or gives
>fatal errors? I think it's just a warning that can be ignored.
warnings. however, i'm a bit concerned about losing information
when we typecast. if the situation was backward - like
sizeof(void *) > sizeof(long), we will have trouble. i think
there needs to be some clarification...
itojun
More information about the Binutils
mailing list