July 02, 2019
On Tuesday, 2 July 2019 at 17:29:51 UTC, guiguidu60 wrote:
> On Tuesday, 2 July 2019 at 17:14:23 UTC, Les De Ridder wrote:
>> On Tuesday, 2 July 2019 at 16:56:52 UTC, guiguidu60 wrote:
>>> On Tuesday, 2 July 2019 at 16:44:12 UTC, Les De Ridder wrote:
>>>> On Tuesday, 2 July 2019 at 14:49:49 UTC, guiguidu60 wrote:
>>>>> [...]
>>>>
>>>> What file manager are you using?
>>>>
>>>> Could you perhaps upload an example binary that gets detected wrong?
>>>
>>> I'm on Debian 10, with Nautilus (v3.30.5) as file explorer.
>>> You can download the helloworld program with this link: https://mega.nz/#!rY1QWIhK!lKyIX192OEfKM8MsZ_WW_QNryl39yCQebkXts2qn7E0
>>
>> As I suspected, it's because it's a PIE executable, so this issue is
>> not specific to D.
>>
>> Going down the rabbit hole:
>> https://bugzilla.gnome.org/show_bug.cgi?id=737849
>> https://bugs.freedesktop.org/show_bug.cgi?id=97226
>> https://gitlab.freedesktop.org/xdg/shared-mime-info/issues/11
>
> Ahh ok, thanks !
> The bug is old... how can I develop D applications without having to suffer this bug ?

Currently you can't, AFAICT.

Many Linux distros these days make PIE the default for Clang/GCC,
because PIE allows for more ASLR, a common modern security hardening
measure.

Because D uses the C compiler to link your application, this default
will be passed down to the linker. Because of the order in which D
passes args down to the linker, there doesn't seem to be a way to
override this (unless you link manually, e.g. by appending `-no-pie` to
the clang/gcc command you get with `dmd -v <sources>`).

It might make sense to change dmd's behaviour so it explicitly passes
`-no-pie` to the C compiler when it's not being called with `-fPIC`.

In any case, the bug is still not D's fault and will also occur with
e.g. C programs compiled without `-no-pie` (and probably most
executables in /usr/bin!).
July 02, 2019
On Tuesday, 2 July 2019 at 19:49:32 UTC, Les De Ridder wrote:
> On Tuesday, 2 July 2019 at 17:29:51 UTC, guiguidu60 wrote:
>> [...]
>
> Currently you can't, AFAICT.
>
> Many Linux distros these days make PIE the default for Clang/GCC,
> because PIE allows for more ASLR, a common modern security hardening
> measure.
>
> [...]

I'm sad... So, it's necessary to update DMD for get around this problem :/
Thanks for your help :)
1 2
Next ›   Last »