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>