From owner-freebsd-arch@FreeBSD.ORG Fri Aug 15 15:30:47 2014 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E5024E74 for ; Fri, 15 Aug 2014 15:30:46 +0000 (UTC) Received: from mail.xcllnt.net (mail.xcllnt.net [50.0.150.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B338D2E7A for ; Fri, 15 Aug 2014 15:30:46 +0000 (UTC) Received: from [192.168.2.22] (atc.xcllnt.net [50.0.150.213]) (authenticated bits=0) by mail.xcllnt.net (8.14.9/8.14.9) with ESMTP id s7FFUUWJ008368 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 15 Aug 2014 08:30:30 -0700 (PDT) (envelope-from marcel@xcllnt.net) Content-Type: multipart/signed; boundary="Apple-Mail=_B2A82E7C-1674-4971-8B4D-BDC20FE661A2"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: ELF and feature checking [was: Re: XML Output: libxo - provide single API to output TXT, XML, JSON and HTML] From: Marcel Moolenaar In-Reply-To: <20140815082501.GR2737@kib.kiev.ua> Date: Fri, 15 Aug 2014 08:30:29 -0700 Message-Id: <247A649F-0195-493A-A668-5D05F0B5100E@xcllnt.net> References: <201408131936.s7DJaA1r089174@idle.juniper.net> <20140814052648.GM2737@kib.kiev.ua> <16CE0543-0616-415D-9E68-EEB053DE4254@xcllnt.net> <20140815082501.GR2737@kib.kiev.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.1878.6) Cc: Marcel Moolenaar , Phil Shafer , John-Mark Gurney , "Simon J. Gerraty" , arch@freebsd.org, Poul-Henning Kamp X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Aug 2014 15:30:47 -0000 --Apple-Mail=_B2A82E7C-1674-4971-8B4D-BDC20FE661A2 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On Aug 15, 2014, at 1:25 AM, Konstantin Belousov wrote: > My objections against use of ELF could be summarized as following: > - ELF is a binary standard for image activation and runtime system, not > for the app level features. I think you'll find that your definition is wrong from the outset. ELF is also the container for relocatable objects and intermediate compiler code when doing whole-program optimizations (i.e. the actual compilation happens at the link stage). It's also the container for memory snapshot and core dumps. Neither are actually needed to implement a runtime system. It's an added application level feature! ELF explicitly mentions some of those use cases, so it's not defined for just activation and runtime system. When a compiler puts intermediate code in an ELF container, we're already talking about app-level usage. It's been done for more than 10 years so you're way off in the left field on this one. Come join us :-) The reverse is also interest: On amd64 we use relocatable objects as kernel loadable modules. Heresy! > - Attempt to shoe-horn the discussed feature into binary format makes > the indicator cut of the actual feature. It is like the mark on the > plastic can, which may have no relation to the can content. From > this PoV, the options or special env variables are at the right > place. Sure. But why do you think grocery stores have shelves full of colored and labeled cans? We do need to be able to see from the can what it is we're putting in our cart, right? It would be a real mess if everyone starts opening cans left and right to find the can with the black beans and not the kidney beans. Software isn't that much different that the analogy doesn't apply. Being able to quick check the container for something is not unreasonable. Not being able to discuss such an option because people can't humor each other, is not good for the project. We'll get to a good solution in the end -- even if it's one you or I don't like. So lighten up. > - It is unportable. That's neither here nor there. On the one hand we have people say that we're over engineering and on the other hand we have people say that it's not portable. If those people get a room and make a baby, we'll have the balance we need! Why are people so afraid to explore? Why do people feel a need to pull the leash every time a discussion starts to wander. Innovation is found when the leash is extended and being pulled on... We're not looking for a portable solution. We are still discussing if it's doable or wanted. Portability comes into play when you have found one or more solutions. Without a solution portability is like an attribute without an object. -- Marcel Moolenaar marcel@xcllnt.net --Apple-Mail=_B2A82E7C-1674-4971-8B4D-BDC20FE661A2 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iEYEARECAAYFAlPuJ5UACgkQpgWlLWHuifZVQACfY1BAqCht+n2noZs/6EZyc/LC +FsAnibEOBPh8k4ubQVsV3ZN8KkhIHk8 =HYU3 -----END PGP SIGNATURE----- --Apple-Mail=_B2A82E7C-1674-4971-8B4D-BDC20FE661A2--