[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [rtems-users] C++ Virtual Functions
- Date: Wed, 02 Feb 2005 08:03:09 +1100
- From: Chris Johns <chrisj at rtems dot org>
- Subject: Re: [rtems-users] C++ Virtual Functions
Smith, Gene wrote:
I am having some problems running code containing C++ virtual functions in
rtems. When the code tries to branch to a virtual function address using
"bctrl" instruction, the address (in ctr) is way out of range and results in
a machine check exception.
Is there anything I need to do special in rtems for virtual functions to
work? Is anyone using virtual functions, pure or impure, in rtems? I am
still using rtems 4.6.1 and my ppc40x-derived bsp.
Yes all the time.
A simple check of your application's ELF image is to:
$ powerpc-rtems-nm --demangle myapp.elf | grep vtable
(I assume the tools are powerpc-rtems-*)
You should be able to find the address of the table in question and be
able to make sure it is ok when the application is loaded.
Each object gets a pointer to its vtable so an overwrite of an object
can result in the vtable pointer becoming corrupt.