guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Path-agnostic binaries


From: Eric Myhre
Subject: Path-agnostic binaries
Date: Mon, 1 Oct 2018 12:01:49 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

Hey Guix,

Some of us have chatted in the past while gathered at the repro builds
summits about "relocatable binaries".  I've been continuing to chew on
that thought for a while now, and might have made some interesting progress.

For starters, I'd like to offer a new name for this: "path-agnostic
binaries".  I've tossed the "relocatable" term out among a few dozen
different groups of people now, and while it hits home and self-explains
to about 60% of them instantly, the other 40% seem to think it sounds
like "position independent code"/PIE and thus find it confusing. 
"Path-agnostic", while a bit more of a mouthful, seems to successfully
avoid all confusion.

I did a little more development of a definition for this, and splunked
some ld flags and ELF headers, and turned this into a whole talk
recently at All Systems Go.  And they were kind enough to record it, so
for the interested, here's the video as well as the slides (and mea
culpa for the heinuously nonfree host of the slides):

Video:
https://media.ccc.de/v/ASG2018-204-path-agnostic_binaries_co-installable_libraries_and_how_to_have_nice_things

Slides:
https://docs.google.com/presentation/d/e/2PACX-1vRUkAAMNNEPbK4HR1OEYfqktsOiDtKqlLLiBsNdg9DL73W2lGNr5OpEsM7fhwZ1xnXQwl57DheDejNR/pub

There's some mention of Nix/Guix at the end.  I was able to describe
them interchangeably for the parts relevant to the talk, so I mostly
ended up saying "Nix" for brevity, and again I beg pardon, heh.  I hope
I've not misquoted anything when talking about Guix paths.  (Someone
from Nix informed me after the talk that there's a distinction in
hashing for atoms vs derivations in the store, but I think the gist is
still close enough to correct.)

I hope this can be useful to someone!  If not any of the linker flags in
particular, then at least the terminology might be useful.  And I'd love
to accept feedback and other ideas for better developing terminology
around this area.

Cheers!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]