[PATCH] Guard compile tests from running when unsupported + harden feature support check

Luis Machado lgustavo@codesourcery.com
Wed Aug 19 13:34:00 GMT 2015


On 08/19/2015 10:15 AM, Pedro Alves wrote:
> On 08/19/2015 01:53 PM, Luis Machado wrote:
>
>> +    if {[skip_compile_feature_tests]} {
>> +	untested "compile command not supported (could not find libcc1 shared library?)"
>> +	return -1
>> +    }
>> +
>>       # gnu_ifunc (10): error: too many arguments to function 'gnu_ifunc'
>>       gdb_test_no_output "compile code resultvar = gnu_ifunc_alias (10);"
>>
>
> This one's OK.
>
>> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
>> index 56cde7a..fcf9cac 100644
>> --- a/gdb/testsuite/lib/gdb.exp
>> +++ b/gdb/testsuite/lib/gdb.exp
>> @@ -3005,6 +3005,9 @@ proc skip_compile_feature_tests {} {
>>   	-re "Command not supported on this host\\..*\r\n$gdb_prompt $" {
>>   	    set result 1
>>   	}
>> +	-re "No compiler support for this language\\.\r\n$gdb_prompt $" {
>> +	    set result 1
>> +	}
>
> This one I'm not so sure.
>
> I'd suspect that that could happen when e.g., gdb connects to gdbserver and
> finds the program stopped at the entry point, and then the current language
> ends up set to asm instead of C.  But then that would be a test bug and it
> would be wrong to skip further testing.
>

No stopping at the entry point, we run to main.

> But please don't make us guess; please expand on when do you see this.

It is related to how the binaries are built, without debug info. That's 
how GDB reacts to these GCC 5.2-produced binaries.

compile-ifunc.exp:

#0  0x100007b0 in main ()
(gdb) show language
show language
The current source language is "auto; currently asm".

compile-ops.exp:

Breakpoint 1, 0x10000724 in func (param=268503652, 
optimized_out=<optimized out>)^M
(gdb) compile code -- ;^M
No compiler support for this language.^M

show language
The current source language is "auto; currently asm".

Enabling debug info i see the standard error about missing libcc1, which 
may be an alternate fix, though checking for unsupported languages does 
sound useful to me.



More information about the Gdb-patches mailing list