[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost
Subject:    Re: [boost] __NR_eventfd syscall
From:       Alexey Brodkin <Alexey.Brodkin () synopsys ! com>
Date:       2015-07-27 18:43:16
Message-ID: 1438022596.17227.5.camel () synopsys ! com
[Download RAW message or body]

Hi Chris,

On Tue, 2015-07-21 at 13:47 +-0300, Alexey Brodkin wrote:
+AD4- Hi,
+AD4- 
+AD4- When building Boost for ARC architecture we're seeing this failure:
+AD4- ---------------------+AD4-8---------------------
+AD4- ./boost/asio/detail/impl/eventfd+AF8-select+AF8-interrupter.ipp: In member \
function 'void +AD4- \
boost::asio::detail::eventfd+AF8-select+AF8-interrupter::open+AF8-descriptors()': \
+AD4- ./boost/asio/detail/impl/eventfd+AF8-select+AF8-interrupter.ipp:50:50: error: \
'+AF8AXw-NR+AF8-eventfd' was not declared in this scope +AD4-    \
write+AF8-descriptor+AF8- +AD0- read+AF8-descriptor+AF8- +AD0- \
syscall(+AF8AXw-NR+AF8-eventfd, 0)+ADs- +AD4- \
---------------------+AD4-8--------------------- +AD4- 
+AD4- This happens clearly because ARC following Linux kernel's UAPI doesn't
+AD4- define +AF8AXw-NR+AF8-eventfd syscall.
+AD4- 
+AD4- If you look here \
https://github.com/torvalds/linux/blob/master/include/uapi/asm-generic/unistd.h+ACM-L771
 +AD4- you may notice that +ACI-eventfd+ACI- syscall with some others resides in
+AD4- +ACIAIw-ifdef+AF8AXw-ARCH+AF8-WANT+AF8-SYSCALL+AF8-NO+AF8-FLAGS+ACI-.
+AD4- 
+AD4- And from what I may see only +ACI-score+ACI- architecture has this
+AD4- +AF8AXw-ARCH+AF8-WANT+AF8-SYSCALL+AF8-NO+AF8-FLAGS defined.
+AD4- 
+AD4- Most of other arches that don't use unistd.h from \
+ACI-include/uapi/asm-genereic+ACI- +AD4- folder have +ACI-eventfd+ACI- syscall \
defined. For example it's true for ARM (both +AD4- 32 and 64 versions).
+AD4- 
+AD4- So I'd say it's not the best way to use directly a syscall that's being
+AD4- obsoleted in +ACI-Boost+ACI-. And so real fix would be to modify Boost's
+AD4- +ACI-eventfd+AF8-select+AF8-interrupter::open+AF8-descriptors()+ACI- for \
example with use of +AD4- really generic +ACI-eventfd2+ACI- or even better use libc's \
eventfd() call instead of direct syscall. +AD4- 
+AD4- Any thoughts what would be the best fix here?

Looks like this message was never approved by mailing list admin and so was not
published.

Could you please take a look at this issue?

And a little bit more context - for ARC we only have uClibc-based toolchain
and it sets:
---------------+AD4-8-----------------
+ACM-define	+AF8AXw-GLIBC+AF8AXw-	2
+ACM-define	+AF8AXw-GLIBC+AF8-MINOR+AF8AXw-	2
---------------+AD4-8-----------------
see http://git.uclibc.org/uClibc/tree/include/features.h+ACM-n395

I'm wondering what could be the right solution for that problem?

-Alexey



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic