[PATCH] sim: tests: support .S files

Mike Frysinger vapier@gentoo.org
Sun Mar 14 22:02:00 GMT 2010


From: Jie Zhang <jie@codesourcery.com>

Rather than requiring all sim tests to be preprocessed .s files, add
support for .S files so we can easily write code using normal CPP
defines/macros.

Signed-off-by: Jie Zhang <jie@codesourcery.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
2010-03-14  Jie Zhang  <jie@codesourcery.com>

	* lib/sim-defs.exp (run_sim_test): Run source file through preprocessor
	when it matches "*.S".

 sim/testsuite/lib/sim-defs.exp |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/sim/testsuite/lib/sim-defs.exp b/sim/testsuite/lib/sim-defs.exp
index 3cef394..9314f2f 100644
--- a/sim/testsuite/lib/sim-defs.exp
+++ b/sim/testsuite/lib/sim-defs.exp
@@ -301,7 +301,18 @@ proc run_sim_test { name requested_machs } {
 	if [info exists cpu_option] {
 	    set as_options "$as_options $cpu_option=$mach"
 	}
-	set comp_output [target_assemble $sourcefile ${name}.o "$as_options $global_as_options"]
+	if [string match "*.S" $sourcefile] {
+	    set comp_output [target_compile $sourcefile ${name}.s "preprocess" "incdir=$srcdir/$subdir"]
+	    if ![string match "" $comp_output] {
+		verbose -log "$comp_output" 3
+		fail "$mach $testname (preprocessing)"
+		continue
+	    }
+	    set comp_output [target_assemble ${name}.s ${name}.o "$as_options $global_as_options"]
+	    file delete ${name}.s
+	} else {
+	    set comp_output [target_assemble $sourcefile ${name}.o "$as_options $global_as_options"]
+	}
 
 	if ![string match "" $comp_output] {
 	    verbose -log "$comp_output" 3
-- 
1.7.0



More information about the Gdb-patches mailing list