Problems compiling on NetBSD/m68k
Kiyo Inaba
inaba at src.ricoh.co.jp
Thu Mar 4 04:32:21 PST 1999
I may find why (my) cross compilation environment was broken,
when libtools is introduced.
I wrote:
>With '--with-staticlib --with-staticvm --with-engine=jit --with-threads=unix-jthreads --without-x'
>for 99/2/28 snap, I get
> .libs/KaffeS.o(.text+0x1de8): undefined reference to `_GLOBAL_OFFSET_TABLE_'
> ../kaffevm/.libs/libkaffevm.a(ltdl.lo): In function `dl_open':
> /proj/lab4/inaba/src/kaffe-snap-nb3-sjj/libltdl/../../kaffe-snap/libltdl/ltdl.c:255: undefined reference to `_GLOBAL_OFFSET_TABLE_'
Ok, I dig into this problem...
_GLOBAL_OFFSET_TABLE_ are defined when I use -fPIC for gcc. With the
configuration above, two files shown below have references to this
symbol.
libltdl/.libs/ltdl.lo
kaffe/kaffe/.libs/KaffeS.o
So, where this symbol is defined?
lib/libc.a <= NO.
lib/libc.so.12.20 <= YES
Well, -fPIC needs shared libc...
# BTW, I did not copy libc.so* or ld.so to the cross environment.
Next try. If I specify '--disable-shared', what happens?
This time, 'ltdl.lo' is not generated. Only 'ltdl.o' (without -fPIC
flag) is generated. But still, 'KaffeS.o' is compiled with -fPIC
flag, sigh...
Then, if I compile KaffeS.c without -fPIC.
Voila! I get Kaffe without any 'undefined reference'! I am now
testing this cross-compiled-statically-linked version of Kaffe,
and at least first 7 tests has passed.
Proposal:
Prepare KaffeS.lo (with -fPIC) or KaffeS.o (without
-fPIC) corresponding to the configuration options
--{enable|disable}-{shared|static}.
Kiyo
More information about the kaffe
mailing list