This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos 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: _impure_ptr ??


Gary,

Just a small update on the situation.

If i provide my own definition 

extern "C" void
__cxa_pure_virtual(void) {}

and make sure the linker finds this one _before_ the stuff in libsupc++,
everything links ok. I am now going to debug the application and see if
everything still works as it should.

If this is all that needs to be done, that's fine with me. I suppose
more advanced recovery than the default message to stderr (apparently
that's what they do in newlib) could be necessary anyway.

Some further investigation showed that this __impure_ptr comes from
newlib for sure. Apparently, a 'write' function from newlib instead of
ecos libc gets called by __cxa_pure_virtual, which makes me cautious
about the compiler I build. Any idea how I can verify that my tools got
indeed build correctly ?

Bob

__

On Sat, 2003-03-22 at 14:01, Bob Koninckx wrote:
> On Sat, 2003-03-22 at 13:48, Gary D. Thomas wrote:
> > On Sat, 2003-03-22 at 05:33, Bob Koninckx wrote:
> > > Upgraded to the 2.0 Beta. Got everything to compile, the eCos library
> > > builds just fine. When linking my application however (powerpc-eabi
> > > target, linux host), I get the following errors
> > > 
> > > powerpc-eabi-gcc
> > > -L/home/bob/software/build/eCos/ec555/vbcom/library/ecos/install/lib
> > > -Wl,-static -Wl,--gc-sections -nostartfiles -nostdlib -Xlinker -Map
> > > -Xlinker vbcom.map -o bin/vbcom.elf .obj/vbcom.o library/vbcom.a
> > > library/vbcom_extras.o
> > > /home/bob/software/build/eCos/ec555/vbcom/library/sigc++/install/lib/libsigc++.a -lsupc++ -Ttarget.ld
> > > /usr/local/crossgcc/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.2.1/../../../../powerpc-eabi/lib/libsupc++.a(pure.o): In function `__cxa_pure_virtual':
> > > /home/bob/tmp/src/build_gcc/powerpc-eabi/libstdc++-v3/libsupc++/../../../../gcc-3.2.1/libstdc++-v3/libsupc++/pure.cc:49: undefined reference to `_impure_ptr'
> > > /home/bob/tmp/src/build_gcc/powerpc-eabi/libstdc++-v3/libsupc++/../../../../gcc-3.2.1/libstdc++-v3/libsupc++/pure.cc:49: undefined reference to `_impure_ptr'
> > > collect2: ld returned 1 exit status
> > > make: *** [bin/vbcom.elf] Error 1
> > > 
> > > Anybody any idea ?
> > > Could it be that something went wrong building the tools ?
> > 
> > Does this happen for all programs, or just some?
> > Can you build the standard eCos tests?
> 
> Hi Gary,
> 
> Nope, linking tests fails, but here the error is that it does not find
> operators new and delete. Has also to do with libsupc++, for sure. I am
> trying to find out where the makefiles must be modified in order to get
> libsupc++ added to the list of libraries
> 
> > Were you able to build this program before?
> 
> Yep, but that was with 2.95.2 ...
> 
> > 
> > My guess is that you have a program that is using something
> > from libsupc++ that hasn't been tested/implemented.
> 
> Looking further into it
> 
> > 
> > -- 
> > .--------------------------------------------------------.
> > |       Mind: Embedded Linux and eCos Development        |
> > |--------------------------------------------------------|
> > | Gary Thomas              email:  gary dot thomas at mind dot be   |
> > | Mind ( http://mind.be )  tel:    +1 (970) 229-1963     |
> > | gpg: http://www.chez-thomas.org/gary/gpg_key.asc       |
> > '--------------------------------------------------------'
> -- 
> ----------------------------------------------------------------------
> ir. Bob Koninckx
> Katholieke Universiteit Leuven
> Division Production Engineering,                   tel.  +32 16 322535
> Machine Design and Automation                      fax.  +32 16 322987
> Celestijnenlaan 300B                  bob dot koninckx at mech dot kuleuven dot ac dot be
> B-3001 Leuven Belgium               http://www.mech.kuleuven.ac.be/pma
> ----------------------------------------------------------------------
-- 
----------------------------------------------------------------------
ir. Bob Koninckx
Katholieke Universiteit Leuven
Division Production Engineering,                   tel.  +32 16 322535
Machine Design and Automation                      fax.  +32 16 322987
Celestijnenlaan 300B                  bob dot koninckx at mech dot kuleuven dot ac dot be
B-3001 Leuven Belgium               http://www.mech.kuleuven.ac.be/pma
----------------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


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