Fix various tests to use -no-pie linker flag when needed
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 13 Dec 2018 15:20:49 +0000 (15:20 +0000)
committerSimon Marchi <simon.marchi@ericsson.com>
Fri, 21 Dec 2018 20:53:08 +0000 (15:53 -0500)
commit6e8b1ab2fd4c692146eb14295866920f83dc5403
treeb945355f5210b1f85519fb2b94d13aa6a8760f7d
parent6d78332e7748754d4a77a31e692fb8760c8c12ff
Fix various tests to use -no-pie linker flag when needed

Various tests use test code written in i386 / x86_64 assembly that cannot
be used to create PIE executables. Therefore compilation of test programs
failed on systems where the compiler default is to create PIE executable.

The solution is to use -no-pie linker flag, however, such flag may not
(is not) supported by all compilers GDB needs to support (e.g. gcc 4.8).
To handle this, introduce a new flag to gdb_compile - nopie - which
inserts -no-pie linker flag where supported and is no-op where it is
not. By default, -no-pie flag is inserted since most modern compiler do
support it.
gdb/testsuite/ChangeLog
gdb/testsuite/README
gdb/testsuite/gdb.arch/amd64-disp-step.exp
gdb/testsuite/gdb.arch/amd64-entry-value.exp
gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp
gdb/testsuite/gdb.arch/i386-float.exp
gdb/testsuite/gdb.arch/i386-signal.exp
gdb/testsuite/gdb.mi/mi-reg-undefined.exp
gdb/testsuite/lib/gdb.exp