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]

gcc-uclibc followup patch (was Re: crosstools-patches)


> > Here's how far we get - there's obviously something broken with the 
> > unwind-dw2-fde-glib stuff:
> > 
> > ...
> > mipsel-unknown-linux-uclibc-hello-static
> > + 
> > /opt/crosstool/mipsel-unknown-linux-uclibc/gcc-3.3.2-uClibc-0.9.23/bin/mipsel-unknown-linux-uclibc-gcc 
> > hello.c -o mipsel-unknown-linux-uclibc-hello
> > + cat
> > + 
> > /opt/crosstool/mipsel-unknown-linux-uclibc/gcc-3.3.2-uClibc-0.9.23/bin/mipsel-unknown-linux-uclibc-g++ 
> > -static hello2.cc -o mipsel-unknown-linux-uclibc-hello2-static
> > /opt/crosstool/mipsel-unknown-linux-uclibc/gcc-3.3.2-uClibc-0.9.23/lib/gcc-lib/mipsel-unknown-linux-uclibc/3.3.2/libgcc_eh.a(unwind-dw2-fde-glibc.o)(.text+0x23a0): 
> > In function `_Unwind_Find_FDE':
> > /home/charlieb/rpms/BUILD/crosstool-0.25/build/mipsel-unknown-linux-uclibc/gcc-3.3.2-uClibc-0.9.23/gcc-3.3.2/gcc/unwind-dw2-fde-glibc.c:283: 
> > undefined reference to `dl_iterate_phdr'
> > collect2: ld returned 1 exit status
> 
> Hrm, yeah, I just recreated that same error message.  Looks like somehow
> gcc didn't get the message to use generic stack frame unwinding when
> handling C++ exceptions rather than the glibc-specific variety.  I'll
> look into that.....

Found the problem.  It appears I left the arm, cris, mips, and sh
architectures out of the first gcc-uclibc compatibility patch.  I think
the first time around, I went through gcc/config.gcc searching for
linux-gnu, and those four architectures call out only linux* for an OS
spec.  So your compiler was indeed built with glibc-specific stack frame
unwinding and without the uClibc dynamic linker called out in the specs
file.  The attached patch(es) should fix this.  They include the missing
uClibc stuff for arm, cris, mips, and sh.

Use the -update01 patch if you already applied my previous gcc-uclibc
patch.  It contains only the arm, cris, mips, sh stuff that was missing
from the first one.

Use the -full01 patch if you've got a fresh gcc-3.3.2 tree, or if you
want to archive "the proper patch" (realizing the definition of that term
is subject to change in the future).  It is the union of my previous
gcc-uclibc patch and the -update01 patch.


                             -----Carl

Attachment: gcc-uclibc-update01.patch
Description: Text document

Attachment: gcc-uclibc-full01.patch.gz
Description: Binary data

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