From patchwork Wed Mar 6 10:20:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Testsuite: Ensure pie is disabled on some tests From: Alan Hayward X-Patchwork-Id: 31728 Message-Id: <20190306102006.99150-1-alan.hayward@arm.com> To: "gdb-patches@sourceware.org" Cc: nd , Alan Hayward Date: Wed, 6 Mar 2019 10:20:12 +0000 Recent versions of Ubuntu and Debian default GCC to enable pie. In dump.exp, pie will causes addresses to be out of range for IHEX. In break-interp.exp, pie is explicitly set for some tests and assumed to be disabled for the remainder. Ensure pie is disabled for these tests when required. gdb/testsuite/ChangeLog: 2019-03-06 Alan Hayward * gdb.base/break-interp.exp: Ensure pie is disabled. * gdb.base/dump.exp: Likewise. --- gdb/testsuite/gdb.base/break-interp.exp | 4 ++++ gdb/testsuite/gdb.base/dump.exp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/gdb/testsuite/gdb.base/break-interp.exp b/gdb/testsuite/gdb.base/break-interp.exp index f85e8a650a..409c31e568 100644 --- a/gdb/testsuite/gdb.base/break-interp.exp +++ b/gdb/testsuite/gdb.base/break-interp.exp @@ -627,6 +627,10 @@ foreach ldprelink {NO YES} { if {$binpie != "NO"} { lappend opts {additional_flags=-fPIE} lappend opts {ldflags=-pie} + } else { + # Recent Debian/Ubuntu defaults PIE enabled. Ensure it is disabled. + lappend opts {additional_flags=-no-pie} + lappend opts {ldflags=-no-pie} } set dir ${exec}.d diff --git a/gdb/testsuite/gdb.base/dump.exp b/gdb/testsuite/gdb.base/dump.exp index 44b0988b80..b2d7ef938a 100644 --- a/gdb/testsuite/gdb.base/dump.exp +++ b/gdb/testsuite/gdb.base/dump.exp @@ -36,6 +36,10 @@ if {[istarget "spu*-*-*"]} then { set is64bitonly "yes" } +# Ensure -pie is disabled as this breaks IHEX tests. +# (PIE defaults to enabled on recent Debian/Ubuntu). +lappend options "additional_flags=-no-pie" + if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ${options}] != "" } { untested "failed to compile" return -1