From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id gH2wFYbX2F+5CgAAWB0awg (envelope-from ) for ; Tue, 15 Dec 2020 10:34:30 -0500 Received: by simark.ca (Postfix, from userid 112) id 5570C1F0AA; Tue, 15 Dec 2020 10:34:30 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id AFA241E965 for ; Tue, 15 Dec 2020 10:34:29 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 67E0F386F433; Tue, 15 Dec 2020 15:34:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 67E0F386F433 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1608046469; bh=Yqm3tEvt9EuItcu4UAkgHyc5Cjy/egKoS/4vQ0wSngk=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=OFuooS9Y6eh1QmD26IitZhQPQuiGgiUSa6IsItKP/kc5Ne+8r7+f547CMxQTSPvhZ e+3hK+I9a9YQfzzQc6ojAnFNwMhZM1Z3jVHAhzxgtTjTPemukvpax61JYMoq+vXy9d l5D+erWC+hyuj+v2B7lxlr9XT8rrhFI5O7a/Yf98= Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com [IPv6:2607:f8b0:4864:20::733]) by sourceware.org (Postfix) with ESMTPS id 32C84386F401 for ; Tue, 15 Dec 2020 15:34:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 32C84386F401 Received: by mail-qk1-x733.google.com with SMTP id n142so19452315qkn.2 for ; Tue, 15 Dec 2020 07:34:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Yqm3tEvt9EuItcu4UAkgHyc5Cjy/egKoS/4vQ0wSngk=; b=Szb2ERlUZEZjAhPzwVFrbcQAZLA3vhGXJITCbNC3lfse2D9sVm+Uq+xxaH6UlLA2n/ s1R2SgVJenuOysHD7FaUJUMtP4VsxI7txZ1lc8zJNdZ4Q+MJhYh00q8YeVOcQIdukVlr Y20DrO2E1el2f1eQht2kOCv5M5ZV03llWXlmjyaOIqVotToqeyTExY2OMyYxpA4IqjcO 6Jlb5V6wJq3w5sMe0IbJq3w6JXpwgS/FJY5sQ6fBwIxcKvage/wKpXDPiZ479sYvYNV9 7+p97IM7/tkxGyttyCp59gZjtmP9U11H4bS1/nDQzYDvCj4VO1IcbqOdv1hTGNsVAO+r wYmA== X-Gm-Message-State: AOAM530G3xiT/uFSe2ZZmtiAmB2Z/fAxfZgxIvAJ7ciXv19ac9HIXXiy i9F36T39fFwNGe7E7RgFEL7ePXe6QGAD1w== X-Google-Smtp-Source: ABdhPJx/0qChnGsh2gQtA1Md87ynV9+z40OlD29OA3vX6t7mowLLRuEGS2XcjMrvXD9iBFGyTA3oww== X-Received: by 2002:a37:628c:: with SMTP id w134mr38927728qkb.198.1608046465506; Tue, 15 Dec 2020 07:34:25 -0800 (PST) Received: from ?IPv6:2804:7f0:8284:370e:2c3a:8c8b:7b6:be51? ([2804:7f0:8284:370e:2c3a:8c8b:7b6:be51]) by smtp.gmail.com with ESMTPSA id g26sm4485975qkl.60.2020.12.15.07.34.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 15 Dec 2020 07:34:24 -0800 (PST) Subject: Re: [PATCH][gdb/testsuite] Don't pass -fPIC to gdb_compile_shlib To: Tom de Vries , gdb-patches@sourceware.org References: <20201207122016.GA14320@delia> Message-ID: <2055f6f4-910c-9916-fa8d-58315ede14bb@linaro.org> Date: Tue, 15 Dec 2020 12:34:22 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20201207122016.GA14320@delia> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Luis Machado via Gdb-patches Reply-To: Luis Machado Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" This regresses gdb.base/break-probes.exp for Ubuntu 18.04 and 20.04 on aarch64. I suppose the right switch is not getting passed any longer. On 12/7/20 9:20 AM, Tom de Vries wrote: > Hi, > > When running test-case gdb.base/info-shared.exp, I see in gdb.log: > ... > Executing on host: \ > gcc ... -fPIC -fpic -c -o info-shared-solib1.c.o info-shared-solib1.c > ... > > The -fPIC comes from the test-case: > ... > if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \ > [list additional_flags=-fPIC]] != "" } { > ... > but the -fpic, which overrides the -fPIC comes from gdb_compile_shlib. > > The proc gdb_compile_shlib adds the -fpic or similar dependent on platform > and compiler. However, in some cases it doesn't add anything, which is > probably why all those test-case pass -fPIC. > > Fix this by removing -fPIC from all the calls to gdb_compile_shlib, and > ensuring that gdb_compile_shlib takes care of adding it, if required. > > Tested on x86_64-linux. > > Any comments? > > Thanks, > - Tom > > [gdb/testsuite] Don't pass -fPIC to gdb_compile_shlib > > gdb/testsuite/ChangeLog: > > 2020-12-07 Tom de Vries > > * lib/gdb.exp (gdb_compile_shlib): Make sure it's not necessary to > pass -fPIC. > * gdb.ada/catch_ex_std.exp: Don't pass -fPIC to gdb_compile_shlib. > * gdb.base/break-probes.exp: Same. > * gdb.base/ctxobj.exp: Same. > * gdb.base/dso2dso.exp: Same. > * gdb.base/global-var-nested-by-dso.exp: Same. > * gdb.base/info-shared.exp: Same. > * gdb.base/jit-reader-simple.exp: Same. > * gdb.base/print-file-var.exp: Same. > * gdb.base/skip-solib.exp: Same. > * gdb.btrace/dlopen.exp: Same. > > --- > gdb/testsuite/gdb.ada/catch_ex_std.exp | 3 +-- > gdb/testsuite/gdb.base/break-probes.exp | 3 +-- > gdb/testsuite/gdb.base/ctxobj.exp | 4 ++-- > gdb/testsuite/gdb.base/dso2dso.exp | 4 ++-- > gdb/testsuite/gdb.base/global-var-nested-by-dso.exp | 4 ++-- > gdb/testsuite/gdb.base/info-shared.exp | 6 ++---- > gdb/testsuite/gdb.base/jit-reader-simple.exp | 2 +- > gdb/testsuite/gdb.base/print-file-var.exp | 2 +- > gdb/testsuite/gdb.base/skip-solib.exp | 2 +- > gdb/testsuite/gdb.btrace/dlopen.exp | 3 +-- > gdb/testsuite/lib/gdb.exp | 13 +++++++++---- > 11 files changed, 23 insertions(+), 23 deletions(-) > > diff --git a/gdb/testsuite/gdb.ada/catch_ex_std.exp b/gdb/testsuite/gdb.ada/catch_ex_std.exp > index c8acd70241..5ed0b4d172 100644 > --- a/gdb/testsuite/gdb.ada/catch_ex_std.exp > +++ b/gdb/testsuite/gdb.ada/catch_ex_std.exp > @@ -29,8 +29,7 @@ set sofile [standard_output_file libsome_package.so] > set outdir [file dirname $binfile] > > # Create the shared library. > -if {[gdb_compile_shlib $srcfile2 $sofile \ > - {ada debug additional_flags=-fPIC}] != ""} { > +if {[gdb_compile_shlib $srcfile2 $sofile {ada debug}] != ""} { > return -1 > } > > diff --git a/gdb/testsuite/gdb.base/break-probes.exp b/gdb/testsuite/gdb.base/break-probes.exp > index 08513ddbb2..96ef93d9f5 100644 > --- a/gdb/testsuite/gdb.base/break-probes.exp > +++ b/gdb/testsuite/gdb.base/break-probes.exp > @@ -30,8 +30,7 @@ if { [istarget "*bsd*"] } { > } > set probes_bp "dl_main" > > -if { [gdb_compile_shlib $srcfile_lib $binfile_lib \ > - [list additional_flags=-fPIC]] != "" } { > +if { [gdb_compile_shlib $srcfile_lib $binfile_lib {}] != "" } { > untested "failed to compile shared library" > return -1 > } > diff --git a/gdb/testsuite/gdb.base/ctxobj.exp b/gdb/testsuite/gdb.base/ctxobj.exp > index b8931bafb4..faf209cc0d 100644 > --- a/gdb/testsuite/gdb.base/ctxobj.exp > +++ b/gdb/testsuite/gdb.base/ctxobj.exp > @@ -33,10 +33,10 @@ set libsrc [list "${srcdir}/${subdir}/ctxobj-v.c" \ > set libobj1 [standard_output_file libctxobj1.so] > set libobj2 [standard_output_file libctxobj2.so] > > -set libobj1_opts { debug additional_flags=-fPIC > +set libobj1_opts { debug > additional_flags=-DVERSION=104 > additional_flags=-DGET_VERSION=get_version_1 } > -set libobj2_opts { debug additional_flags=-fPIC > +set libobj2_opts { debug > additional_flags=-DVERSION=203 > additional_flags=-DGET_VERSION=get_version_2 } > > diff --git a/gdb/testsuite/gdb.base/dso2dso.exp b/gdb/testsuite/gdb.base/dso2dso.exp > index 7d8ea7057c..4c0b27955d 100644 > --- a/gdb/testsuite/gdb.base/dso2dso.exp > +++ b/gdb/testsuite/gdb.base/dso2dso.exp > @@ -40,13 +40,13 @@ set srcfile_libdso1 $srcdir/$subdir/$libdso1.c > set binfile_libdso1 [standard_output_file $libdso1.so] > > if { [gdb_compile_shlib $srcfile_libdso2 $binfile_libdso2 \ > - [list debug additional_flags=-fPIC]] != "" } { > + [list debug]] != "" } { > untested "failed to compile shared library 2" > return -1 > } > > if { [gdb_compile_shlib $srcfile_libdso1 $binfile_libdso1 \ > - [list debug additional_flags=-fPIC]] != "" } { > + [list debug]] != "" } { > untested "failed to compile shared library 1" > return -1 > } > diff --git a/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp b/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp > index f88c5d094f..c277595015 100644 > --- a/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp > +++ b/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp > @@ -28,13 +28,13 @@ set srcfile_lib2 $srcdir/$subdir/$lib2name.c > set binfile_lib2 [standard_output_file $lib2name.so] > > if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \ > - [list debug additional_flags=-fPIC]] != "" } { > + [list debug]] != "" } { > untested "failed to compile shared library 1" > return -1 > } > > if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 \ > - [list debug additional_flags=-fPIC]] != "" } { > + [list debug]] != "" } { > untested "failed to compile shared library 2" > return -1 > } > diff --git a/gdb/testsuite/gdb.base/info-shared.exp b/gdb/testsuite/gdb.base/info-shared.exp > index 9a54100f8a..7b8ce5b11e 100644 > --- a/gdb/testsuite/gdb.base/info-shared.exp > +++ b/gdb/testsuite/gdb.base/info-shared.exp > @@ -29,14 +29,12 @@ set srcfile_lib2 $srcdir/$subdir/$lib2name.c > set binfile_lib2 [standard_output_file $lib2name.so] > set define2 -DSHLIB2_NAME=\"$binfile_lib2\" > > -if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \ > - [list additional_flags=-fPIC]] != "" } { > +if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 {}] != "" } { > untested "failed to compile shared library 1" > return -1 > } > > -if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 \ > - [list additional_flags=-fPIC]] != "" } { > +if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 {}] != "" } { > untested "failed to compile shared library 2" > return -1 > } > diff --git a/gdb/testsuite/gdb.base/jit-reader-simple.exp b/gdb/testsuite/gdb.base/jit-reader-simple.exp > index a8f33c6d7a..99c4dcf732 100644 > --- a/gdb/testsuite/gdb.base/jit-reader-simple.exp > +++ b/gdb/testsuite/gdb.base/jit-reader-simple.exp > @@ -56,7 +56,7 @@ proc build_shared_jit {{options ""}} { > global testfile > global srcfile_lib binfile_lib binfile_lib2 > > - lappend options "debug additional_flags=-fPIC" > + lappend options "debug" > if { [gdb_compile_shlib $srcfile_lib $binfile_lib $options] != "" } { > return -1 > } > diff --git a/gdb/testsuite/gdb.base/print-file-var.exp b/gdb/testsuite/gdb.base/print-file-var.exp > index 62e5f230eb..219bedcde4 100644 > --- a/gdb/testsuite/gdb.base/print-file-var.exp > +++ b/gdb/testsuite/gdb.base/print-file-var.exp > @@ -42,7 +42,7 @@ proc test {hidden dlopen version_id_main lang} { > set libobj1 [standard_output_file ${lib1}$suffix.so] > set libobj2 [standard_output_file ${lib2}$suffix.so] > > - set lib_opts { debug additional_flags=-fPIC $lang } > + set lib_opts { debug $lang } > lappend lib_opts "additional_flags=-DHIDDEN=$hidden" > > if { [gdb_compile_shlib ${srcdir}/${subdir}/${lib1}.c \ > diff --git a/gdb/testsuite/gdb.base/skip-solib.exp b/gdb/testsuite/gdb.base/skip-solib.exp > index 528410a0d5..8ecba70aa0 100644 > --- a/gdb/testsuite/gdb.base/skip-solib.exp > +++ b/gdb/testsuite/gdb.base/skip-solib.exp > @@ -39,7 +39,7 @@ set binfile_lib [standard_output_file ${libname}.so] > # the main program. > # > > -if {[gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug additional_flags=-fPIC -Wl,-soname,${libname}.so]] != ""} { > +if {[gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug -Wl,-soname,${libname}.so]] != ""} { > return -1 > } > > diff --git a/gdb/testsuite/gdb.btrace/dlopen.exp b/gdb/testsuite/gdb.btrace/dlopen.exp > index fc910a933a..6839b0f4f4 100644 > --- a/gdb/testsuite/gdb.btrace/dlopen.exp > +++ b/gdb/testsuite/gdb.btrace/dlopen.exp > @@ -31,8 +31,7 @@ set basename_lib dlopen-dso > set srcfile_lib $srcdir/$subdir/$basename_lib.c > set binfile_lib [standard_output_file $basename_lib.so] > > -if { [gdb_compile_shlib $srcfile_lib $binfile_lib \ > - [list additional_flags=-fPIC]] != "" } { > +if { [gdb_compile_shlib $srcfile_lib $binfile_lib {}] != "" } { > untested "failed to prepare shlib" > return -1 > } > diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp > index e413bab93c..e35d236018 100644 > --- a/gdb/testsuite/lib/gdb.exp > +++ b/gdb/testsuite/lib/gdb.exp > @@ -4304,17 +4304,21 @@ proc gdb_compile_shlib {sources dest options} { > lappend obj_options "additional_flags=-qpic" > } > "clang-*" { > - if { !([istarget "*-*-cygwin*"] > - || [istarget "*-*-mingw*"]) } { > + if { [istarget "*-*-cygwin*"] > + || [istarget "*-*-mingw*"] } { > + lappend obj_options "additional_flags=-fPIC" > + } else { > lappend obj_options "additional_flags=-fpic" > } > } > "gcc-*" { > - if { !([istarget "powerpc*-*-aix*"] > + if { [istarget "powerpc*-*-aix*"] > || [istarget "rs6000*-*-aix*"] > || [istarget "*-*-cygwin*"] > || [istarget "*-*-mingw*"] > - || [istarget "*-*-pe*"]) } { > + || [istarget "*-*-pe*"] } { > + lappend obj_options "additional_flags=-fPIC" > + } else { > lappend obj_options "additional_flags=-fpic" > } > } > @@ -4323,6 +4327,7 @@ proc gdb_compile_shlib {sources dest options} { > } > default { > # don't know what the compiler is... > + lappend obj_options "additional_flags=-fPIC" > } > } > >