3 ms·
The fact that some libraries have a PT_INTERP entry and that PIE executables are not of type ET_EXEC makes it impossible to detect whether an ELF binary is a li
by nwellnhof 4y ago
The fact that some libraries have a PT_INTERP entry and that PIE executables are not of type ET_EXEC makes it impossible to detect whether an ELF binary is a library or an executable. Not a good design decision, in my opinion.
- glandium 4y agoAnd if you double-click a PIE executable in nautilus (GNOME file manager), it won't run it. That's why Firefox didn't ship as PIE for a long time in Mozilla's pre-built tarballs (because a lot of users would run it at least the first time through a file manager). Work around: a dummy non-PIE executable that exec()s the PIE one. Edit: tangent: the excuse nautilus developers have for not having fixed this bug (for probably more than 10 years) is that people should use .desktop files... which don't work to execute an application extracted from a tarball either (because IIRC they want either an absolute path to the executable, or one that is in $PATH, or something along these lines).
- wheybags 4y agoGood news, they fixed it by no longer allowing execution of anything (even .desktop files) by double clicking. The state of desktop Linux just depresses me. Gnome especially, it just gets worse, and never seems to focus on the problems that actually matter.
- Brian_K_White 4y agoAnd here I was thinking I was a stupid luddite sticking to xfce on general principle even though I have unholy gobs of cpu and ram.