This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: Undefined symbol problem


Ichiro Barnes wrote:
I am using crosstool 0.10 to build a linux/arm linux
cross compilation environment, but my dynamically
linked executables fail to run on the target due to
undefined symbols such as 'register_frame_info'.

I understand that the cause of this is that the glibc
I built is inserting references to c++ exception
handling routines in my c code, but that the glibc
running on my target wasn't built with those symbols
defined.

Now for what is no doubt a blazingly newbie question:
how can I build a glibc that doesn't insert those
references? What am I doing wrong? Adding a -f
no-exceptions doesn't seem to cure the problem.

I am using gcc 3.2.3 and glibc 2.2.5.

Hmm. A bit of Google searching suggests that libc.so ought to be providing those symbols. (Is an option or a patch missing in crosstool?) See: http://www.gnu.org/software/libc/FAQ.html#s-2.8 http://www.informatik.uni-oldenburg.de/~joey/Linux/Tips+Tricks/register-frame.html

This sounds not unlikely given that you're taking executables built with
the crosstool-0.10 toolchain, and running them against
shared libraries that are part of or were built by another toolchain.
Maybe that other toolchain used some other exception handling scheme.
I have a funny feeling the --enable-sjlj-exceptions configure option
for gcc has something to do with this.

Try comparing the output of
 objdump -T libc.so.6 | grep __register_frame
on the libc.so from the two toolchains, I betcha it's different.

Anyway, I don't know enough to really solve your problem;
you may need to ask the libc-alpha mailing list
( see http://sources.redhat.com/ml/libc-alpha/ )
They wrestle with stuff like this all the time.

And let me know what you find out...
- Dan

--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


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