From: Paul Gilliam <pgilliam@us.ibm.com>
To: gdb-patches@sources.redhat.com
Subject: Re: [patch] test for altivec h/w on PowerPC
Date: Wed, 02 Mar 2005 18:14:00 -0000 [thread overview]
Message-ID: <200503021010.17990.pgilliam@us.ibm.com> (raw)
In-Reply-To: <20050302015607.GA1694@nevyn.them.org>
[-- Attachment #1: Type: text/plain, Size: 619 bytes --]
On Tuesday 01 March 2005 17:56, Daniel Jacobowitz wrote:
> On Tue, Mar 01, 2005 at 04:32:17PM -0800, Paul Gilliam wrote:
> > Daniel,
> >
> > Thanks a lot for your speedy review!
> >
> > I didn't know Janis wrote it, she didn't say so when she showed it to me.
> > (Her cube is right next to mine: we are in the same group)
>
> She's too modest :-) Or my memory is bad.
I just talked to her. She doesn't think she needs the atribution and it came
from Aldy Hernandez anyway. 8-)
>
> > Ok to commit?
>
> No patch attached? :-)
I CAN'T BELEAVE IT ! FUDGE!
Here it is:
(This time for sure, I hope 8-)
-=# Paul #=-
[-- Attachment #2: my.patch --]
[-- Type: text/x-diff, Size: 3554 bytes --]
diff -Naur testsuite.old/ChangeLog testsuite/ChangeLog
--- testsuite.old/ChangeLog 2005-03-01 14:56:21.439229400 -0800
+++ testsuite/ChangeLog 2005-03-01 15:59:49.052246512 -0800
@@ -1,3 +1,10 @@
+2004-03-01 Paul Gilliam <pgilliam@us.ibm.com>
+
+ * lib/gdb.exp: added 'skip_altivec_tests', a modification of
+ Janis Johnson's 'check_vmx_hw_available' from GCC testsuite
+ * lib/gdb.arch/altivec-abi.exp: use new 'skip_altivec_tests'
+ * lib/gdb.arch/altivec-regs.exp: Likewise
+
2004-02-24 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/fixed_points.exp: Create compilation object directory
diff -Naur testsuite.old/gdb.arch/altivec-abi.exp testsuite/gdb.arch/altivec-abi.exp
--- testsuite.old/gdb.arch/altivec-abi.exp 2005-03-01 14:56:21.484222560 -0800
+++ testsuite/gdb.arch/altivec-abi.exp 2005-03-01 15:01:49.451289288 -0800
@@ -32,7 +32,7 @@
set prms_id 0
set bug_id 0
-if ![istarget "powerpc-*altivec"] then {
+if [skip_altivec_tests] {
verbose "Skipping altivec abi tests."
return
}
diff -Naur testsuite.old/gdb.arch/altivec-regs.exp testsuite/gdb.arch/altivec-regs.exp
--- testsuite.old/gdb.arch/altivec-regs.exp 2005-03-01 14:56:21.485222408 -0800
+++ testsuite/gdb.arch/altivec-regs.exp 2005-03-01 15:02:41.869176744 -0800
@@ -32,7 +32,7 @@
set prms_id 0
set bug_id 0
-if ![istarget "powerpc-*altivec"] then {
+if [skip_altivec_tests] then {
verbose "Skipping altivec register tests."
return
}
diff -Naur testsuite.old/lib/gdb.exp testsuite/lib/gdb.exp
--- testsuite.old/lib/gdb.exp 2005-03-01 14:56:22.127258976 -0800
+++ testsuite/lib/gdb.exp 2005-03-02 10:09:13.241270112 -0800
@@ -1142,6 +1142,59 @@
return 0
}
+# Run a test on the target to see if it supports vmx hardware.
+# Return 1 if it does not, 0 if it does.
+
+# This code is based on 'check_vmx_hw_available' from the GCC testsuite.
+
+proc skip_altivec_tests {} {
+ global skip_vmx_tests_saved
+
+ if [info exists skip_vmx_tests_saved] {
+ verbose "check_hw_available: returning saved $skip_vmx_tests_saved" 2
+ return $skip_vmx_tests_saved
+ }
+
+ # Some simulators are known to not support VMX instructions.
+ if { [istarget powerpc-*-eabi] || [istarget powerpc*-*-eabispe] } {
+ verbose "check_hw_available returning 0" 2
+ return [set $skip_vmx_tests_saved 1]
+ }
+
+ # Set up, compile, and execute a test program containing VMX
+ # instructions. Include the current process ID in the file
+ # names to prevent conflicts with invocations for multiple
+ # testsuites.
+ set src vmx[pid].c
+ set exe vmx[pid].x
+
+ set f [open $src "w"]
+ puts $f "int main() {"
+ puts $f "#ifdef __MACH__"
+ puts $f " asm volatile (\"vor v0,v0,v0\");"
+ puts $f "#else"
+ puts $f " asm volatile (\"vor 0,0,0\");"
+ puts $f "#endif"
+ puts $f " return 0; }"
+ close $f
+
+ verbose "skip_altivec_testing compiling testfile $src" 0
+ set lines [gdb_compile $src $exe executable {debug additional_flags=-maltivec}]
+ file delete $src
+
+ if ![string match "" $lines] then {
+ verbose "check_vmx_hw_availalble testfile compilation failed" 2
+ return [set skip_vmx_tests_saved 1]
+ }
+
+ # No error message, compilation succeeded so now run it.
+
+ set exec_result [remote_exec target "./$exe"]
+ remote_file build delete "$exe"
+
+ return [set skip_vmx_tests_saved [lindex $exec_result 0]]
+}
+
# Skip all the tests in the file if you are not on an hppa running
# hpux target.
next prev parent reply other threads:[~2005-03-02 18:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-01 23:23 Paul Gilliam
2005-03-01 23:28 ` Daniel Jacobowitz
2005-03-02 0:36 ` Paul Gilliam
2005-03-02 1:56 ` Daniel Jacobowitz
2005-03-02 18:14 ` Paul Gilliam [this message]
2005-03-02 21:50 ` Paul Gilliam
2005-03-03 17:27 ` Daniel Jacobowitz
2005-03-10 0:43 ` Paul Gilliam
2005-03-28 23:45 ` Paul Gilliam
2005-03-29 20:43 ` Daniel Jacobowitz
2005-04-30 19:47 ` Daniel Jacobowitz
2005-05-03 0:48 ` [commit] " Paul Gilliam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200503021010.17990.pgilliam@us.ibm.com \
--to=pgilliam@us.ibm.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox