From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3705 invoked by alias); 13 May 2011 17:17:13 -0000 Received: (qmail 3690 invoked by uid 22791); 13 May 2011 17:17:11 -0000 X-SWARE-Spam-Status: No, hits=-6.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,TW_VM,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 13 May 2011 17:16:42 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p4DHGeLQ013418 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 13 May 2011 13:16:40 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p4DHGdxK029464; Fri, 13 May 2011 13:16:40 -0400 Received: from opsy.redhat.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p4DHGcw3015769; Fri, 13 May 2011 13:16:39 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id 9DD91378497; Fri, 13 May 2011 11:16:38 -0600 (MDT) From: Tom Tromey To: Jan Kratochvil Cc: Ulrich Weigand , gdb-patches@sourceware.org Subject: Re: Regression: Re: RFC: implement typed DWARF stack References: <201105120003.p4C03V9u022585@d06av02.portsmouth.uk.ibm.com> <20110513075220.GA7000@host1.jankratochvil.net> Date: Fri, 13 May 2011 17:17:00 -0000 In-Reply-To: <20110513075220.GA7000@host1.jankratochvil.net> (Jan Kratochvil's message of "Fri, 13 May 2011 09:52:20 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-05/txt/msg00325.txt.bz2 Jan> +# This test can only be run on x86 targets. Jan> +if { ![istarget i?86-*] } { Jan> + return 0 Jan> +} Jan> It will not run on x86_64 box with -m32 while it could, I would Jan> prefer there also x86_64 target with is_ilp32_target conditional. Here is what I am checking in for this. This adds a new proc, 'is_x86_like_target', to do this check. Then it updates gdb.dwarf2 to use it. This also fixes a bug in dw2-restore.exp, which needs LP64. I tested this by running --directory=gdb.dwarf2 with and without -m32 on x86-64, and natively on x86. Tom b/gdb/testsuite/ChangeLog: 2011-05-13 Tom Tromey * lib/gdb.exp (is_x86_like_target): New proc. * gdb.dwarf2/watch-notconst.exp: Use is_x86_like_target. * gdb.dwarf2/valop.exp: Use is_x86_like_target. * gdb.dwarf2/typeddwarf.exp: Use is_x86_like_target. Pass -nostdlib to compiler. * gdb.dwarf2/typeddwarf.S (_start): Rename from 'main'. * gdb.dwarf2/pieces.exp: Use is_x86_like_target. * gdb.dwarf2/implptr.exp: Use is_x86_like_target. * gdb.dwarf2/dw2-restore.exp: Check for LP64. * gdb.dwarf2/callframecfa.exp: Use is_x86_like_target. diff --git a/gdb/testsuite/gdb.dwarf2/callframecfa.exp b/gdb/testsuite/gdb.dwarf2/callframecfa.exp index 42c02b0..f88348a 100644 --- a/gdb/testsuite/gdb.dwarf2/callframecfa.exp +++ b/gdb/testsuite/gdb.dwarf2/callframecfa.exp @@ -21,7 +21,7 @@ if {![dwarf2_support]} { return 0 } # This test can only be run on x86 targets. -if {![istarget i?86-*]} { +if {![is_x86_like_target]} { return 0 } diff --git a/gdb/testsuite/gdb.dwarf2/dw2-restore.exp b/gdb/testsuite/gdb.dwarf2/dw2-restore.exp index a04b029..e64c5e5 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-restore.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-restore.exp @@ -16,7 +16,7 @@ # Test handling of DW_CFA_restore_state. # This test can only be run on x86_64 targets. -if {![istarget x86_64-*]} { +if {![istarget x86_64-*] || ![is_lp64_target]} { return 0 } set testfile "dw2-restore" diff --git a/gdb/testsuite/gdb.dwarf2/implptr.exp b/gdb/testsuite/gdb.dwarf2/implptr.exp index 5bf894b..e9348e40 100644 --- a/gdb/testsuite/gdb.dwarf2/implptr.exp +++ b/gdb/testsuite/gdb.dwarf2/implptr.exp @@ -21,7 +21,7 @@ if {![dwarf2_support]} { return 0 } # This test can only be run on x86 targets. -if {![istarget i?86-*]} { +if {![is_x86_like_target]} { return 0 } diff --git a/gdb/testsuite/gdb.dwarf2/pieces.exp b/gdb/testsuite/gdb.dwarf2/pieces.exp index 73780d8..a2e6c04 100644 --- a/gdb/testsuite/gdb.dwarf2/pieces.exp +++ b/gdb/testsuite/gdb.dwarf2/pieces.exp @@ -20,7 +20,7 @@ if {![dwarf2_support]} { return 0 } # This test can only be run on x86 targets. -if {![istarget i?86-*]} { +if {![is_x86_like_target]} { return 0 } diff --git a/gdb/testsuite/gdb.dwarf2/typeddwarf.S b/gdb/testsuite/gdb.dwarf2/typeddwarf.S index a46da14..2ab7444 100644 --- a/gdb/testsuite/gdb.dwarf2/typeddwarf.S +++ b/gdb/testsuite/gdb.dwarf2/typeddwarf.S @@ -212,9 +212,9 @@ f4: .size f4, .-f4 .section .text.startup,"ax",@progbits .p2align 4,,15 - .globl main - .type main, @function -main: + .globl _start + .type _start, @function +_start: .LFB4: # typeddwarf.c:87 .LM37: @@ -314,7 +314,7 @@ main: # SUCC: EXIT [100.0%] ret .LFE4: - .size main, .-main + .size _start, .-_start .comm vv,4,4 .section .rodata.cst4,"aM",@progbits,4 .align 4 diff --git a/gdb/testsuite/gdb.dwarf2/typeddwarf.exp b/gdb/testsuite/gdb.dwarf2/typeddwarf.exp index bddcc18..e6a420a 100644 --- a/gdb/testsuite/gdb.dwarf2/typeddwarf.exp +++ b/gdb/testsuite/gdb.dwarf2/typeddwarf.exp @@ -23,11 +23,11 @@ if ![dwarf2_support] { } # This test can only be run on x86 targets. -if { ![istarget i?86-*] } { +if { ![is_x86_like_target] } { return 0 } -if { [prepare_for_testing "${test}.exp" "${test}" ${test}.S {nodebug}] } { +if { [prepare_for_testing "${test}.exp" "${test}" ${test}.S {nodebug additional_flags=-nostdlib}] } { return -1 } diff --git a/gdb/testsuite/gdb.dwarf2/valop.exp b/gdb/testsuite/gdb.dwarf2/valop.exp index f7343ef..4dc7434 100644 --- a/gdb/testsuite/gdb.dwarf2/valop.exp +++ b/gdb/testsuite/gdb.dwarf2/valop.exp @@ -21,7 +21,7 @@ if {![dwarf2_support]} { return 0 } # This test can only be run on x86 targets. -if {![istarget i?86-*]} { +if {![is_x86_like_target]} { return 0 } diff --git a/gdb/testsuite/gdb.dwarf2/watch-notconst.exp b/gdb/testsuite/gdb.dwarf2/watch-notconst.exp index f4e2d52..da13868 100644 --- a/gdb/testsuite/gdb.dwarf2/watch-notconst.exp +++ b/gdb/testsuite/gdb.dwarf2/watch-notconst.exp @@ -22,7 +22,7 @@ if ![dwarf2_support] { } # This test can only be run on x86 targets. -if { ![istarget i?86-*] } { +if { ![is_x86_like_target] } { return 0 } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 17ea0b7..531120c 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1563,6 +1563,17 @@ proc is_lp64_target {} { return [set is_lp64_target_saved($board) 1] } +# Return 1 if this target is an x86 or x86-64 with -m32. +proc is_x86_like_target {} { + if {[istarget i?86-*]} { + return 1 + } + if {![istarget "x86_64-*-*"]} { + return 0 + } + return [is_ilp32_target] +} + # Run a test on the target to see if it supports vmx hardware. Return 0 if so, # 1 if it does not. Based on 'check_vmx_hw_available' from the GCC testsuite.