Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Aug 2014 08:47:00 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-arch@freebsd.org
Cc:        marcel@freebsd.org, Phil Shafer <phil@juniper.net>, John-Mark Gurney <jmg@funkthat.com>, "Simon J. Gerraty" <sjg@juniper.net>, arch@freebsd.org, Poul-Henning Kamp <phk@phk.freebsd.dk>, Konstantin Belousov <kostikbel@gmail.com>
Subject:   Re: XML Output: libxo - provide single API to output TXT, XML, JSON and HTML
Message-ID:  <201408140847.00573.jhb@freebsd.org>
In-Reply-To: <20140814085257.GN2737@kib.kiev.ua>
References:  <20140814052648.GM2737@kib.kiev.ua> <201408140606.s7E66XXA091972@idle.juniper.net> <20140814085257.GN2737@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, August 14, 2014 4:52:57 am Konstantin Belousov wrote:
> On Thu, Aug 14, 2014 at 02:06:33AM -0400, Phil Shafer wrote:
> > Konstantin Belousov writes:
> > >Yes, the notes are used to communicate the information required by
> > >the dynamic linker to correctly activate the image. The mechanism has
> > >nothing to do with application-specific features, and overloading it for
> > >that purpose is severe and pointless layering violation.
> > 
> > The ELF spec says:
> > 
> >     Note Section
> > 
> >     Sometimes a vendor or system builder needs to mark an object
> >     file with special information that other programs will check
> >     for conformance, compatibility, etc. Sections of type SHT_NOTE
> >     and program header elements of type PT_NOTE can be used for
> >     this purpose. The note information in sections and program
> >     header elements holds any number of entries, each of which is
> >     an array of 4-byte words in the format of the target processor.
> >     Labels appear below to help explain note information organization,
> >     but they are not part of the specification.
> ELF standard scope is about build toolchain and C runtime, where the
> cited paragraph makes perfect sense.

Agreed.

> > Marking the binary with a libxo-specific note tells the caller that
> > the binary is capable of rendering its output in a non-traditional
> > style and gives the caller a means of triggering those styles of
> > output.  In the libxo-enabled world, I see this as vital information
> > the caller needs to initialize the environment in which the command
> > will be run.  Isn't this exactly the sort of information ELF targets
> > for note sections?
> 
> How binary format has any relevance for an application level feature ?
> What would you do with the binaries which permissions are 'r-s--x--x',
> which is not unexpected for the tools which gather system information
> and have to access things like /dev/mem ?
> 
> You removed and did not answered a crusial question, which is a litmus
> test for your proposal.  Namely, how presence of the proposed note in
> the binary is different from DT_NEEDED tag for your library ?

Yes, checking DT_NEEDED for libxo.so is the first thing I thought of as well.  
It is equivalent to 'ldd foo | grep libxo'.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408140847.00573.jhb>