This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: "optimized out" on gdb.base/gdb1090.exp
- From: Yao Qi <yao at codesourcery dot com>
- To: gdb at sourceware dot org
- Date: Tue, 12 Apr 2011 10:20:49 +0800
- Subject: Re: "optimized out" on gdb.base/gdb1090.exp
- References: <4DA3A7D0.2000701@linux.vnet.ibm.com>
On 04/12/2011 09:16 AM, Edjunior Barbosa Machado wrote:
> Hi,
>
> running the testcase gdb.base/gdb1090.exp on ppc64 using gcc 4.3.4,
> noticed an unexpected error in the second test:
>
> #1 0x00000000100005dc in foo () at
> ../../../gdb.git/gdb/testsuite/gdb.base/gdb1090.c:39^M
> 39 marker (s24);^M
> (gdb) PASS: gdb.base/gdb1090.exp: up from marker
> print s24^M
> $1 = <optimized out>^M
> (gdb) FAIL: gdb.base/gdb1090.exp: print s24
>
> According to readelf output, s24 uses r9, which is a volatile register.
> However, the content is properly printed when using gcc 4.4.5 (var s24
> goes to r30, which is not volatile on power)
>
> Just wondering, can we consider this last test as untested (or even
> pass) when print returns "optimized out", since it does not print
> garbage (which was the original issue from gdb/1090)?
>
If we set breakpoint directly on a certain line of main(), and check the
value of `s24' in main(). Can we get the value of `s24'? If we can, we
may modify test case a little bit, instead of marking this case as
untested (or even pass).
--
Yao (éå)