Avoiding sysctl at program startup using ELF aux vector (was: concurrent sysctl implementation)

Kostik Belousov kostikbel at gmail.com
Fri Aug 6 09:04:10 UTC 2010


On Fri, Aug 06, 2010 at 07:06:33AM +0200, Jeremie Le Hen wrote:
> Hi Kib,
> 
> In-Reply-To: <20100629083901.GG13238 at deviant.kiev.zoral.com.ua>
> On Tue, Jun 29, 2010 at 11:39:01AM +0300, Kostik Belousov wrote:
> > On Tue, Jun 29, 2010 at 10:26:39AM +0200, Marius Strobl wrote:
> > > On Mon, Jun 28, 2010 at 05:48:59PM +0300, Kostik Belousov wrote:
> > > > On Wed, Jun 23, 2010 at 11:09:59PM +0200, Jeremie Le Hen wrote:
> > > > > Hi Kostik,
> > > > > 
> > > > > This patch seems to have faded out from memory.  Is it possible to go
> > > > > forward and commit it?
> > > > I refreshed the patch. Hopefully, nobody will object, and I commit it
> > > > shortly.
> > > > 
> > > > > 
> > > > > Thanks,
> > > > > Regards.
> > > > > 
> > > > > On Sat, Jul 25, 2009 at 12:29:16AM +0300, Kostik Belousov wrote:
> > > > > > Below is the prototype that seems to work for me both with patched and
> > > > > > old rtld on i386. Patch also contains bits for amd64 that I did not
> > > > > > tested yet. All other arches are not buildable for now.
> > > > > > 
> > > > > > Patch completely eliminates sysctl syscalls from the rtld and libc
> > > > > > startup. Without the patch, a single run of /bin/ls did 6 sysctls,
> > > > > > with the patch, no sysctls is queried at all.
> > > > > > 
> > > > Comparing with the originally posted patch, I added support for all
> > > > architectures, tested amd64 and ia32 on amd64, and converted getpagesizes(3)
> > > > that added two more startup sysctls.
> > > > 
> > > > Would be nice to get a testing for at least some !x86 architectures
> > > > before the commit, I added some people who helped me in past, to the Cc:.
> > > > 
> > > 
> > > Doesn't look good on sparc64:
> > > <...>
> > > NFS ROOT: 192.168.1.40:/usr/data/nfsroot/sparc64
> > > dc1: link state changed to UP
> > > pid 24 (ifconfig), uid 0: exited on signal 11
> > > Segmentation fault
> > > Interface  IP-Address  Broadcast
> > > pid 29 (rcorder), uid 0: exited on signal 11
> > > Segmentation fault
> > > pid 30 (grep), uid 0: exited on signal 11
> > > Segmentation fault
> > > pid 31 (rcorder), uid 0: exited on signal 11
> > > Segmentation fault
> > >  
> > > pid 32 (date), uid 0: exited on signal 11
> > > Segmentation fault
> > > Jun 29 12:20:50 getty[36]: open /dev/ttyv3: No such file or directory
> > > <...>
> > > 
> > > Unfortunately, I currently lack the time to debug this.
> > 
> > Thank you.
> 
> Did yu have time to look at this problem?  It would be nice to have this
> in the tree.

I cannot move forward without the help from somebody having access to
sparc64 system where the problem is reproducable.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20100806/5de824e0/attachment.pgp


More information about the freebsd-hackers mailing list