FS#58846 - Upstream: executable MIME type not identified correctly with gcc -pie option
Attached to Project:
Community Packages
Opened by marcus philpott (pha-qu2) - Sunday, 03 June 2018, 00:20 GMT
Last edited by Balló György (City-busz) - Sunday, 03 June 2018, 07:45 GMT
Opened by marcus philpott (pha-qu2) - Sunday, 03 June 2018, 00:20 GMT
Last edited by Balló György (City-busz) - Sunday, 03 June 2018, 07:45 GMT
|
Details
This is a report for an upstream bug that I have already
reported (https://sourceforge.net/p/pcmanfm/bugs/1070/).
Currently PCManFM doesn't identify user compiled executable
binary files correctly. They are misidentified as DSO or
shared object owing to the introduction of -pie as a default
('silent') option in gcc 8.1.0-1. Such position independent
executables cannot be launched directly from the PCManFM,
the application chooser context menu is displayed
instead.
Additional info: PCManFM 1.3.0 using LibFM ver. 1.3.0.2 gcc (GCC) 8.1.0 Steps to reproduce: compile C file (simplest helloworld.c test case) gcc helloworld.c -o helloworld file helloworld: ELF 64-bit LSB pie executable x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=4343e7cf7432c88a3974d88e07e7e5f5cf5f92a8, not stripped PCManFM describes the executable file as a shared library, and the application chooser context menu appears when you try to execute it (I noticed this bug while going back over some openGL GUI code that wouldn't launch as expected from the file manager ... hint) Re-compile C file, turning off pie option for gcc gcc -no-pie helloworld.c -o helloworld file helloworld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=e6f51544e86c8454bb1a65e4fa809d13484d9114, not stripped PCManFM now describes the executable file as an executable, and the application will 'launch' from PCManFM |
This task depends upon
https://sourceforge.net/p/pcmanfm/bugs/1070/
If a patch is available and accepted by the upstream maintainers, we can apply it.