This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


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: Are non-SJLJ exceptions busted on linux/x86?


> dwarf2 exceptions are only ever required to work with dynamic linking as
> there needs to be only one unwind functions and data.

I'm not sure I understand what you're saying.  Do you mean "the unwind
mechanism now only works with dynamic linking, because that makes the code
simpler"?

> Why are yiou trying to static link with gcj?  Seems like you are making a
big
> issue in general.

Yes, I am.  "Trying" is an understatement -- I've got complete applications
running with gcj static builds and nice lean xlib peers, just not using the
latest gcj.

Why?
A) Because it claims to be supported (i.e. the commands are there to do it)
B) Because that's what you usually want if you're building embedded systems
(as I am)
C) Because you can't really claim it's a proper native code compiler if it
can't do a simple thing like a static build
D) Because one of the main reasons I selected GCJ was for that capability
E) Because early in my involvement, I read articles like this one:
  http://www.linuxjournal.com/article/4860
  (Quote:  "We view Java as simply another programming language and
implement it the way we implement other compiled languages.")
F) Because someday gcj might work for no-filesystem environments, but only
if it can make a static binary
G) Because static builds worked until maybe July or August of this year and
are now broken
H) Because failure of static binaries to run is a regression from earlier
released gcc versions.
I) Because according to this email it's the only way to run on MS Windows
  http://gcc.gnu.org/ml/java/2005-11/msg00238.html

Given time, I'd think of more reasons.

----- Original Message ----- 
From: "Andrew Pinski"
Sent: Thursday, November 17, 2005 3:29 PM
Subject: Re: Are non-SJLJ exceptions busted on linux/x86?


> >
> > Is something busted in the non-SJLJ unwind mechanism with recent builds
for
> > linux/x86?  If so, perhaps --enable-sjlj-exceptions should be the
default on
> > that platform.  If not, is there some dependency I need to make it work?
> >
> > With recent trunk, my dynamic executables work but static and
interpreted
> > both fail, as I mentioned in earilier posts referenced below.  These
appear
> > to be two cases of the same problem, namely that throw/catch only works
with
> > dynamic executables.  I was able to solve it by
> > adding --enable-sjlj-exceptions to my configuration.  That makes the
> > interpreter work fine, although I now get a segv in _Jv_FreeMethodCache
on
> > exit with the static build -- separate issue I think.
>
> dwarf2 exceptions are only ever required to work with dynamic linking as
> there needs to be only one unwind functions and data.
>
> Why are yiou trying to static link with gcj?  Seems like you are making a
big
> issue in general.
>
> Thanks,
> Andrew Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]