This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
RE: Dependencies when using gcc-generated object files in another compiler
- From: "Lehner, Michael" <michaellehner at siemens dot com>
- Cc: <java at gcc dot gnu dot org>
- Date: Tue, 19 Dec 2006 07:25:05 +0100
- Subject: RE: Dependencies when using gcc-generated object files in another compiler
I read something about an option for gcc to use Greenhills ABI, but I
didn't figure out how to use it and if it's really supported, does
anybody know?
About the operating system I only can say, that it is self written,
there is also the reason why I can't use a java-VM for my
java-applications, because there is none supporting it, if I don't port
it by myself.
With Linux and mips I also was successful to run my java applications,
but our selling product uses our own system for several years and it
would be to expensive to redevelop everything for using a Linux system.
And our intention was even to use java for our
operating-system-development. That means we must be able to compile it
for MIPS itself and not for an specific operating system.
Michael
> -----Original Message-----
> From: David Daney [mailto:ddaney@avtrex.com]
> Sent: Friday, December 15, 2006 6:56 PM
> To: Lehner, Michael
> Cc: java@gcc.gnu.org
> Subject: Re: Dependencies when using gcc-generated object files in
another
> compiler
>
> 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_12CharSequence
E
> 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