geteuid / getpwnam not implemented

Wouter van Oijen wouter.van.oijen at technolution.nl
Tue Nov 27 14:11:53 CET 2018


Hello Josef (and Emery, who responded similarly in another mail),

> At least 'getpwnam' got implemented by [1] but you need to configure the
> libc (please look at the run script included in the commit). Most of the
> time the user account/identity functions that are used to check various
> properties in a multi-user system (e.g. to drop priviledges or check for
> running as root) are of no concern on Genode - after all there is just a
> single user and the seperation is done at another layer, not the libc.
> You might have to check what your program expects and how, if necessary,
> to adapt it.

You're right. It was indeed used to check for running as root and drop
privileges. Since this is not necessary within the Genode context, I
think I'll patch the third-party code to remove these checks. This may
be the easiest solution and I think it makes sense as well.

> > Also, what does the warning about exec_static_constructors() mean?
> >
> > […]
>
> Ported software might depend on calling static constructors but we
> have to make sure to execute the functions at the proper time, i.e.,
> after the component's environment has been completely initialized. For
> now we do that for every libc based component unconditionally. The
> dynamic run-time linker, however, will print this diagnostic message in
> case the binary does not have any static constructors that need to be
> executed.

Ah, thanks for explaining. So I can safely ignore this warning then,
which Emery also confirmed :-)

Kind regards,
Wouter



More information about the users mailing list