John,
Thanks so much for the input. I finally tracked down the culprit using
the verbose output from mb-strip. 3 of the object files going into the
library were x86 objects due to a problem with one of the Makefiles.
Now that that is fixed, everything looks great.
Rod
-----Original Message-----
From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John
Williams
Sent: Sunday, August 19, 2007 5:13 PM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux] ld segfault
Hi Rod,
Rod Green wrote:
> All,
> > I am getting a segfault when I try to link an application.
That's odd - someone else reported one of those recently as well.
Does anyone
> have any pointers on how to pursue this? I'm pretty much out of ideas.
> The program is c++ that was developed under Linux and Win32, and it
> links against a few other libraries that were developed similarly. I
> can link other code against those libs without any trouble, but so far I
> haven't been able to come up with a minimal test case that triggers the
> segfault. Below is the specific error I'm getting:
Are all of the libs and object code you are linking, compiled on the
same (Linux) host platform?
> /home/rgreen/petalinux-v0.20-rc3/tools/linux-i386/microblaze-u
clinux-too
> ls/bin/../lib/gcc/microblaze-uclinux/3.4.1/../../../../microbl
aze-uclinu
> x/bin/ld.real: bfd assertion fail
This BDF message is curious - I've never seen it before.
> /home/jwilliams/PetaLogix/petalinux-test/toolchains/microblaze
-uclinux/s
> rcs/binutils/bfd/elflink.h:5205
> /home/rgreen/petalinux-v0.20-rc3/tools/linux-i386/microblaze-u
clinux-too
> ls/bin/../lib/gcc/microblaze-uclinux/3.4.1/../../../../microbl
aze-uclinu
> x/bin/ld: line 168: 27073 Segmentation fault $LINKER $EMUL -r -d -o
> "$OFILE.elf2flt" $ARG1
> collect2: ld returned 139 exit statusthe -f parameter to follow forks
> > I am using the tools from petalinux-v0.20-rc3.tar.gz. Any help would be
> appreciated.
Can you cut and paste the complete command line that causes the
segfault? If so, enter it on the commandline, make sure it triggers
the error, then maybe try running strace on it:
$ strace commandline
you might need the -f parameter to straec, to follow forked children.
Of course a test case would be helpful but I understand this might
be hard with proprietary code. Even the process of trying to strip
down the offending app / library can be informative - if the error
suddenly goes away, what changed?
Regards,
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/