[MPlayer-users] Why is MPlayer shown as "shared library"?

Reimar Döffinger Reimar.Doeffinger at gmx.de
Thu Oct 10 09:38:26 CEST 2013


On 10.10.2013, at 09:20, Reimar Döffinger <Reimar.Doeffinger at gmx.de> wrote:
> On 10.10.2013, at 05:31, bat guano <batguano999 at hotmail.com> wrote:
>>> My system is 32 bit. :-(
>> 
>> Hello again.
>> 
>> In configure -h it shows:-
>> "--enable-relocatable   enable compiling as relocatable/PIE executable [disable]"
>> 
>> I've compiled again with "./configure --disable-relocatable".
>> 
>> It seens to have solved the problem.
>> Look here ---> http://img855.imageshack.us/img855/7027/tskx.png
>> 
>> Is it OK to use this config option with my 32 bit system?
>> Or will it break something?
> 
> Why would you want to do that? It will reduce the security of your system, and really all applications should be behaving like MPlayer, for almost all the only reason to not build as PIE for 64 bit is the developers being lazy.

Also, you should just ask the file maintainers to update there code to detect PIE executables.
There are two ways:
1) Usually all PIE executables will have a PT_INTERP section whereas libraries do not. This will not apply to statically linked PIE executables, but so far there seems no interest in supporting them in binutils, so you won't find them in the real world.
2) A well-written executable should export (almost) no symbols. Compared to 1) this will detect libc "correctly" as library instead of executable, but it will detect badly written PIE binaries as libraries still...


More information about the MPlayer-users mailing list