Rob Browning: > Niels Thykier <ni...@thykier.net> writes: > >> Partly, I still have to identify them as "non-strippable" somehow. Is >> there an ELF header I can use to identify on? > > Not sure -- though here's some additional information: > https://www.gnu.org/software/guile/manual/html_node/Object-File-Format.html > > And I think someone mentioned file knows about it, which I'd assume > means libmagic has some related code: > > $ file /usr/lib/x86_64-linux-gnu/guile/2.0/ccache/ice-9/futures.go > /usr/lib/x86_64-linux-gnu/guile/2.0/ccache/ice-9/futures.go: Guile Object, > little endian, 64bit, bytecode v2.0 >
Those are guile-2.0 files; the files Jeremy reported issues with are guile-2.2. Guile 2.0 files starts with the MAGIC "GOOF" whereas Guile-2.2 is a genuine ELF binary (\x7f followed by "ELF"). Even file(1) recognises them simply as ELF files: """ ./usr/lib/x86_64-linux-gnu/aisleriot/guile/2.2/zebra.go: ELF 64-bit LSB shared object, no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped """ Thanks, ~Niels