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: Crosstool / SH / Linux 2.6.6


Trevor Scroggins wrote:
collect2: ld terminated with signal 11 [Segmentation fault], core dumped
scripts/kconfig/libkconfig.so(.text+0x0):crtstuff.c: multiple definition
of `___do_sjlj_init'
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtbegin.o(.text+0x0):crtstuff.c:
first defined here
make[1]: *** [scripts/kconfig/conf] Error 1
make: *** [oldconfig] Error 2

That's interesting. ld should not be crashing like that.


It's failing on this command:

/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-pc-cygwin/bin/ld -Bdynamic --dll-search-prefix=cyg -o scripts/kconfig/conf.exe
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../crt0.o
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtbegin.o -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1 -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../..scripts/kconfig/conf.o
scripts/kconfig/libkconfig.so -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtend.o


I don't think Cygwin likes this syntax:

ld ... module.o shared.so ...

A bit of tweaking on my end . . .

gcc -shared -o /bin/cygkconfig.dll scripts/kconfig/zconf.tab.o

 . . produces a valid shared library. (Actually, a symlink to libkconfig.so
probably would have worked as well.)

Now this works (notice the replacement of 'scripts/kconfig/libkconfig.so'
with '-lkconfig'):

/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-pc-cygwin/bin/ld -Bdynamic --dll-search-prefix=cyg -o scripts/kconfig/conf.exe
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../crt0.o
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtbegin.o -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1 -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../..scripts/kconfig/conf.o -lkconfig -lgcc -lcygwin -luser32 -lkernel32 -ladvapi
32 -lshell32 -lgcc /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtend.o

Very interesting. Please report this to the cygwin mailing list and/or the binutils mailing list. Extra karma points if you can reproduce it with a tiny synthetic example instead of the gcc build process.


Now I have a 'scripts/kconfig/conf.exe' that segfaults after it can't find Kconfig . . . and make is still looking for scripts/kconfig/conf. Anyhow, I've encountered this problem on various systems with various versions of cygwin1.dll and the Cygwin releases of binutils and gcc.

Hmm. Can you debug that a bit? Maybe there a simple tweak you could make to the conf sources that would make it happier under Cygwin?

I'll fire up Linux tomorrow (via coLinux--what a schnazzy piece of
software!) and just take a look at the LinuxSH patches to 2.6.6, but my goal
is to have a Cygwin hosted cross-compiler, not a Linux hosted
cross-compiler. :-/

Yeah. Good luck! - Dan

--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change

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