]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
mklibgcc.in: If libgcc_eh.a would be empty, put a dummy object inside.
authorZack Weinberg <zack@gcc.gnu.org>
Sat, 19 Feb 2005 18:18:31 +0000 (18:18 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Sat, 19 Feb 2005 18:18:31 +0000 (18:18 +0000)
* 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
gcc/config/ia64/hpux.h
gcc/mklibgcc.in

index 34a6c74141f084e27fa2daff6b30b76e1650c0ef..7b1551883ddafba313d0c06a2b494373f3272006 100644 (file)
@@ -1,3 +1,9 @@
+2005-02-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * 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  <rsandifo@redhat.com>
 
        PR other/19525
        * 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  <jakub@redhat.com>
 
 2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * 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.
 
 2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
-       * config/rs6000/t-rtems: Completely reworked. 
+       * config/rs6000/t-rtems: Completely reworked.
 
 2005-02-17  Ira Rosen  <irar@il.ibm.com>
 
-        * 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  <irar@il.ibm.com>
 
        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.
        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,
        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,
        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.
 
 
        * doc/install.texi (Specific): Update link for Darwin-specific
        tool binary site.
-       
+
 2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
 
        * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
 
 2005-02-15  Richard Henderson  <rth@redhat.com>
 
-       * 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  <kazu@cs.umass.edu>
        * rtl.h: Adjust the prototype for recompute_reg_usage.
 
 2005-02-14  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        * tree-dump.c (dump_files): Update to reflect new member
        of dump_file_info.
        (dump_register): Add new argument.
        * 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.
 
 
 2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
 
-       * 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  <rguenth@gcc.gnu.org>
        (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):
        (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  <rsandifo@redhat.com>
 
 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
-       * 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  <roger@eyesopen.com>
        (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  <leehod@il.ibm.com>
            Dorit Naishlos  <dorit@il.ibm.com>
        (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
        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.
 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
 
        * 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.
 
        * 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  <dalej@apple.com>
-       
+
        * doc/extend.texi (nested functions): Fix linkage description.
        Clarify that static is not allowed.
 
 2005-01-31  Dale Johannesen  <dalej@apple.com>
-       
+
        * config/rs6000/darwin.md (movsf_low_di):  Make work.
        (movdf_low_di):  Make work.
 
 2005-01-30  Daniel Berlin  <dberlin@dberlin.org>
 
        Fix PR tree-optimization/19624
-       
+
        * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
        * tree-ssa-pre.c: Add cfgloop.h.
        Update comment.
        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.
 
 2005-01-26  Steven Bosscher  <stevenb@suse.de>
 
-       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.
 
 2005-01-21  Mark Dettinger  <dettinge@de.ibm.com>
 
-       * 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
        (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  <kazu@cs.umass.edu>
 
        PR tree-optimization/15349
 2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
        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  <dvorakz@suse.cz>
 2005-01-15  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
        * 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.
 
        (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  <jakub@redhat.com>
        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.
        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.
index 4ed29bbbfca0406b8b45ab84ad0023f1e20f0460..9b66a633ba1925f2648f1d913cd43e1bdc73431e 100644 (file)
@@ -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" }, \
index 91e564086ec997709d0d2bd038958f9937b8a14b..f444ff2b686a5806c27adafeeb43b5a40222098d 100644 (file)
@@ -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