Dependencies when using gcc-generated object files in another compiler
David Daney
ddaney@avtrex.com
Fri Dec 15 17:56:00 GMT 2006
Looks like the greenhills compilers don't use the same ABI and GCC.
Interpoperation at the C++ and Java level would be quite difficult. You
don't say what the OS is, but the java runtime (libgcj) would need
porting as well. It relies heavily on the OS for thread support, signal
handling, locks...
Your best bet might be to use gcc for everything if possible.
FWIW, we are using GCC to run java programs on embedded mips (on Linux)
with great success.
David Daney
Lehner, Michael wrote:
> Hi,
>> I am working on including java-code into an self-written operating system. The used tool chain is a Greenhills one, but it is not able to translate java to native code. For this reason I am using gcj to translate my java code to native mips code and then link with Greenhills the whole project. But the linker complains, as expected, about unresolved symbols, even when I include all the archives from the libs dir of my cross compiler. The Problem is I have no idea, where I could search for the rest of the objects I need. Perhaps someone could tell me if gcc searches somewhere else too for libs when cross compiling.
>> Errors by Greenhills:
>> [elxr] (error) unresolved symbols: 61
> __gcj_personality_v0 from Main.o
> _gp_disp from Main.o
> _Unwind_Resume from gnulib.a(Class.o)
> _Jv_Throw from gnulib.a(Class.o)
> __fixdfdi from gnulib.a(lt15-lang.o)
> __fixsfdi from gnulib.a(lt15-lang.o)
> __floatdisf from gnulib.a(lt15-lang.o)
> __floatdidf from gnulib.a(lt15-lang.o)
> __moddi3 from gnulib.a(lt15-lang.o)
> __divdi3 from gnulib.a(lt15-lang.o)
> _ZN4java4util5regex7Pattern7compileEPNS_4lang6StringE from gnulib.a(lt15-lang.o)
> _ZN4java4util5regex7Pattern5splitEPNS_4lang12CharSequenceEi from gnulib.a(lt15-lang.o)
> _ZN4java4util5regex7Pattern7matcherEPNS_4lang12CharSequenceE from gnulib.a(lt15-lang.o)
> _ZN4java4util5regex7Matcher10replaceAllEPNS_4lang6StringE from gnulib.a(lt15-lang.o)
> _ZN4java4util5regex7Matcher12replaceFirstEPNS_4lang6StringE from gnulib.a(lt15-lang.o)
> _ZN4java4util5regex7Pattern7matchesEPNS_4lang6StringEPNS3_12CharSequenceE from gnulib.a(lt15-lang.o)
> _ZN4java4util5regex7Matcher5groupEi from gnulib.a(lt18-net.o)
> _ZN4java4util5regex7Matcher7matchesEv from gnulib.a(lt18-net.o)
> _ZN4java4util5regex7Pattern6class$E from gnulib.a(lt18-net.o)
> _ZN4java4util5regex7Matcher9lookingAtEv from gnulib.a(lt29-text.o)
> _ZN4java4util5regex7Matcher3endEv from gnulib.a(lt29-text.o)
> __libc_malloc_initialized from gnulib.a(mcheck.o)
> __free_hook from gnulib.a(mcheck.o)
> __malloc_hook from gnulib.a(mcheck.o)
> __memalign_hook from gnulib.a(mcheck.o)
> __realloc_hook from gnulib.a(mcheck.o)
> memalign from gnulib.a(mcheck.o)
> __udivdi3 from gnulib.a(posix-threads.o)
> __umoddi3 from gnulib.a(posix-threads.o)
> _errno from gnulib.a(pthread.o)
> _ZN3gnu9classpath5debug12SystemLogger6class$E from gnulib.a(security.o)
> _ZN3gnu9classpath5debug12SystemLogger6SYSTEME from gnulib.a(security.o)
> _ZN3gnu9classpath5debug9Component6POLICYE from gnulib.a(security.o)
> _ZN3gnu9classpath5debug9Component6class$E from gnulib.a(security.o)
> _Unwind_Backtrace from gnulib.a(stacktrace.o)
> _Unwind_GetRegionStart from gnulib.a(stacktrace.o)
> _Unwind_GetIP from gnulib.a(stacktrace.o)
> ____strtoul_l_internal from gnulib.a(strtoul.o)
> _ZN3gnu9classpath5debug9Component4X509E from gnulib.a(x509.o)
> _ZN3gnu9classpath5debug9Component6CRYPTOE from gnulib.a(crypto.o)
> __current_locale_name from gnulib.a(dcigettext.o)
> _IO_vfprintf from gnulib.a(iovsprintf.o)
> _ZN3gnu4java6locale17LocaleInformation6class$E from gnulib.a(lang.o)
> _ZN3gnu4java6locale8Calendar6class$E from gnulib.a(lang.o)
> __real_malloc from gnulib.a(mf-runtime.o)
> __real_free from gnulib.a(mf-runtime.o)
> __real_calloc from gnulib.a(mf-runtime.o)
> __real_main from gnulib.a(mf-runtime.o)
> __libc_memalign from gnulib.a(dl-tls.o)
> __fini_array_start from gnulib.a(elf-init.o)
> __fini_array_end from gnulib.a(elf-init.o)
> __preinit_array_start from gnulib.a(elf-init.o)
> __preinit_array_end from gnulib.a(elf-init.o)
> __init_array_start from gnulib.a(elf-init.o)
> __init_array_end from gnulib.a(elf-init.o)
> __real_mmap from gnulib.a(mf-hooks1.o)
> __real_munmap from gnulib.a(mf-hooks1.o)
> __real_realloc from gnulib.a(mf-hooks1.o)
> __strtod_internal from gnulib.a(vfscanf.o)
> ____strtoll_l_internal from gnulib.a(strtoll.o)
> ____strtoull_l_internal from gnulib.a(strtoull.o)
>> [elxr] (error) errors during processing
>> Michael
More information about the Java
mailing list