From 2cdc207340d10fdbf643ae6b83cb289af1ba32d6 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Sat, 19 Feb 2005 18:18:31 +0000 Subject: [PATCH] mklibgcc.in: If libgcc_eh.a would be empty, put a dummy object inside. * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy object inside. * config/ia64/hpux.h: Don't define LIBGCC_SPEC. From-SVN: r95286 --- gcc/ChangeLog | 84 +++++++++++++++++++++++++++----------------------- gcc/config/ia64/hpux.h | 7 ----- gcc/mklibgcc.in | 21 +++++++++++++ 3 files changed, 66 insertions(+), 46 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 34a6c74141f..7b1551883dd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-02-19 Zack Weinberg + + * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy + object inside. + * config/ia64/hpux.h: Don't define LIBGCC_SPEC. + 2005-02-19 Richard Sandiford PR other/19525 @@ -133,7 +139,7 @@ * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert. (estimate_case_costs): Don't call convert. * expmed.c (expand_shift): Likewise. - (make_tree): Call fold_convert instead of convert. + (make_tree): Call fold_convert instead of convert. 2005-02-18 Jakub Jelinek @@ -180,9 +186,9 @@ 2005-02-17 Andreas Krebbel * builtins.c (expand_builtin_return_addr): Remove tem parameter. - tem becomes a local variable which is set to the value of the + tem becomes a local variable which is set to the value of the back end defined INITIAL_FRAME_ADDRESS macro. - (expand_builtin_frame_address): Omit the base parameter to + (expand_builtin_frame_address): Omit the base parameter to expand_builtin_return_addr. (expand_builtin_profile_func): Likewise. * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro. @@ -264,11 +270,11 @@ 2005-02-17 Ralf Corsepius - * config/rs6000/t-rtems: Completely reworked. + * config/rs6000/t-rtems: Completely reworked. 2005-02-17 Ira Rosen - * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert. + * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert. 2005-02-17 Ira Rosen @@ -293,11 +299,11 @@ declaration in tree-vectorizer.c, now has an extern declaration in tree-vectorizer.h). (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p, - slpeel_verify_cfg_after_peeling, vect_strip_conversion, - get_vectype_for_scalar_type, vect_is_simple_use, + slpeel_verify_cfg_after_peeling, vect_strip_conversion, + get_vectype_for_scalar_type, vect_is_simple_use, vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p, vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info, - new_stmt_vec_info, vect_analyze_loop, vectorizable_load, + new_stmt_vec_info, vect_analyze_loop, vectorizable_load, vectorizable_store, vectorizable_operation, vectorizable_assignment, vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level, find_loop_location): Likewise. @@ -313,7 +319,7 @@ destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info, vect_set_verbosity_level, find_loop_location): Likewise. - (vect_analyze_loop): Function externalized. Declaration moved to + (vect_analyze_loop): Function externalized. Declaration moved to tree-vectorized.h. Function definition moved to tree-vect-analyze.c. (vect_analyze_loop_form): Moved to tree-vect-analyze.c. (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles, @@ -328,12 +334,12 @@ vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis, vect_get_memtag): Likewise. - (vectorizable_load): Function externalized. Declaration moved to + (vectorizable_load): Function externalized. Declaration moved to tree-vectorized.h. Function definition moved to tree-vect-transform.c. (vectorizable_store, vectorizable_operation, vectorizable_assignment, vect_transform_loop): Likewise. (vect_transform_stmt): Moved to tree-vect-transform.c. - (vect_align_data_ref, vect_create_destination_var, + (vect_align_data_ref, vect_create_destination_var, vect_create_data_ref_ptr, vect_create_index_for_vector_ref, vect_create_addr_base_for_vector_ref, vect_get_new_vect_var, vect_get_vec_def_for_operand, vect_init_vector, @@ -342,7 +348,7 @@ vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr, vect_update_inits_of_drs, vect_do_peeling_for_alignment, vect_do_peeling_for_loop_bound): Likewise. - + * tree-vect-analyze.c: New file. * tree-vect-transform.c: New file. @@ -356,7 +362,7 @@ * doc/install.texi (Specific): Update link for Darwin-specific tool binary site. - + 2005-02-16 James A. Morrison * fold-const.c (invert_truthvalue): : Call @@ -530,7 +536,7 @@ 2005-02-15 Richard Henderson - * bb-reorder.c (find_traces_1_round): Force fallthru edge from a + * bb-reorder.c (find_traces_1_round): Force fallthru edge from a call to be best_edge. 2005-02-14 Kazu Hirata @@ -546,7 +552,7 @@ * rtl.h: Adjust the prototype for recompute_reg_usage. 2005-02-14 Daniel Berlin - + * tree-dump.c (dump_files): Update to reflect new member of dump_file_info. (dump_register): Add new argument. @@ -812,7 +818,7 @@ * config/rs6000/t-rtems: (MULTILIB_OPTIONS): Remove mcpu=602. (MUTLILIB_DIRNAMES): Remove m602. - (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}. + (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}. Let mcpu=602 match mcpu=603. (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603. @@ -989,7 +995,7 @@ 2005-02-09 Dorit Naishlos - * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file + * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file exists. 2005-02-09 Richard Guenther @@ -1100,8 +1106,8 @@ (slpeel_tree_peel_loop_to_edge): Likewise. (vect_analyze_offset_expr): Call to vect_print_dump_info with - appropriate verbosity level instead of call to vect_debug_details - or vect_debug_stats. + appropriate verbosity level instead of call to vect_debug_details + or vect_debug_stats. (vect_get_base_and_offset): (vect_create_addr_base_for_vector_ref): (get_vectype_for_scalar_type): @@ -1155,7 +1161,7 @@ (vect_mark_stmts_to_be_vectorized): (vect_get_loop_niters): (vect_analyze_loop_form): - (vect_analyze_loop): Likewise. + (vect_analyze_loop): Likewise. (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr. 2005-02-07 Richard Sandiford @@ -1185,7 +1191,7 @@ 2005-02-07 Ralf Corsepius - * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): + * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Let !-mhard-float !-msoft-float imply -mfpu=softfpa. 2005-02-06 Roger Sayle @@ -1346,7 +1352,7 @@ (vect_analyze_loop_form): Argument in call to vect_debug_details/stats changed from loop to loop_loc. - (vect_enhance_data_refs_alignment): Removed unused variable loop. + (vect_enhance_data_refs_alignment): Removed unused variable loop. 2005-02-03 Leehod Baruch Dorit Naishlos @@ -1361,7 +1367,7 @@ (vect_create_index_for_vector_ref): Likewise. (vect_update_ivs_after_vectorizer): Likewise. (new_stmt_vec_info): Likewise. - + (new_loop_vec_info): Second argument in call to new_stmt_vec_info was changed from loop to loop_vinfo. (vect_create_data_ref_ptr): First argument in call to @@ -1377,7 +1383,7 @@ was changed from loop to loop_vinfo. (vect_analyze_data_ref_dependences): Third argument in call to vect_analyze_data_ref_dependence was changed from loop to loop_vinfo. - + (vect_create_index_for_vector_ref): Get the loop from loop_vinfo. (vect_create_data_ref_ptr): Likewise. (vect_init_vector): Likewise. @@ -1456,11 +1462,11 @@ 2005-02-03 Dorit Naishlos * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call - standard_iv_increment_position. Remove call to bsi_next + standard_iv_increment_position. Remove call to bsi_next (no need to bump the iterator anymore). (vect_create_index_for_vector_ref): Call standard_iv_increment_position. Remove second function argument. - (vect_finish_stmt_generation): Remove call to bsi_next + (vect_finish_stmt_generation): Remove call to bsi_next (no need to bump the iterator anymore). (vect_create_data_ref_ptr): Remove second argument (bsi) in call to vect_create_index_for_vector_ref. @@ -1728,16 +1734,16 @@ * config.gcc: Don't include embedded systems fragment, switches default debugging format to ELF. - * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no + * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no longer pick it up there. 2005-01-31 Dale Johannesen - + * doc/extend.texi (nested functions): Fix linkage description. Clarify that static is not allowed. 2005-01-31 Dale Johannesen - + * config/rs6000/darwin.md (movsf_low_di): Make work. (movdf_low_di): Make work. @@ -1818,7 +1824,7 @@ 2005-01-30 Daniel Berlin Fix PR tree-optimization/19624 - + * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H. * tree-ssa-pre.c: Add cfgloop.h. Update comment. @@ -1851,7 +1857,7 @@ PR target/19700 * config/i386/i386.c (ix86_expand_copysign): New. (ix86_split_copysign_const): New. - (ix86_split_copysign_var): Rename from ix86_split_copysign, + (ix86_split_copysign_var): Rename from ix86_split_copysign, rearrange op1/nmask operands. * config/i386/i386-protos.h: Update. * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign. @@ -2227,7 +2233,7 @@ 2005-01-26 Steven Bosscher - PR middle-end/19616 + PR middle-end/19616 * tree.h (CALL_EXPR_TAILCALL): Add comment. * calls.c (check_sibcall_argument_overlap_1): Revert the change to this function from 2004-07-10. @@ -2623,7 +2629,7 @@ 2005-01-21 Mark Dettinger - * config/s390/s390.c (struct processor_costs): New fields + * config/s390/s390.c (struct processor_costs): New fields dlgr, dlr, dr, dsgfr, dsgr. (z900_cost, z990_cost): Values for new fields. (s390_rtx_costs): New cases MEM und COMPARE in switch @@ -2807,7 +2813,7 @@ (add_location_or_const_value_attribute): Use it. Also try to generate a frame_base from a single element location list. - + 2005-01-20 Kazu Hirata PR tree-optimization/15349 @@ -2947,7 +2953,7 @@ 2005-01-19 Ralf Corsepius PR target/19529 - * config/sh/t-rtems: New. + * config/sh/t-rtems: New. * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems. 2005-01-19 Zdenek Dvorak @@ -3369,7 +3375,7 @@ 2005-01-15 Ralf Corsepius * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0. - * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS): + * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS): Remove little endian multilib variants. Add mips32 multilib variant. @@ -3481,7 +3487,7 @@ (TARGET_ASM_FILE_END): Call arm_file_end. (aof_file_end): Likewise. * arm-protos.h (thumb_call_via_reg): Declare. - * arm.md (call_reg_thumb, call_value_reg_thumb): Call + * arm.md (call_reg_thumb, call_value_reg_thumb): Call thumb_call_via_reg in normal case. 2005-01-14 Jakub Jelinek @@ -3568,7 +3574,7 @@ IX86_BUILTIN_MOVDQ2Q): Remove. (IX86_BUILTIN_VEC_EXT_V4SI): New. (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match. - (ix86_expand_vector_extract): For V4S[FI], extract element 0 after + (ix86_expand_vector_extract): For V4S[FI], extract element 0 after shuffling. * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2. (sse2_pextrw): Fix immediate constraint. @@ -3729,7 +3735,7 @@ vec_extractv16qi, vec_initv16qi): New. * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define. - (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x, + (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use constructor form. (_mm_load_pd, _mm_store_pd): Use plain dereference. diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h index 4ed29bbbfca..9b66a633ba1 100644 --- a/gcc/config/ia64/hpux.h +++ b/gcc/config/ia64/hpux.h @@ -91,13 +91,6 @@ do { \ %{mlp64:-L/usr/lib/hpux64/libp} -lgprof} \ %{!symbolic:-lc}}" -#ifndef CROSS_COMPILE -#undef LIBGCC_SPEC -#define LIBGCC_SPEC \ - "%{shared-libgcc:%{!mlp64:-lgcc_s}%{mlp64:-lgcc_s_hpux64} -lgcc} \ - %{!shared-libgcc:-lgcc}" -#endif - #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ { "ilp32", MASK_ILP32, "Generate ILP32 code" }, \ diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in index 91e564086ec..f444ff2b686 100644 --- a/gcc/mklibgcc.in +++ b/gcc/mklibgcc.in @@ -94,6 +94,9 @@ libgcov_c_dep='stmp-dirs $(srcdir)/libgcov.c $(srcdir)/gcov-io.h $(srcdir)/gcov- # Dependencies for fp-bit.c fpbit_c_dep='stmp-dirs config.status tsystem.h' +# Flag whether we need eh_dummy.c +need_eh_dummy= + if [ "$SHLIB_LINK" ]; then # Test -fvisibility=hidden. We need both a -fvisibility=hidden on # the command line, and a #define to prevent libgcc2.h etc from @@ -540,6 +543,19 @@ for ml in $MULTILIBS; do fi done + # If nothing went into libgcc_eh.a, create a dummy object - + # some linkers don't like totally empty archives. + if [ -z "$LIB2ADDEHSTATIC" ]; then + file=eh_dummy.c + out="libgcc/${dir}/eh_dummy${objext}" + need_eh_dummy=1 + + echo $out: stmp-dirs $file + echo " $gcc_compile" $flags '$(vis_hide)' -fexceptions -c $file -o $out + echo $libgcc_eh_a: $out + fi + + else # no libgcc_eh.a for file in $LIB2ADDEH; do case $file in @@ -760,6 +776,11 @@ echo " if [ -d \$\$d ]; then true; else $mkinstalldirs \$\$d; fi; \\" echo " done" echo " if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi" +if [ "$need_eh_dummy" ]; then + echo "eh_dummy.c:" + echo " echo 'struct eh_dummy;' > \$@" +fi + echo "" echo "install: all" for ml in $MULTILIBS; do -- 2.11.4.GIT