Red Hat Bugzilla – Bug 1296858
PIE binaries cannot be launched from nautilus
Last modified: 2017-07-25 10:02:36 EDT
When double-clicking on programs listed by file manager:
- program built without -pie can be launched.
- program built with -pie (Position Independent Executable) cannot be launched.
Nautilus should be able to start PIE binaries just like non-PIE ones.
Created attachment 1112819 [details]
Nautilus window showing 2 programs
Here's a screenshot for the main file manager window showing 2 programs, one built with -pie and the other built without.
The non-PIE one is showed as executable, while the PIE one is not.
Created attachment 1112822 [details]
Nautilus popup when double clicking on PIE program
Here's a screen shot of the popup showed by Nautilus when double clicking on PIE program.
The PIE program is reported as a shared library.
Created attachment 1112824 [details]
Nautilus shows basic file properties
The basic properties for the PIE program shown by Nautilus.
Note file type: shared library, MIME application/x-sharedlib.
Created attachment 1112827 [details]
Nautilus shows permissions file properties
The permissions for the PIE program shown by Nautilus.
Note: the file is marked executable.
Created attachment 1112829 [details]
Nautilus shows "open with" properties
Nautilus let me choose an application to open files of type "shared library" and the PIE program.
I believe the root issue is "file" command that incorrectly report PIE program as shared object instead of executable:
$ file bin-nopie
bin-nopie: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=ee817f6d5d4f5635a981b1b837b1b0de3b16aacf, not stripped
$ file bin-pie
bin-pie: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=439fc92838d4d0981f99dd967485e5b95a5a0e7b, not stripped