sentry was Re: cdtest example using cout on psim problem

Joel Sherrill joel.sherrill at OARcorp.com
Thu Apr 15 23:46:23 UTC 2004


I traced this down to something called a "sentry".  Does
anyone have any idea exactly where this is buried in
the libstdc++ source and how it is supposed to work?
I think it is in a template but I don't seem to be
able to cipher it out.

Is this one of the cases where you have to have
somethink from gxx_wrappers might be needed and
something isn't configured?  It isn't breaking
at any of my guesses where it might need something.

I also tried increasing the stack size might help
but it doesn't.

DOes this work on any PowerPC board or any other
target?

--joel

JP Bonn wrote:

> I'm trying to run the cdtest example on psim.  It works fine and gives
> the expected results but if I set RTEMS_TEST_IO_STREAM and try using
> cout it fails.  Is there additional configuration I have to do to get
> stdio stuff to work?
> 
> 
> [jpbonns-Computer:samples/cdtest/o-optimize] jp% ./psim-gdb ./cdtest.exe
> GNU gdb 5.2
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "--host=powerpc-apple-darwin7.3.0
> --target=powerpc-rtems"...
> Connected to the simulator.
> Breakpoint 1 at 0x11ccc: file
> ../../../../../../rtems-4.6.0/cpukit/score/src/interr.c, line 51.
> Breakpoint 2 at 0x11970: file
> ../../../../../../rtems-4.6.0/cpukit/sapi/src/fatal.c, line 34.
> Breakpoint 3 at 0x23d6c: file
> ../../../../../../../gcc-3.2.3/newlib/libc/stdlib/assert.c, line 57.
> (gdb) run
> Starting program:
> /Users/jp/Documents/build46/rtems/build/powerpc-rtems/c/psim/tests/samples/cdtest/o-optimize/cdtest.exe
> 
> 
> 
> *** CONSTRUCTOR/DESTRUCTOR TEST ***
> LOCAL: Hey I'm in base class constructor number 1 for 0x7e94e0.
> LOCAL: Hey I'm in base class constructor number 2 for 0x7e94f0.
> LOCAL: Hey I'm in base class constructor number 3 for 0x7e9500.
> LOCAL: Hey I'm in base class constructor number 4 for 0x7e9510.
> LOCAL: Hey I'm in derived class constructor number 5 for 0x7e9510.
> core_find_mapping() - access to unmaped address, attach a default map to
> handle this - addr=0xfffffff4 nr_bytes=0x4 processor=0x1c2d000 cia=0x4604c
> 
> (gdb) bt
> #0  sentry (this=0x7e94a0, __os=@0x63ec4)
>     at
> /Users/jp/Documents/build46/tools/build/powerpc-rtems/m603e/roe/libstdc++-v3/include/bits/basic_ios.h:99
> #1  0x00046370 in std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char,
> std::char_traits<char> >&, char const*) (__out=@0x63ec4, 
>     __s=0x525a8 "Testing a C++ I/O stream")
>     at
> /Users/jp/Documents/build46/tools/build/powerpc-rtems/m603e/roe/libstdc++-v3/include/bits/ostream.tcc:624
> #2  0x00000580 in cdtest ()
>     at
> ../../../../../../../rtems-4.6.0/c/src/tests/samples/cdtest/main.cc:149
> #3  0x000008b4 in main_task ()
>     at
> ../../../../../../../rtems-4.6.0/c/src/tests/samples/cdtest/main.cc:183
> #4  0x00023d0c in _Thread_Handler ()
>     at ../../../../../../rtems-4.6.0/cpukit/score/src/threadhandler.c:123
> #5  0x00023bf4 in _Thread_Handler ()
>     at ../../../../../../rtems-4.6.0/cpukit/score/src/objectgetbyindex.c:72
> (gdb) frame 0
> (gdb) info registers
> r0             0x46370  287600
> r1             0x7e9498 8295576
> r2             0x0      0
> r3             0x7e94a0 8295584
> r4             0x63ec4  409284
> r5             0x50000  327680
> r6             0x1      1
> r7             0x7e9348 8295240
> r8             0x1      1
> r9             0x7ddd25 8248613
> r10            0x1      1
> r11            0x0      0
> r12            0x7fffffff       2147483647
> r13            0x0      0
> r14            0x0      0
> r15            0x0      0
> r16            0x0      0
> r17            0x0      0
> r18            0x0      0
> r19            0x0      0
> r20            0x0      0
> r21            0x0      0
> r22            0x0      0
> r23            0x7e9500 8295680
> r24            0x7e94f0 8295664
> r25            0x7e9510 8295696
> r26            0x7e94e0 8295648
> r27            0x57478  357496
> r28            0x525a0  337312
> r29            0x525a8  337320
> r30            0x63ec4  409284
> r31            0x7e9498 8295576
> pc             0x4604c  286796
> ps             0xb042   45122
> cr             0x28000042       671088706
> lr             0x46370  287600
> ctr            0x0      0
> xer            0x20000000       536870912
> (gdb) disas 0x4604c
> Dump of assembler code for function sentry:
> 0x46040 <sentry>:       lwz     r11,0(r4)
> 0x46044 <sentry+4>:     mflr    r0
> 0x46048 <sentry+8>:     stw     r4,4(r3)
> 0x4604c <sentry+12>:    lwz     r9,-12(r11)
> 0x46050 <sentry+16>:    stwu    r1,-32(r1)
> ...
> (gdb) p/x $4
> $10 = 0x63ec4
> (gdb) p/x *$4
> $11 = 0x0
> (gdb) 
> 
> 
> 
> 
> [jpbonns-Computer:tests/samples/cdtest] jp% make
> mkdir o-optimize
> powerpc-rtems-gcc --pipe -B../../../../../lib/
> -B../../../../../psim/lib/ -specs bsp_specs -qrtems
> -DPACKAGE_NAME=\"rtems-c-src-tests-samples\"
> -DPACKAGE_TARNAME=\"rtems-c-src-tests-samples\"
> -DPACKAGE_VERSION=\"4.6.0\"
> -DPACKAGE_STRING=\"rtems-c-src-tests-samples\ 4.6.0\"
> -DPACKAGE_BUGREPORT=\"rtems-bugs at rtems.com\"    -isystem
> ../../../../../psim/lib/include     -mcpu=603e -D_OLD_EXCEPTIONS
> -Dppc603e  -O4 -fno-keep-inline-functions -g -Wall -ansi -fasm  -o
> o-optimize/init.o -c
> ../../../../../../../rtems-4.6.0/c/src/tests/samples/cdtest/init.c
> powerpc-rtems-g++ -B../../../../../lib/ -B../../../../../psim/lib/
> -specs bsp_specs -qrtems -DPACKAGE_NAME=\"rtems-c-src-tests-samples\"
> -DPACKAGE_TARNAME=\"rtems-c-src-tests-samples\"
> -DPACKAGE_VERSION=\"4.6.0\"
> -DPACKAGE_STRING=\"rtems-c-src-tests-samples\ 4.6.0\"
> -DPACKAGE_BUGREPORT=\"rtems-bugs at rtems.com\"    -isystem
> ../../../../../psim/lib/include     -mcpu=603e -D_OLD_EXCEPTIONS
> -Dppc603e  -O4 -fno-keep-inline-functions -g -Wall -ansi -fasm  -o
> o-optimize/main.o -c
> ../../../../../../../rtems-4.6.0/c/src/tests/samples/cdtest/main.cc
> powerpc-rtems-g++ -B../../../../../lib/ -B../../../../../psim/lib/
> -specs bsp_specs -qrtems  -mcpu=603e -D_OLD_EXCEPTIONS -Dppc603e  -O4
> -fno-keep-inline-functions -g -Wall -ansi -fasm    -o
> o-optimize/cdtest.exe  o-optimize/init.o o-optimize/main.o  
> /usr/bin/install -c o-optimize/cdtest.exe
> ../../../../../psim/tests/cdtest.exe
> /usr/bin/install -c o-optimize/cdtest.exe
> ../../../../../psim/samples/cdtest.exe
> [jpbonns-Computer:tests/samples/cdtest] jp%
> 
> -------------------------------
> The best kept secret in e-mail.
> http://eioMAIL.com





More information about the users mailing list