This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] sim: tests: support .S/.c files
> 2011-03-14 Mike Frysinger <vapier@gentoo.org>
>
> * sim-defs.exp: Support cc tag in test files.
> (run_sim_test): Support global_cc_options in boards files. Convert
> assembler options into compiler options (c_as_options) with -Wa.
> Convert linker options into compiler options (c_ld_options) with -Wl.
> Compile .c and .S files into .x programs.
Sorry for the delay in reviewing.
> - set comp_output [target_assemble $sourcefile ${name}.o "$as_options $global_as_options"]
> -
> - if ![string match "" $comp_output] {
> - verbose -log "$comp_output" 3
> - fail "$mach $testname (assembling)"
> - continue
> - }
> + regsub {(^ *| +)([^ ]+)} "$as_options $global_as_options" { -Wa,\2} c_as_options
>
> if ![info exists opts(ld,$mach)] {
> set opts(ld,$mach) $opts(ld)
> }
> + regsub {(^ *| +)([^ ]+)} "$opts(ld,$mach) $global_ld_options" { -Wl,\2} c_ld_options
> +
> + if ![info exists opts(cc,$mach)] {
> + set opts(cc,$mach) $opts(cc)
> + }
> +
> + if [string match "*.c" $sourcefile] {
> + set comp_output [target_compile $sourcefile ${name}.x "executable" \
> + [list "incdir=$srcdir/$subdir" "additional_flags=$c_as_options $c_ld_options $opts(cc,$mach) $global_cc_options"]]
> + set method "compiling/linking"
> + } else {
> + if [string match "*.S" $sourcefile] {
> + set comp_output [target_compile $sourcefile ${name}.o "object" \
> + [list "incdir=$srcdir/$subdir" "additional_flags=$c_as_options"]]
> + set method "compiling"
> + } else {
> + set comp_output [target_assemble $sourcefile ${name}.o "$as_options $global_as_options"]
> + set method "assembling"
> + }
> +
> + if ![string match "" $comp_output] {
> + verbose -log "$comp_output" 3
> + fail "$mach $testname (${method})"
> + continue
> + }
It looks like you are not checking the output from the compilation
of .c files, while you kept that check for all other files. Is that
intentional?
--
Joel