On 7/24/07, Andrew Cagney <[EMAIL PROTECTED]> wrote:
David Mosberger-Tang wrote:
>
>>
>> This needs to work cross-platform; can you assume that a _host's_ <<long
>> double>> is a 128-bit type?
>
> Eh? If "long double" doesn't match the host's format, you're screwed
> anyhow. That's why I'd suggest to declare fpreg_t based on
> "unw_word_t" or something like that, like we do on ia64, for example.
>
> --david
Ah, but i386 and x86-64 do not:
libunwind-i386/include/libunwind.h:typedef long double unw_tdep_fpreg_t;
libunwind/include/libunwind.h:typedef long double unw_tdep_fpreg_t;
libunwind-ppc64/include/libunwind.h:typedef long double unw_tdep_fpreg_t;
libunwind-x86_64/include/libunwind.h:typedef long double unw_tdep_fpreg_t;
where to the SSE registers fit in to this?
Yes, I noticed that too. Me thinks it would be safer to remove "long
double" and declare fpreg_t only in terms of (known-size) integer
types. Arun, what do you think?
--david
_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel