From patchwork Tue Aug 28 19:36:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Vrany X-Patchwork-Id: 29094 Received: (qmail 51839 invoked by alias); 28 Aug 2018 19:37:25 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 51820 invoked by uid 89); 28 Aug 2018 19:37:23 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, SPF_PASS autolearn=ham version=3.3.2 spammy=opts, UD:amd64-invalid-stack-middle.exp, 2510, sk:amd64i X-HELO: relay.fit.cvut.cz Received: from relay.fit.cvut.cz (HELO relay.fit.cvut.cz) (147.32.232.237) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 28 Aug 2018 19:37:21 +0000 Received: from imap.fit.cvut.cz (imap.fit.cvut.cz [147.32.232.238]) by relay.fit.cvut.cz (8.15.2/8.15.2) with ESMTPS id w7SJbFrZ066929 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK); Tue, 28 Aug 2018 21:37:17 +0200 (CEST) (envelope-from jan.vrany@fit.cvut.cz) Received: from localhost (5ac693bc.bb.sky.com [90.198.147.188] (may be forged)) (authenticated bits=0 as user vranyj1) by imap.fit.cvut.cz (8.15.2/8.15.2) with ESMTPSA id w7SJbDRR045104 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 28 Aug 2018 21:37:15 +0200 (CEST) (envelope-from jan.vrany@fit.cvut.cz) From: Jan Vrany To: gdb-patches@sourceware.org Cc: Jan Vrany Subject: [PATCH] Fix various tests to use -no-pie linker flag when needed Date: Tue, 28 Aug 2018 20:36:43 +0100 Message-Id: <20180828193643.15530-1-jan.vrany@fit.cvut.cz> Various test use test code written in i385 / 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. To fix this, force -no-pie linker flag. gdb/testsuite/ChangeLog: 2018-08-28 Jan Vrany * gdb.arch/amd64-disp-step.exp: Use -no-pie linker flag to enforce non-PIE executable. * gdb.arch/amd64-entry-value.exp: Likewise. * gdb.arch/amd64-invalid-stack-middle.exp: Likewise. * gdb.arch/i386-float.exp: Likewise. * gdb.arch/i386-signal.exp: Likewise. * gdb.mi/mi-reg-undefined.exp: Likewise. --- gdb/testsuite/ChangeLog | 10 ++++++++++ gdb/testsuite/gdb.arch/amd64-disp-step.exp | 3 ++- gdb/testsuite/gdb.arch/amd64-entry-value.exp | 2 +- gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp | 3 ++- gdb/testsuite/gdb.arch/i386-float.exp | 2 +- gdb/testsuite/gdb.arch/i386-signal.exp | 2 +- gdb/testsuite/gdb.mi/mi-reg-undefined.exp | 2 +- 7 files changed, 18 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6b5275a4cb..409843ff27 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2018-08-28 Jan Vrany + + * gdb.arch/amd64-disp-step.exp: Use -no-pie linker flag + to enforce non-PIE executable. + * gdb.arch/amd64-entry-value.exp: Likewise. + * gdb.arch/amd64-invalid-stack-middle.exp: Likewise. + * gdb.arch/i386-float.exp: Likewise. + * gdb.arch/i386-signal.exp: Likewise. + * gdb.mi/mi-reg-undefined.exp: Likewise. + 2018-08-23 Kevin Buettner * gdb.dwarf2/dw2-ranges-func.c: New file. diff --git a/gdb/testsuite/gdb.arch/amd64-disp-step.exp b/gdb/testsuite/gdb.arch/amd64-disp-step.exp index 782b75896c..8ddd48a1e8 100644 --- a/gdb/testsuite/gdb.arch/amd64-disp-step.exp +++ b/gdb/testsuite/gdb.arch/amd64-disp-step.exp @@ -25,9 +25,10 @@ if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { set newline "\[\r\n\]*" +set opts {ldflags=-no-pie} standard_testfile .S -if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } { +if { [prepare_for_testing "failed to prepare" $testfile $srcfile $opts] } { return -1 } diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value.exp b/gdb/testsuite/gdb.arch/amd64-entry-value.exp index 72700d55c2..eeb22c8066 100644 --- a/gdb/testsuite/gdb.arch/amd64-entry-value.exp +++ b/gdb/testsuite/gdb.arch/amd64-entry-value.exp @@ -14,7 +14,7 @@ # along with this program. If not, see . standard_testfile .s -set opts {} +set opts {ldflags=-no-pie} if [info exists COMPILE] { # make check RUNTESTFLAGS="gdb.arch/amd64-entry-value.exp COMPILE=1" diff --git a/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp b/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp index c00bfa10bd..b63fec9a1f 100644 --- a/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp +++ b/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp @@ -27,7 +27,8 @@ # run twice, and we restart gdb before testing each different command to # ensure that nothing is being cached. -set opts {} +set opts {ldflags=-no-pie} + standard_testfile .S if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { diff --git a/gdb/testsuite/gdb.arch/i386-float.exp b/gdb/testsuite/gdb.arch/i386-float.exp index 87c90c372e..3fccf5e81b 100644 --- a/gdb/testsuite/gdb.arch/i386-float.exp +++ b/gdb/testsuite/gdb.arch/i386-float.exp @@ -28,7 +28,7 @@ standard_testfile .S # some targets have leading underscores on assembly symbols. set additional_flags [gdb_target_symbol_prefix_flags_asm] -if { [prepare_for_testing "failed to prepare" $testfile $srcfile [list debug $additional_flags]] } { +if { [prepare_for_testing "failed to prepare" $testfile $srcfile [list debug ldflags=-no-pie $additional_flags]] } { return -1 } diff --git a/gdb/testsuite/gdb.arch/i386-signal.exp b/gdb/testsuite/gdb.arch/i386-signal.exp index 38046a13cb..a046c06c9d 100644 --- a/gdb/testsuite/gdb.arch/i386-signal.exp +++ b/gdb/testsuite/gdb.arch/i386-signal.exp @@ -23,7 +23,7 @@ if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then { standard_testfile if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ - executable { debug }] != "" } { + executable { debug ldflags=-no-pie }] != "" } { untested "failed to compile" return -1 } diff --git a/gdb/testsuite/gdb.mi/mi-reg-undefined.exp b/gdb/testsuite/gdb.mi/mi-reg-undefined.exp index 83abab1a0e..bc560ad9e5 100644 --- a/gdb/testsuite/gdb.mi/mi-reg-undefined.exp +++ b/gdb/testsuite/gdb.mi/mi-reg-undefined.exp @@ -33,7 +33,7 @@ if [mi_gdb_start] { standard_testfile .S -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug ldflags=-no-pie}] != "" } { untested "failed to compile" return -1 }