http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36231

--- Comment #17 from Ralf Wildenhues <rwild at gcc dot gnu.org> 2011-04-20 
23:10:26 UTC ---
(In reply to comment #13)
> The last time I checked, the problem boiled down to:
> 
>   typedef __gthread_mutex_t __c_lock;
> 
> in c_io_stdio.h, which we cannot remove right away for ABI reasons, because we
> have a __c_lock data member in iostream classes. Of course the member is
> normally completely unused these days, thus a possible ABI-safe way to attack
> the problem would be replacing the data member with a dummy member of the same
> size and alignment, the equivalent of:
[...]

> In order to figure out those quantities, ie, sizeof(__gthread_mutex_t) and
> __alignof__(__gthread_mutex_t) we could probably use something like
> [GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS], Ralf, people, what do you think?

It is possible to compute size and alignment of types using Autoconf tests
(even when cross-compiling), yes, with AC_CHECK_SIZEOF and AC_CHECK_ALIGNOF. 
But you are in a much better position to decide whether that is really
sufficient here to solve all pending issues why the headers are dragged in. 
Thanks.

Reply via email to