[OpenWrt-Devel] uClibc bug: epoll_pwait broken on OpenWrt x86

Matthias Schiffer mschiffer at universe-factory.net
Tue Sep 16 11:53:18 EDT 2014


On 09/16/2014 04:34 PM, Bernhard Reutner-Fischer wrote:
> On 15 September 2014 17:33, Matthias Schiffer
> <mschiffer at universe-factory.net> wrote:
>> Ping? I'd like to get this fixed as soon as possible (even though it's
>> probably too late for the OpenWrt BB final?). I guess I can try to write
>> a patch, but I had hoped someone on these lists could give some advice
>> on what the best way to fix this would be...
> 
> You could stuff the 6ff args into an immediate structure and pass a
> reference to that.
Wouldn't that pass the arguments on the stack, or am I understanding you
wrong? I think not using the stack if it can be avoided is the whole
point of INLINE_SYSCALL/INTERNAL_SYSCALL...

> 
> What does glibc do?
As far as I can tell, glibc's INTERNAL_SYSCALL implementation for i386
only supports up to 5 arguments, all syscall6 are implemented indepently
on i386 (in the case of epoll_pwait there is an indepdendent assembly
implementation as the 6th argument is implicit from the applications'
point of view; splice and maybe others are automatically generated
assembly as the kernel and libc APIs match)

Matthias

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20140916/c4df51e8/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list