libjava and ada broken on x86_64

Diego Novillo dnovillo@google.com
Thu Oct 8 13:09:00 GMT 2009


Happens while building 32 bit libjava on x86_64

libtool: compile:  [ ... ] -g -O2 -D_GNU_SOURCE -m32 -MT posix.lo -MD
-MP -MF .deps/posix.Tpo -c .../libjava/posix.cc  -fPIC -DPIC -o
.libs/posix.o

/tmp/cc60L3lJ.s: Assembler messages:
/tmp/cc60L3lJ.s:943: Error: junk at end of line, first unrecognized
character is `*'
/tmp/cc60L3lJ.s:944: Error: junk at end of line, first unrecognized
character is `*'
/tmp/cc60L3lJ.s:945: Error: expected comma after "_ZGAN8__JArrayC1Ev"
make[5]: *** [posix.lo] Error 1


Ada also seems to be in bad shape.  Yesterday's build failed
with:

bld/./gcc/xgcc [...]   -c -g -O2 -m32 -fPIC  -W -Wall -gnatpg -m32
a-strunb.adb -o a-strunb.o

+===========================GNAT BUG DETECTED==============================+
| 4.5.0 20091007 (experimental) (x86_64-unknown-linux-gnu) GCC error:      |
| in decompose_multiword_subregs, at lower-subreg.c:1262                   |
| Error detected around a-strunb.adb:360:8                                 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

system.ads
a-strunb.adb
a-strunb.ads
a-string.ads
ada.ads
a-strmap.ads
a-charac.ads
a-chlat1.ads
a-finali.ads
s-finroo.ads
a-stream.ads
a-unccon.ads
a-strfix.ads
a-strsea.ads
a-uncdea.ads
s-stalib.ads
s-exctab.ads
s-unstyp.ads
a-tags.ads
s-stoele.ads
s-stoele.adb
a-except.ads
s-parame.ads
s-traent.ads
s-soflin.ads
s-stache.ads
s-secsta.ads
s-finimp.ads
s-stratt.ads
s-carun8.ads


raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:423
make[9]: *** [a-strunb.o] Error 1
make[9]: *** Waiting for unfinished jobs....

These are the commits that were used for these builds (I pruned
those that seemed obviously unrelated):


--- trunk.prev/gcc/ChangeLog	2009-10-06 02:41:20.000000000 -0400
+++ trunk/gcc/ChangeLog	2009-10-07 00:05:15.000000000 -0400
@@ -1,5 +1,109 @@
 2009-10-06  Jerry Quinn  <jlquinn@optonline.net>

+	* Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.
+	(lto-compress.o): Likewise.
+
+2009-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	PR target/41512
+	* config/i386/winnt.c (i386_pe_determine_dllexport_p): Don't propagate
+	dllexport to class members here.
+	(i386_pe_determine_dllimport_p): Only check static class data for
+	definition.
+	(i386_pe_encode_section_info): Don't recheck DECL_DLLIMPORT_P.
+	* config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Only check
+	functions for vague linkage.
+	(i386_pe_type_dllexport_p): Fix formatting.
+	(maybe_add_dllexport) New function.
+	(i386_pe_adjust_class_at_definition): Use it to propagate dllexport
+	to class members.
+	
+	2009-10-07  Ben Elliston  <bje@au.ibm.com>
+
+	* config/rs6000/a2.md: Remove duplicated lines.
+
+2009-10-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
+	Use explicit gen_truncxfsf2 and gen_truncxfdf2 references to avoid
+	reference to nonexistent gen_truncxfxf2 function.
+
+2009-10-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (SWI48, SDWIM, DWI): New mode iterators.
+	(DWIH, g, di, doubleint_general_operand): New mode attributes.
+	(general_operand): Handle TI mode.
+	(add<mode>3): Macroize expander from add{qi,hi,si,di,ti}3 patterns
+	using SDWIM mode iterator.
+	(*add<mode>3_doubleword): New insn_and_split pattern.  Macroize
+	pattern from *add{di,ti}3_1 patterns and corresponding splitters
+	using DWI mode iterator.
+	(add<mode>3_carry): Macroize insn from add{qi,hi,si,di}3_carry
+	patterns using SWI mode iterator.
+	(*add<mode>3_cc): Macroize insn from add{si,di}3_cc patterns
+	using SWI48 mode iterator.
+	(*add<mode>_1): Ditto from add{si,di}_1 patterns.
+	(*add<mode>_2): Ditto from add{si,di}_2 patterns.
+	(*add<mode>_3): Ditto from add{si,di}_3 patterns.
+	(*add<mode>_5): Ditto from add{si,di}_5 patterns.
+	(sub<mode>3): Macroize expander from sub{qi,hi,si,di,ti}3 patterns
+	using SDWIM mode iterator.
+	(*sub<mode>3_doubleword): New insn_and_split pattern.  Macroize
+	pattern from *sub{di,ti}3_1 patterns and corresponding splitters
+	using DWI mode iterator.
+	(sub<mode>3_carry): Macroize insn from sub{qi,hi,si,di}3_carry
+	patterns using SWI mode iterator.
+	(*sub<mode>_1): Ditto from from sub{qi,hi,si,di}_1 patterns.
+	(*sub<mode>_2): Ditto from sub{qi,hi,si,di}_2 patterns.
+	(*sub<mode>_3): Ditto from sub{qi,hi,si,di}_3 patterns.
+	(<plusminus_insn>xf3): Macroize expander from addxf3 and subxf3
+	patterns using plusminus code iterator.
+	(<plusminus_insn><mode>3): Macroize expander from add<mode>3 and
+	sub<mode>3 patterns using plusminus code iterator.
+	* config/i386/i386.c (override_options): Update call to
+	gen_subdi_carry_rex64 for renamed function.
+	(ix86_expand_int_addcc): Update calls to gen_subdi3_carry_rex64
+	and gen_adddi3_carry_rex64 for renamed functions.  Use indirect
+	calls to instruction expanders.
+
+2009-10-06  Martin Jambor  <mjambor@suse.cz>
+
+	PR bootstrap/41395
+	* opts.c (decode_options): Run IPA-SRA at -O2.
+

--- trunk.prev/gcc/ada/ChangeLog	2009-10-06 02:40:38.000000000 -0400
+++ trunk/gcc/ada/ChangeLog	2009-10-07 00:04:34.000000000 -0400
@@ -1,3 +1,14 @@
+2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
+
+	PR ada/41383
+	* a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
+
+2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
+
+	PR ada/38333
+	* sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
+	subprogram to be completed with a "pragma Import".
+
 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>


--- trunk.prev/gcc/cp/ChangeLog	2009-10-06 02:40:09.000000000 -0400
+++ trunk/gcc/cp/ChangeLog	2009-10-07 00:04:11.000000000 -0400
@@ -1,3 +1,22 @@
+2009-10-06  Jason Merrill  <jason@redhat.com>
+
+	Fix lookup of initialized captures in unevaluated context.
+	* cp-tree.h (DECL_NORMAL_CAPTURE_P): New.
+	* name-lookup.c (qualify_lookup): Check it.
+	* parser.c (cp_parser_lambda_introducer): Pass explicit_init_p
+	to add_capture.
+	* semantics.c (add_capture): Set DECL_NORMAL_CAPTURE_P
+	on captures without explicit init.
+	(add_default_capture): Pass explicit_init_p.
+
+	Fix capture by copy of types with explicit copy constructor.
+	* cp-tree.h (TARGET_EXPR_DIRECT_INIT_P): New.
+	(DIRECT_INIT_EXPR_P): New.
+	* typeck.c (convert_for_initialization): Just return if
+	DIRECT_INIT_EXPR_P.
+	* semantics.c (build_lambda_object): Use
+	TARGET_EXPR_DIRECT_INIT_P for normal captures.
+
 2009-10-05  Jason Merrill  <jason@redhat.com>

 	* parser.c: Mark lambda_scope and lambda_count for PCH.



--- trunk.prev/gcc/ChangeLog	2009-10-07 00:05:15.000000000 -0400
+++ trunk/gcc/ChangeLog	2009-10-08 00:05:17.000000000 -0400
@@ -1,3 +1,152 @@
+2009-10-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (any_extend): New code iterator.
+	(u, s): New code attributes.
+	(sgnprefix): Ditto.
+	(DWIH): Rewrite as code iterator for SI and DI modes.
+	(DWI): Rewrite as mode attribute.
+	(dwi): New mode attribute.
+	(di): Depend on SI mode and DI mode.
+	(doubleint_general_operand): Remove mode attribute.
+
+	(*lea_1): Macroize insn from *lea_1_rex64 and *lea_1 patterns using
+	DWIH mode iterator.
+
+	(*add<mode>3_doubleword): Use DWIH as the base mode iterator.
+	(*sub<mode>3_doubleword): Ditto.
+
+	(mul<mode>3): Macroize expander from mul{hi,si,di}3 patterns
+	using SWIM248 mode iterator.
+	(*mul<mode>3_1): Macroize insn from mul{si,di}3_1 patterns
+	using SWI48 mode iterator.
+	(<u>mul<mode><dwi>3): Macroize expander from {,u}mul{sidi,diti}3
+	patterns using DWIH mode iterator and any_extend code iterator.
+	(<u>mulqihi3): Macroize expander from {,u}mulqihi3 patterns
+	using any_extend code iterator.
+	(*<u>mul<mode><dwi>3_1): Macroize insn from {,u}mul{sidi,diti}3_1
+	patterns using DWIH mode iterator and any_extend code iterator.
+	(*<u>mulqihi3_1): Macroize insn from {,u}mulqihi3_1 patterns
+	using any_extend code iterator.
+	(<s>mul<mode>3_highpart): Macroize expander from
+	{s,u}mul{si,di}3_highpart patterns using DWIH mode iterator
+	and any_extend code iterator.
+	(*<s>muldi3_highpart_1): Macroize insn from
+	*{s,u}muldi3_highpart_rex64 patterns using any_extend code iterator.
+	(*<s>mulsi3_highpart_1): Macroize insn from *{s,u}mulsi3_highpart_1
+	patterns using any_extend code iterator.
+	(*<s>mulsi3_highpart_zext): Macroize insn from
+	*{s,u}mulsi3_highpart_zext patterns using any_extend code iterator.
+
+2009-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add
+	DW_AT_const_value if VAR_DIE already has DW_AT_abstract_origin
+	refering to a DIE with DW_AT_const_value.
+
+2009-10-07  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR middle-end/22072
+	* ira-lives.c (check_and_make_def_conflict): Process all operands.
+
+2009-10-06  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes
+	correctly.
+
+2009-10-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,
+	*lea_2_rex64): Move before *add<mode>_1 pattern.
+
+2009-10-07  Jan Hubicka  <jh@suse.cz>
+
+	* collect2.c (main): Add -fno-whole-program.
+	* gcc.c (set_collect_gcc_options): Do not remove whole program here.
+
+2009-10-07  Jan Hubicka  <jh@suse.cz>
+
+	* lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
+	no address taken.
+	* cgraph.c (cgraph_mark_needed_node): Assert that inline clones are
+	never needed.
+	(cgraph_clone_node): Clear externally_visible flag for clones.
+	* cgraph.h (cgraph_only_called_directly_p,
+	cgraph_can_remove_if_no_direct_calls_p): New predicates.
+	* tree-pass.h (pass_ipa_whole_program_visibility): Declare.
+	* ipa-cp.c (ipcp_cloning_candidate_p): Use new predicate.
+	(ipcp_initialize_node_lattices, ipcp_estimate_growth,
+	ipcp_insert_stage): Likwise.
+	* cgraphunit.c (cgraph_decide_is_function_needed): Do not compute
+	externally_visible flag.
+	(verify_cgraph_node): Verify that inline clones look right.
+	(process_function_and_variable_attributes): Do not set
+	externally_visible flags.
+	(ipa_passes): Avoid executing small_ipa_passes at LTO stage; they've
+	been already run.
+	* lto-cgraph.c (lto_output_node): Assert that inline clones are not
+	boundaries.
+	* ipa-inline.c (cgraph_clone_inlined_nodes): Use new predicates;
+	clear externally_visible when turning into inline clones
+	(cgraph_mark_inline_edge): Use new predicates.
+	(cgraph_estimate_growth): Likewise.
+	(cgraph_decide_inlining): Likewise.
+	* ipa.c (cgraph_postorder): Likewise.
+	(cgraph_remove_unreachable_nodes): Likewise; sanity check
+	that inline clones are not needed.
+	(cgraph_externally_visible_p): New predicate.
+	(function_and_variable_visibility): Add whole_program parameter;
+	always set externally_visible flag; handle COMDAT function
+	privatization.
+	(local_function_and_variable_visibility): New function.
+	(gate_whole_program_function_and_variable_visibility): New function.
+	(whole_program_function_and_variable_visibility): New function.
+	(pass_ipa_whole_program_visibility): New function.
+	* passes.c  (init_optimization_passes): Add whole program visibility
+	pass.
+	(do_per_function_toporder, function_called_by_processed_nodes_p): Do
+	not care about needed/reachable flags.
+	* varpool.c: Include flags.h
+	(decide_is_variable_needed): When doing LTO assume whole-program mode.
+	(varpool_finalize_decl): When we are in LTO read-back, all variables
+	are analyzed.
+	(varpool_analyze_pending_decls): Skip analyzis of analyzed vars.
+

--- trunk.prev/gcc/cp/ChangeLog	2009-10-07 00:04:11.000000000 -0400
+++ trunk/gcc/cp/ChangeLog	2009-10-08 00:04:24.000000000 -0400
@@ -1,3 +1,16 @@
+2009-10-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>
+
+	* cp-tree.h: Fix location of documentation for DECL_LANG_FLAG_7.
+
+2009-10-07  Jason Merrill  <jason@redhat.com>
+
+	PR c++/39863
+	* pt.c (tsubst_pack_expansion): Don't do anything now if we
+	have incomplete packs of different lengths.
+
+	PR c++/41038
+	* tree.c (build_qualified_name): Call convert_from_reference.
+
 2009-10-06  Jason Merrill  <jason@redhat.com>

 	Fix lookup of initialized captures in unevaluated context.



More information about the Java mailing list