Hi,

On Wed, Nov 14, 2012 at 10:57:05AM -0600, George McCollister wrote:
> When trying to run systemd on my arm platform I received this error:
> "systemd-journald[190]: Failed to accept stdout connection: Function
> not implemented"
> 
> I was using OSELAS.Toolchain-2011.03.0. I switched to the newest and
> added this patch at the same time:
> http://sourceware.org/ml/libc-ports/2012-05/msg00092.html
> 
> Can't say for sure if the patch was required since I didn't try a
> build with the new toolchain without the patch. I did look through
> glibc-2.14.1 and
> glibc-ports-2.14.1 and I didn't see anywhere else where
> __ASSUME_ACCEPT4 would be defined for ARM.

I've looked at this some more. It is not necessary and des not make any
difference. Take a closer look:

[...]
+/* Support for the accept4 syscall was added in 2.6.36.  */
+#if __LINUX_KERNEL_VERSION >= 0x020624
+# define __ASSUME_ACCEPT41
+#endif
[...]

"__LINUX_KERNEL_VERSION >= 0x020624" mean the _buildtime_ _minimum_ kernel
version is >= 2.6.36. And in OSELAS.Toolchain-2011.11.x this is set to
2.6.23.
As a result glibc won't just use accept4() but uses a wrapper that checks
for its existence the first time it is called. If it gets a ENOSYS, then
the emulation code is used.

Michael


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to