This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix various tests to use -no-pie linker flag when needed


On 2018-10-14 05:59, Jan Vrany wrote:
Hi,

I'm sorry for a long delay, I've been very, very busy lately.
Hopefully I'd have more time for GDB now...


On Fri, 2018-09-07 at 23:18 +0100, Simon Marchi wrote:
On 2018-09-07 21:43, Tom Tromey wrote:
> > > > > > "Jan" == Jan Vrany <jan.vrany@fit.cvut.cz> writes:
>
> Jan> Various test use test code written in i385 / x86_64 assembly that
> cannot
> Jan> be used to create PIE executables. Therefore compilation of test
> programs
> Jan> failed on systems where the compiler default is to create PIE
> executable.
>
> Jan> To fix this, force -no-pie linker flag.
>
> I guess you're on an OS that enables PIE by default?

I know recent-ish Ubuntus do that, I don't know if it's a patch specific
to that distro or if it's the default value in gcc that changed.

Neither I know. I'm using Debian Buster which seems to have -no-pie
by default too.


> These tests don't seem to be linux- or gcc-specific.
> Do you know how universal -no-pie is?  My worry is that this would fix
> the test for some people but break it for others.
>

No, I don't know how universal -no-pie is. From what I have understood
from Simon (https://sourceware.org/ml/gdb-patches/2018-08/msg00662.html),
out of the options available -no-pie is still the best bet.

gcc supports it, icc supports it [1], clang supports it starting at version 6 according to my testing. I think this is universal enough that we can use it. If somebody stumbles on a compiler that does not understand -no-pie and they really need to use it for their testing, they can quite easily add an option for gdb_compile. But for now, I don't think it's worth the extra work.

[1] https://software.intel.com/en-us/node/523278

I tested the patch and amd64-disp-step.exp fails for me. When you specify options to prepare_for_testing explicitly, you have to include the "debug" option (if you do want debug symbols).

With this fix the patch LGTM.

Simon


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]