Problem with relro and thread synchronization on ARM?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Problem with relro and thread synchronization on ARM?

Graham Inggs-3
Hi

During the ARM ports Bof at DebConf15, we (Paul Gevers and I)
mentioned an issue we were experiencing with fpc/lazarus builds on
ARM.

We have now found that the problem is related to the '-z relro' hardening flag.

If we build Lazarus with the Debian default hardening flags, which
include '-z relro', then lazbuild appears to stall.

If we rebuild Lazarus and filter out '-z relro' from the linker flags,
lazbuild works as expected.

I would appreciate if you have any ideas why relro could cause the
call from around line 510 in Lazarus' ide/exttools.pas to never
return:

Thread.Synchronize(Thread,@NotifyHandlerNewOutput);

The issue was reported in bug #793991 [1] and forwarded upstream [2].

Regards
Graham


[1] https://bugs.debian.org/793991
[2] http://bugs.freepascal.org/view.php?id=28448