At Thu, 29 Nov 2012 16:01:25 +0000, Liam Girdwood wrote:
On 29/11/12 15:51, Liam Girdwood wrote:
On 29/11/12 15:15, Takashi Iwai wrote:
At Thu, 29 Nov 2012 12:08:18 +0000, Liam Girdwood wrote:
On 19/11/12 18:36, Takashi Iwai wrote:
For the sound stuff, the patch is queued for 3.8 in for-next branch. Please rebase on it.
Done, but I'm now seeing some type conflict errors when building my userspace tools (i.e. after moving to include uapi/sound/asound.h from sound/asound.h).
e.g.
#include <stdlib.h> #include <uapi/sound/asound.h>
int main () { }
gives :-
gcc uapi-test.c -I ~/source/linux.git/include
Pass -I ~/source/linux.git/include/uapi
then
#include <sound/asound.h>
Ah, I did initially try this before emailing :-
gcc uapi-test.c -I ~/source/linux.git/include/uapi In file included from /home/lrg/source/linux.git/include/uapi/sound/asound.h:26:0, from uapi-test.c:2: /home/lrg/source/linux.git/include/uapi/linux/types.h:9:2: warning: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders" [-Wcpp] In file included from /home/lrg/source/linux.git/include/uapi/linux/posix_types.h:4:0, from /home/lrg/source/linux.git/include/uapi/linux/types.h:13, from /home/lrg/source/linux.git/include/uapi/sound/asound.h:26, from uapi-test.c:2: /home/lrg/source/linux.git/include/uapi/linux/stddef.h:1:28: fatal error: linux/compiler.h: No such file or directory
adding -D__EXPORTED_HEADERS__ to gcc command line gets rid of the warning, but it seems we are missing compiler.h (even in todays linux-next).
If this works for you, it may be an issue at my end.
In fact adding the old include path at the end works, but is probably an interim fix until the uapi work is completed.
gcc uapi-test.c -I ~/source/linux.git/include/uapi -D__EXPORTED_HEADERS__ -I /home/lrg/source/linux.git/include/
Well, actually the content of uapi/sound/asound.h won't be changed.
Looking at this issue more closely, I found that glibc package also provides the copy of linux kernel headers as well, but they are stripped. And the stripped form is almost what we have now in include/uapi/*. The difference is that all ifdef KERNEL will be stripped, thus the check of non-kernel access in linux/types.h is also stripped.
That being said, once when kernel uapi things get merged to glibc, everything will be fine.... Well, I hope.
Takashi