Boost logo

Boost :

Subject: Re: [boost] __NR_eventfd syscall
From: Alexey Brodkin (Alexey.Brodkin_at_[hidden])
Date: 2015-07-27 14:43:16


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk