This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Regression for implptr.exp and pieces.exp [Re: [COMMIT PATCH] value_bits_valid: Fix latent bug.]


On 09/07/2013 10:54 AM, Jan Kratochvil wrote:
> On Mon, 08 Jul 2013 12:22:17 +0200, Andrew Burgess wrote:
>> On 05/07/2013 7:21 PM, Pedro Alves wrote:
>>> On 07/05/2013 04:20 PM, Andrew Burgess wrote:
>>>
>>>> 2013-07-05  Andrew Burgess  <aburgess@broadcom.com>
>>>>
>>>> 	* value.c (value_bits_valid): If the value is not lval_computed
>>>> 	or has no check validity handler then the answer is the
>>>> 	optimized_out flag, otherwise defer to the handler.
>>>
>>> OK.
>>
>> Committed.
> 
> On any platform I test for 32-bit targets (either on i386 native host or on
> x86_64 host with -m32 target cflags) I get:
> 
> 9f5e30f7cf73a3256fbb9a265c897aa3f2c91439 is the first bad commit
> commit 9f5e30f7cf73a3256fbb9a265c897aa3f2c91439
> Author: aburgess <aburgess>
> Date:   Mon Jul 8 10:21:33 2013 +0000
> 
>     Fix bug in value_bits_valid.
>     
>     http://sourceware.org/ml/gdb-patches/2013-07/msg00174.html
>     
>     	* value.c (value_bits_valid): If the value is not lval_computed
>     	or has no check validity handler then the answer is the
>     	optimized_out flag, otherwise defer to the handler.
> 
>  Running gdb/testsuite/gdb.dwarf2/implptr.exp ...
> -PASS: gdb.dwarf2/implptr.exp: print j in implptr:bar
> +FAIL: gdb.dwarf2/implptr.exp: print j in implptr:bar
> -PASS: gdb.dwarf2/implptr.exp: print p[0].x in implptr:foo
> +FAIL: gdb.dwarf2/implptr.exp: print p[0].x in implptr:foo
> 
>  Running gdb/testsuite/gdb.dwarf2/pieces.exp ...
> -PASS: gdb.dwarf2/pieces.exp: print a.i in pieces:f3
> -PASS: gdb.dwarf2/pieces.exp: print a.j in pieces:f3
> -PASS: gdb.dwarf2/pieces.exp: set a.i in pieces:f3
> -PASS: gdb.dwarf2/pieces.exp: print new a.i in pieces:f3
> +FAIL: gdb.dwarf2/pieces.exp: print a.i in pieces:f3
> +FAIL: gdb.dwarf2/pieces.exp: print a.j in pieces:f3
> +FAIL: gdb.dwarf2/pieces.exp: set a.i in pieces:f3
> +FAIL: gdb.dwarf2/pieces.exp: print new a.i in pieces:f3
> 

I've committed a patch to revert all the changes done by Pedro and
myself to value_bits_valid, this is what Pedro was going to do anyway here:
  http://sourceware.org/ml/gdb-patches/2013-07/msg00200.html
before I jumped in.

Looking again at this function I don't believe either the original (now
current again) version, or any of the versions we've tried are actually
correct, but fixing this properly is going to be slightly more involved,
and I don't have time to put the patch together today.

Sorry for the inconvenience.

Andrew.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]