* [Bug java/44095] [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
@ 2010-05-12 11:35 ` rguenth at gcc dot gnu dot org
2010-05-19 12:59 ` [Bug java/44095] [4.5/4.6 Regression] " rguenth at gcc dot gnu dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-05-12 11:35 UTC (permalink / raw)
To: java-prs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.5.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
2010-05-12 11:35 ` [Bug java/44095] " rguenth at gcc dot gnu dot org
@ 2010-05-19 12:59 ` rguenth at gcc dot gnu dot org
2010-07-31 9:33 ` rguenth at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-05-19 12:59 UTC (permalink / raw)
To: java-prs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
Summary|[4.5/4.6 regression] massive|[4.5/4.6 Regression] massive
|java failures due to - |java failures due to -
|findirect-dispatch breakage |findirect-dispatch breakage
|on sparc64-linux |on sparc64-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
2010-05-12 11:35 ` [Bug java/44095] " rguenth at gcc dot gnu dot org
2010-05-19 12:59 ` [Bug java/44095] [4.5/4.6 Regression] " rguenth at gcc dot gnu dot org
@ 2010-07-31 9:33 ` rguenth at gcc dot gnu dot org
2010-09-20 21:40 ` ebotcazou at gcc dot gnu dot org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-07-31 9:33 UTC (permalink / raw)
To: java-prs
------- Comment #1 from rguenth at gcc dot gnu dot org 2010-07-31 09:29 -------
GCC 4.5.1 is being released, adjusting target milestone.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.5.1 |4.5.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
` (2 preceding siblings ...)
2010-07-31 9:33 ` rguenth at gcc dot gnu dot org
@ 2010-09-20 21:40 ` ebotcazou at gcc dot gnu dot org
2010-09-21 21:45 ` ebotcazou at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-20 21:40 UTC (permalink / raw)
To: java-prs
------- Comment #2 from ebotcazou at gcc dot gnu dot org 2010-09-20 21:40 -------
Investigating.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |ebotcazou at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-09-20 21:40:00
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
` (3 preceding siblings ...)
2010-09-20 21:40 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-21 21:45 ` ebotcazou at gcc dot gnu dot org
2010-09-22 6:06 ` ebotcazou at gcc dot gnu dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-21 21:45 UTC (permalink / raw)
To: java-prs
------- Comment #3 from ebotcazou at gcc dot gnu dot org 2010-09-21 21:45 -------
> Java is severely broken on sparc64-linux with gcc 4.5/4.6, which is a major
> regression from 4.4:
>
> http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00853.html (4.6 broken)
> http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00681.html (4.5 broken)
> http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00472.html (4.4 works)
>
> The detailed test suite logs show that _every_ -findirect-dispatch test case
> SEGFAULTs shortly after startup.
>
> I've bisected trunk and identified r155622 as the cause:
>
> Author: jakub
> Date: Mon Jan 4 16:02:41 2010
> New Revision: 155622
>
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155622
> Log:
> PR driver/42442
> * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
> (do_self_spec): For switches with SWITCH_IGNORE set set also
> SWITCH_IGNORE_PERMANENTLY.
> (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
> of SWITCH_IGNORE.
>
> [...]
>
> The main difference is that in the working compiler, the java classes are
> assembled with -K PIC but the generated main() is not, while in the broken
> compiler both the java classes and the generated main() are assembled with -K
> PIC.
Thanks for the detailed analysis.
> I note that gcc/java/jvspec.c has %<findirect-dispatch, and that PR42442 is
> about correcting the handling of %<match=native. Clearly something here
> doesn't mix well.
My interpretation is that the %<findirect-dispatch for cc1 used to cancel the
effect of -findirect-dispatch for subsequent programs invoked by the driver, in
particular 'as' in this case. Jakub's change disables this cancellation so
-findirect-dispatch is passed to 'as' and thus the kludge I put in ASM_SPEC for
Linux triggers, which breaks because cc1 hasn't compiled the file in PIC mode.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2010-09-20 21:40:00 |2010-09-21 21:45:21
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
` (4 preceding siblings ...)
2010-09-21 21:45 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-22 6:06 ` ebotcazou at gcc dot gnu dot org
2010-09-22 8:07 ` jakub at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-22 6:06 UTC (permalink / raw)
To: java-prs
------- Comment #4 from ebotcazou at gcc dot gnu dot org 2010-09-22 06:06 -------
Jakub, what do you think? gcc.c reads:
%<S remove all occurrences of -S from the command line.
Note - this command is position dependent. % commands in the
spec string before this one will see -S, % commands in the
spec string after this one will not.
and the spec is gcc/java/jvspec.c:jvgenmain_spec. I think that the above means
that 'as' shoudn't see -findirect-dispatch but your change breaks that.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
` (5 preceding siblings ...)
2010-09-22 6:06 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-22 8:07 ` jakub at gcc dot gnu dot org
2010-09-22 21:15 ` ebotcazou at gcc dot gnu dot org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-09-22 8:07 UTC (permalink / raw)
To: java-prs
------- Comment #5 from jakub at gcc dot gnu dot org 2010-09-22 08:07 -------
That semantics can't cope well with -fcompare-debug though, where cc1 etc. is
invoked multiple times. If you remove some options forever, they wouldn't
appear on the next cc1 etc. invocation line and thus that would behave
differently. I wonder if e.g. not using %(invoke_as) but instead duplicating
its text in java/jvspec.c with additional %<findirect-dispatch right after as
and before %(asm_options) wouldn't do the trick.
Or we need a different % letter that would have the previous behavior, though
am not sure if it could ever work with gcj -fcompare-debug -fmain=myclass
myclass.java
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
` (6 preceding siblings ...)
2010-09-22 8:07 ` jakub at gcc dot gnu dot org
@ 2010-09-22 21:15 ` ebotcazou at gcc dot gnu dot org
2010-09-22 21:17 ` ebotcazou at gcc dot gnu dot org
2010-09-22 21:19 ` ebotcazou at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-22 21:15 UTC (permalink / raw)
To: java-prs
------- Comment #6 from ebotcazou at gcc dot gnu dot org 2010-09-22 21:15 -------
Subject: Bug 44095
Author: ebotcazou
Date: Wed Sep 22 21:14:50 2010
New Revision: 164534
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164534
Log:
PR java/44095
* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
is specified and the suffix of the file isn't ".c".
* config/sparc/linux64.h (ASM_SPEC): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sparc/linux.h
trunk/gcc/config/sparc/linux64.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
` (7 preceding siblings ...)
2010-09-22 21:15 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-22 21:17 ` ebotcazou at gcc dot gnu dot org
2010-09-22 21:19 ` ebotcazou at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-22 21:17 UTC (permalink / raw)
To: java-prs
------- Comment #7 from ebotcazou at gcc dot gnu dot org 2010-09-22 21:16 -------
Subject: Bug 44095
Author: ebotcazou
Date: Wed Sep 22 21:15:37 2010
New Revision: 164535
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164535
Log:
PR java/44095
* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
is specified and the suffix of the file isn't ".c".
* config/sparc/linux64.h (ASM_SPEC): Likewise.
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/sparc/linux.h
branches/gcc-4_5-branch/gcc/config/sparc/linux64.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug java/44095] [4.5/4.6 Regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux
2010-05-12 11:00 [Bug java/44095] New: [4.5/4.6 regression] massive java failures due to -findirect-dispatch breakage on sparc64-linux mikpe at it dot uu dot se
` (8 preceding siblings ...)
2010-09-22 21:17 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-22 21:19 ` ebotcazou at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-22 21:19 UTC (permalink / raw)
To: java-prs
------- Comment #8 from ebotcazou at gcc dot gnu dot org 2010-09-22 21:19 -------
Further kludged.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://gcc.gnu.org/ml/gcc-
| |patches/2010-
| |09/msg01800.html
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44095
^ permalink raw reply [flat|nested] 11+ messages in thread