[testsuite,patch+7.8] gdb.arch/amd64-stap-special-operands.exp !is_lp64_target [Re: [PATCH] Fix for PR tdep/16397: SystemTap SDT probe support for x86 doesn't work with "triplet operands"]

Message ID 20140622211401.GA3716@host2.jankratochvil.net
State Superseded
Headers

Commit Message

Jan Kratochvil June 22, 2014, 9:14 p.m. UTC
  On Thu, 20 Feb 2014 22:53:21 +0100, Sergio Durigan Junior wrote:
> Thanks, I finally pushed it with the necessary fixes.
>         https://sourceware.org/ml/gdb-cvs/2014-02/msg00106.html
# if { ![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"] } {
#     verbose "Skipping amd64-stap-special-operands.exp"
#     return 
# }   

On x86_64 with -m32 or on i686 it will:

Running ./gdb.arch/amd64-stap-special-operands.exp ...
gdb compile failed, amd64-stap-triplet.c: Assembler messages:
amd64-stap-triplet.c:35: Error: bad register name `%rbp'
amd64-stap-triplet.c:38: Error: bad register name `%rsp'
amd64-stap-triplet.c:40: Error: bad register name `%rbp)'
amd64-stap-triplet.c:41: Error: bad register name `%rsi'
amd64-stap-triplet.c:42: Error: bad register name `%rbp)'
/tmp/ccjOdmpl.s:63: Error: bad register name `%rbp'

IMO there should be the patch below.  OK for check-in?
It would apply as [obv] but I rather ask Sergio if it was meant this way.


Jan
gdb/testsuite/
2014-06-22  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.arch/amd64-stap-special-operands.exp: Use is_lp64_target.
  

Comments

Sergio Durigan Junior June 22, 2014, 10:17 p.m. UTC | #1
On Sunday, June 22 2014, Jan Kratochvil wrote:

> On Thu, 20 Feb 2014 22:53:21 +0100, Sergio Durigan Junior wrote:
>> Thanks, I finally pushed it with the necessary fixes.
>>         https://sourceware.org/ml/gdb-cvs/2014-02/msg00106.html
> # if { ![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"] } {
> #     verbose "Skipping amd64-stap-special-operands.exp"
> #     return 
> # }   
>
> On x86_64 with -m32 or on i686 it will:
>
> Running ./gdb.arch/amd64-stap-special-operands.exp ...
> gdb compile failed, amd64-stap-triplet.c: Assembler messages:
> amd64-stap-triplet.c:35: Error: bad register name `%rbp'
> amd64-stap-triplet.c:38: Error: bad register name `%rsp'
> amd64-stap-triplet.c:40: Error: bad register name `%rbp)'
> amd64-stap-triplet.c:41: Error: bad register name `%rsi'
> amd64-stap-triplet.c:42: Error: bad register name `%rbp)'
> /tmp/ccjOdmpl.s:63: Error: bad register name `%rbp'
>
> IMO there should be the patch below.  OK for check-in?
> It would apply as [obv] but I rather ask Sergio if it was meant this way.

Ops, my bad.

> Jan
> gdb/testsuite/
> 2014-06-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
>
> 	* gdb.arch/amd64-stap-special-operands.exp: Use is_lp64_target.
>
> diff --git a/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp b/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
> index a6ce7f5..988b5d6 100644
> --- a/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
> @@ -13,7 +13,7 @@
>  # You should have received a copy of the GNU General Public License
>  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
>  
> -if { ![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"] } {
> +if { ![istarget "x86_64-*-*"] || ![is_lp64_target] } {
>      verbose "Skipping amd64-stap-special-operands.exp"
>      return
>  }

Yes, that's the right check.

BTW, gdb.arch/amd64-stap-optional-prefix.exp needs the same check for
![is_lp64_target], would you mind adding too?

Thanks,
  

Patch

diff --git a/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp b/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
index a6ce7f5..988b5d6 100644
--- a/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
+++ b/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
@@ -13,7 +13,7 @@ 
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if { ![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"] } {
+if { ![istarget "x86_64-*-*"] || ![is_lp64_target] } {
     verbose "Skipping amd64-stap-special-operands.exp"
     return
 }