sentry was Re: cdtest example using cout on psim problem

JP Bonn rtemsmail at jpbonn.eioMAIL.com
Sat Apr 17 00:27:26 UTC 2004


I didn't look at cdtest carefully enough. It looks like global
constructors and exceptions are not working.  Which is probably why cout
isn't initialized.

Is there something I missed in the configuration?  I built with:

 $ ../rtems-4.6.0/configure --target=powerpc-rtems --enable-posix
--enable-itron --disable-tcpip --enable-cxx --enable-tests
--prefix=/opt/test --enable-rtemsbsp=psim --host=powerpc-apple-macosx
--build=powerpc-apple-macosx

> 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
>
>


-------------------------------
The best kept secret in e-mail.
http://eioMAIL.com



More information about the users mailing list