Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 149501 - uClibc-0.9.28 wrong typedef in types.h
Summary: uClibc-0.9.28 wrong typedef in types.h
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Other
: High normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-29 03:27 UTC by Daniel Glaser
Modified: 2006-10-06 22:59 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
05_all_uClibc-types.patch (05_all_uClibc-types.patch,497 bytes, patch)
2006-09-29 03:30 UTC, Daniel Glaser
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Glaser 2006-09-29 03:27:59 UTC
uClibc has a wrong typedef in libc/sysdeps/linux/common/bits/types.h

Not __t_scalar_t and __t_uscalar_t has to be defined for xtitypes. They are defined in xtitypes as __SLONGWORD_TYPE and this has to be a valid type.

As a result, python for example doesn't compile with uclibc correctly.

Maybe, the problem lies deeper e.g. in linux-kernel headers, but there are guys out there, which knows this much better were to search...

A patch is attached. But I don't know if it works quite well, because I did the thing directly in my usr/include/bits/types.h and there it works perfectly.
Comment 1 Daniel Glaser 2006-09-29 03:30:30 UTC
Created attachment 98367 [details, diff]
05_all_uClibc-types.patch

Corrects the definition of __SLONGWORD_TYPE and __ULONGWORD_TYPE for xtitypes.h and the defines of __t_scalar_t and __t_uscalar_t in there.
Comment 2 SpanKY gentoo-dev 2006-09-29 04:29:02 UTC
what is the point of defining __SLONGWORD_TYPE/__ULONGWORD_TYPE ... they arent actually used anywhere

ive punted these two types already from upstream svn, so there shouldnt be any problem scrubbing them in 0.9.28
Comment 3 Daniel Glaser 2006-09-29 04:32:15 UTC
They are used in xtitypes.h, which is included by some other h-file. Just grep for __SLONGWORD_TYPE in /usr/include and you get a list of defines where they are used.

Because I don't know where they exactly come from, it is perhaps a problem of powerpc(-softfloat).
Comment 4 SpanKY gentoo-dev 2006-09-29 04:37:14 UTC
yes, but what does that have to do with uClibc ?

uClibc does not provide any of the XTI types or headers
Comment 5 Daniel Glaser 2006-09-29 04:39:50 UTC
And this is the point, why I mentioned, that it could come from somewhere else.

This patch (or the change it does) worked for me... But it's not the perfect solution.

If you have another idea how to solve this, you're welcome ;-)
Comment 6 Daniel Glaser 2006-09-29 06:39:02 UTC
I remember, when I did an equery belongs bits/types.h, the following result showed up:
sys-libs/glibc-2.4-r3 (/usr/include/bits/types.h)
cross-powerpc-softfloat-linux-uclibc/uclibc-0.9.28 (/usr/powerpc-softfloat-linux-uclibc/usr/include/bits/types.h)

Compiling posixmodule.c in the Python-2.4.3-r4 package threw the error, because it includes bits/stropts.h and this otherwise includes xtitypes.h.

Really confusing problem here...
Comment 7 SpanKY gentoo-dev 2006-10-06 22:59:12 UTC
this will be fixed in 0.9.28-r1