gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
authorEric Christopher <echristo@gcc.gnu.org>
Wed, 3 Aug 2005 23:35:06 +0000 (23:35 +0000)
committerEric Christopher <echristo@gcc.gnu.org>
Wed, 3 Aug 2005 23:35:06 +0000 (23:35 +0000)
2005-08-03  Eric Christopher  <echristo@apple.com>

        * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
        * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
        spec.

From-SVN: r102719

gcc/ChangeLog
gcc/config/darwin.h
gcc/gcc.c

index 8a061aed2eed2fae1fbf9a4ffde3288ac0e00e96..afeda5c2c6dd9636dca36df0fa1331236b61f0f0 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-03  Eric Christopher  <echristo@apple.com>
+
+       * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
+       * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
+       spec.
+
 2005-08-04  Jan Hubicka  <jh@suse.cz>
 
        * profile.c (branch_prob): Split edges with goto locus on them
@@ -73,7 +79,7 @@
 2005-08-02  Richard Henderson  <rth@redhat.com>
 
        PR 23196
-       * explow.c (memory_address): Remove special-case for 
+       * explow.c (memory_address): Remove special-case for
        virtual_stack_vars_rtx and virtual_incoming_args_rtx.
 
 2005-08-02  Diego Novillo  <dnovillo@redhat.com>
 
        PR bootstrap/23131
        * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
-       string. 
+       string.
        * configure: Regenerated.
 
 2005-07-29  Paul Brook  <paul@codesourcery.com>
        (includes): Includes 5k.md.
        * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
        * doc/invoke.texi (MIPS Options): Updated cpu name supported with
-       -march flag.    
+       -march flag.
 
 2005-07-29  Diego Novillo  <dnovillo@redhat.com>
 
 2005-07-27  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * params.def: Fixed comment.
-       
+
 2005-07-27  Bjoern Haase  <bjoern.m.haase@web.de>
 
        PR target/19885
 2005-07-27  Dorit Nuzman  <dorit@il.ibm.com>
 
        PR tree-optimization/23073
-       * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call 
+       * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
        vect_print_dump_info before fprintf.
 
 2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
        inhibit_libc.
        * configure.ac (inhibit_libc): Set it to true/false.
        (--with-build-sysroot): New option.  Use it to set
-       SYSTEM_HEADER_DIR. 
+       SYSTEM_HEADER_DIR.
        * configure: Regenerated.
 
 2005-07-25  Manfred Hollstein  <mh@suse.com>
        (dump_data_reference): Use a correct field name.
        (analyze_array): Make static. Initialize new data-ref fields.
        (analyze_indirect_ref): New function.
-       (init_data_ref): Initialize new data-ref fields.   
-       (strip_conversion): Moved from tree-vect-analyze.c. 
+       (init_data_ref): Initialize new data-ref fields.
+       (strip_conversion): Moved from tree-vect-analyze.c.
        (analyze_offset_expr, get_ptr_offset, address_analysis,
        object_analysis): Likewise.
        (analyze_offset): New function.
        (access_functions_are_affine_or_constant_p): Call macro to get the
        address of access functions.
        (compute_all_dependences): Add new parameter
-       compute_self_and_read_read_dependences. Compute self and read-read  
+       compute_self_and_read_read_dependences. Compute self and read-read
        dependences if it is true.
        (find_data_references_in_loop): Call create_data_ref. Initialize new
        data-ref fields.
        * tree-data-ref.h (struct first_location_in_loop): New structure. Move
        fields from stmt_vinfo.
        (struct base_object_info): New structure.
-       (struct data_reference): Move fields to base_object_info. Add fields   
+       (struct data_reference): Move fields to base_object_info. Add fields
        first_location and object_info for above structures. Move fields from
        stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
        aligned_to.  Add macros to access the new fields.
        (vect_strip_conversion): Remove.
        * tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
        (struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
-       datarefs. Add new field ddrs. 
+       datarefs. Add new field ddrs.
        Add macros for the new fields access.
        (struct _stmt_vec_info): Remove: base_address, initial_offset, step,
        base_aligned_p, misalignment, memtag, ptr_info and subvars.
 
        * Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
        * configure.ac: Check for -Wmissing-format-attribute.
-       
+
        * configure: Regenerate.
 
 2005-07-23  Richard Henderson  <rth@redhat.com>
        * config/crx/crx.md: New file.
        * config/crx/crx.opt: New file.
        * config/crx/t-crx: New file.
-       
+
 2005-07-22  Manfred Hollstein  <mh@suse.com>
 
        * tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
            Laurent GUERBY  <laurent@guerby.net>
 
        PR tree-optimization/22336
-       * function.c (record_block_change): Check for 
+       * function.c (record_block_change): Check for
        cfun->ib_boundaries_block.
-       
+
 2005-07-21  James A. Morrison  <phython@gcc.gnu.org>
 
        * fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
        and complex_ssa_name_components here.
 
 2005-07-20  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        * alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
        revert to returning false.
 
 
        PR middle-end/21180
        * fold-const.c (fold_build1): Add checksum for the operands.
-       (fold_build2): Likewise.        
+       (fold_build2): Likewise.
        (fold_build3): Likewise.
 
 2005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
 2005-07-19  Devang Patel  <dpatel@apple.com>
 
        * dbxout.c (dbxout_type): Check Objective-C++ lang.
-       
+
 2005-07-19  Richard Henderson  <rth@redhat.com>
 
        PR tree-opt/22278
 
        * c.opt (Wpragmas): New.
        * doc/invoke.texi: Document it.
-       
+
        * function.c (do_warn_unused_parameter): Add warning control to
        warning call.
        * c-decl.c (warn_if_shadowing): Likewise.
        (handle_pragma_extern_prefix): Likewise.
        (maybe_apply_renaming_pragma): Likewise.
        (handle_pragma_visibility): Likewise.
-       
+
        * config/c4x/c4x-c.c (BAD): Likewise.
        (c4x_parse_pragma): Likewise.
        * config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
        * tree-promote-statics.c: Removed.
        * common.opt: Removed flag-promote-statics.
        * opts.c: Ditto.
-       * passes.c: Removed tree-promote-statics pass. 
+       * passes.c: Removed tree-promote-statics pass.
        * tree-pass.h: Ditto.
        * timevar.def: Removed TV_PROMOTE_STATICS.
 
        * config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
        and *-*-freebsd9.
        * config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
-       
+
 2005-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        PR c/22476
 2005-07-18  Daniel Berlin  <dberlin@dberlin.org>
 
        Fix PR tree-optimization/22483
-       
+
        * tree-complex.c (create_components): Use
        safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
        * tree-flow-inline.h (fill_referenced_var_vec): New function.
        in 64-bit mode the same as DImode in 32-bit mode.
        (ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
        ix86_split_lshr): Likewise. Rename to no longer refer to a specific
-       mode. Add new mode parameter. 
+       mode. Add new mode parameter.
        * config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
        * config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
        x86_64_shift_adj): New expanders.
        * tree-ssa-pre.c (is_copy_stmt): New function.
        (follow_copies_till_vuse): Ditto.
        (do_eustores): Ditto.
-       (gate_eustores): Ditto. 
-       
+       (gate_eustores): Ditto.
+
 2005-07-16  Richard Henderson  <rth@redhat.com>
 
        * gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
        ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
        ipa-type-escape.h, tree-promote-statics.c
        * ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
-       ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h, 
+       ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
        tree-promote-statics.c: new files.
        * alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
        nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
        int nonlocal_set_p, mark_constant_function): Deleted.
-       (rest_of_handle_cfg): Removed call to mark_constant_function. 
+       (rest_of_handle_cfg): Removed call to mark_constant_function.
        (nonoverlapping_component_refs_p): Added calls to support
-       type based aliasing.    
+       type based aliasing.
        * tree-ssa-alias.c (may_alias_p,
        compute_flow_insensitive_aliasing): Ditto.
        * calls.c (flags_from_decl_or_type): Removed reference to
-       cgraph_rtl_info. 
+       cgraph_rtl_info.
        * c-typeck.c (convert_arguments): Make builtins tolerant of having
        too many arguments.  This is necessary for Spec 2000.
        * cgraph.h (const_function, pure_function): Removed.
-       * common.opt: Added "fipa-pure-const", "fipa-reference",  
+       * common.opt: Added "fipa-pure-const", "fipa-reference",
        "fipa-type-escape", and "ftree-promote-static".
        * opts.c: Ditto.
-       * passes.c: Added ipa and tree-promote-statics passes. 
+       * passes.c: Added ipa and tree-promote-statics passes.
        * timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
        TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
        * tree-dfa.c (referenced_var_lookup_if_exists): New function.
-       * tree-flow.h: Added exposed sra calls and addition of 
+       * tree-flow.h: Added exposed sra calls and addition of
        reference_vars_info field for FUNCTION_DECLS.
        * tree-pass.h: Added passes.
        * tree-sra.c: (sra_init_cache): New function.
        special var here.
        (need_to_solve): New function.
        (compute_points_to_sets): Use it.
-       
+
 2005-07-15  Jan Hubicka  <jh@suse.cz>
 
        * cfg.c (update_bb_profile_for_threading): More diagnostic.
        if *rhs_p is not a SSA_NAME.
 
 2005-07-12  Daniel Berlin  <dberlin@dberlin.org>
-       
-       Fix PR tree-optimization/22422 
+
+       Fix PR tree-optimization/22422
        * tree-ssa-structalias.c (struct variable_info): Add flag for
        special vars.
        (get_varinfo): Now a static function.
        (do_sd_constraint): Ditto.
        (do_structure_copy): Check for special variable.
        (find_func_aliases): Ditto.
-       (init_base_vars): Set special vars properly.    
+       (init_base_vars): Set special vars properly.
 
 2005-07-13  Jan Hubicka  <jh@suse.cz>
 
        (GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
 
 2005-07-11  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        * print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
        * tree.h (DECL_ARGUMENT_FLD): New macro.
 
 2005-07-11  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        Fix PR tree-optimization/22404
 
        * tree-ssa-structalias.c (create_variable_info_for): Use
 
        * tree-ssa-structalias.c (update_alias_info): Change counting of
        references to not include vdefs.
-       
+
 2005-07-10  Daniel Berlin  <dberlin@dberlin.org>
 
        * tree-ssa-alias.c (free_used_part_map): Add missing free.
        visibility on regular DECL's.
        (merge_decls): Fix the copying of decl nodes of various types for
        the new structures.  Don't update RTL, section name, weak status,
-       etc, on DECL's without RTL.     
+       etc, on DECL's without RTL.
        (grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
        Don't check volatile on non-variable types.
        (store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
        to check whether we have seen arguments.
        * c-objc-common.c (c_tree_printer): Reverse order of tests so that
-       flag is checked before field (flag is common, field is not).    
+       flag is checked before field (flag is common, field is not).
        * dwarf2out.c (decl_ultimate_origin):  Only DECL's with
        TS_DECL_COMMON could have an origin.
        (add_location_or_const_value_attribute): Don't check section name
        (struct tree_result_decl): Ditto.
        (union tree_node): Add new structures.
        * var-tracking.c (track_expr_p): Reverse order of tests.
-       
+
        * doc/c-tree.texi: Add documentation on DECL node internal structure.
 
 2005-07-08  Kazu Hirata  <kazu@codesourcery.com>
 
        * config/s390/s390-protos.h (s390_expand_clrmem): Delete.
        (s390_expand_setmem): New.
-       * config/s390/s390.c: Likewise. 
+       * config/s390/s390.c: Likewise.
        (print_shift_count_operand): Truncate to 12 bits instead of 6.
        Adapt comments.
        * config/s390/s390.md: ("setmem<mode>"): Accept character as
        ("setmem_long", "*setmem_long"): ... this.
 
 2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
-       
+
        * config/s390/s390.c: (optimization_options): Enable
        TARGET_MVCLE at -Os.
        * doc/invoke.texi: Document changes in default behaviour.
 2005-07-06  Fariborz Jahanian <fjahanian@apple.com>
 
        * doc/invoke.texi: Update -fforce-mem documentation.
-       * dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove 
+       * dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
        code for -fforce-mem.
        * expmed.c: (store_bit_field,store_fixed_bit_field,
        extract_bit_field): Ditto.
        variable sized types.
        Use correct type for intermediate structure on *a = *b structure
        copies.
-               
+
 2005-07-06  Jakub Jelinek  <jakub@redhat.com>
 
        * config/rs6000/rs6000.h (RS6000_VARARGS_AREA, RS6000_VARARGS_SIZE):
        (vect_print_dump_info): Use vect_loop_location.
        (new_loop_vec_info): Do not set LOOP_VINFO_LOC.
        (vectorize_loops): Set vect_loop_location.
-       * tree-vect-analyze.c (vect_analyze_offset_expr, 
+       * tree-vect-analyze.c (vect_analyze_offset_expr,
        vect_determin_vectorization_factor, vect_analyze_operations,
        vect_analyze_scalar_cycles, vect_analyze_data_ref_dependence,
        vect_analyze_data_ref_dependences, vect_compute_data_ref_alignment,
        vect_analyze_loop): Adjust vect_print_dump_info API.
        * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
        vect_create_data_ref_ptr, vect_init_vector, vect_get_vec_def_for_operand,
-       vect_finish_stmt_generation, vectorizable_assignment, 
-       vectorizable_operation, vectorizable_store, vectorizable_load, 
+       vect_finish_stmt_generation, vectorizable_assignment,
+       vectorizable_operation, vectorizable_store, vectorizable_load,
        vectorizable_live_operation, vectorizable_condition, vect_transform_stmt,
        vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
        vect_gen_ninters_for_prolog_loop, vect_do_peeling_for_alignment,
        (pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
        (TARGET_CANNOT_FORCE_CONST_MEM): Define.
        (emit_move_sequence): Handle TLS addresses.
-       (pa_encode_section_info): Call default handler to handle common 
+       (pa_encode_section_info): Call default handler to handle common
        sections.
        * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
        (CONSTANT_ADDRESS_P): Reject TLS operands.
        (TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
        * config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
        (UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
-       (UNSPEC_TLSLE): Define new constants. 
+       (UNSPEC_TLSLE): Define new constants.
        (tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
        * config/pa/predicates.md (symbolic_operand): Reject TLS operands.
        (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
        pass_postreload_cse): New.
        * profile.c (gate_handle_profiling, pass_profiling,
        rest_of_handle_branch_prob, pass_branch_prob): New.
-       * recog.c (pass pass_split_for_shorten_branches, gate_do_final_split, 
+       * recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
        pass_split_before_regstack, gate_handle_split_before_regstack,
        gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
        rest_of_handle_split_all_insns, pass_split_all_insns): New.
        dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
        dump_switch_p, dump_flag_name): Moved to tree-pass.h.
        (dump_info_p, dump_flag): Moved to tree-dump.h.
-       
+
        * Makefile.in: Adjust dependencies for tree-pretty-print.c,
        cgraph.c, opts.c.
        * passes.c (finish_optimization_passes): Use dump_begin
        pass_init_datastructures, pass_fixup_cfg): Make non-static.
        * tree-pretty-print.c: Include tree-pass.h.
        * cgraph.c: Include tree-dump.h.
-       
+
 2005-07-04  Daniel Berlin  <dberlin@dberlin.org>
 
        * tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
 2005-07-04  Daniel Berlin  <dberlin@dberlin.org>
 
        Fix PR tree-optimization/22279
-       
+
        * tree-ssa-structalias.c (offset_overlaps_with_access): Use
        correct operator.
-       
+
 2005-07-04  J"orn Rennecke <joern.rennecke@st.com>
 
        * sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
        <GOTO_EXPR>, <SWITCH_EXPR>: Add.
        (dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
        is enabled.
-       
+
 2005-07-03  Joseph S. Myers  <joseph@codesourcery.com>
 
        * c-common.h (GCC_DIAG_STYLE): Define.
index c33e2030e4a97b22e05522f1425415a8aa46323f..c611cb8b1da7af4cc5b9da2cb8a4177ca9be82a7 100644 (file)
@@ -96,12 +96,12 @@ Boston, MA 02110-1301, USA.  */
    name, that also takes an argument, needs to be modified so the
    prefix is different, otherwise a '*' after the shorter option will
    match with the longer one.
-   
+
    The SUBTARGET_OPTION_TRANSLATE_TABLE macro, which _must_ be defined
    in gcc/config/{i386,rs6000}/darwin.h, should contain any additional
    command-line option translations specific to the particular target
    architecture.  */
-   
+
 #define TARGET_OPTION_TRANSLATE_TABLE \
   { "-all_load", "-Zall_load" },  \
   { "-allowable_client", "-Zallowable_client" },  \
@@ -207,7 +207,7 @@ Boston, MA 02110-1301, USA.  */
     %{@:-o %f%u.out}%{!@:%{o*}%{!o:-o a.out}} \
     %{!Zdynamiclib:%{!A:%{!nostdlib:%{!nostartfiles:%S}}}} \
     %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate|coverage:-lgcov} \
-    %{!nostdlib:%{!nodefaultlibs:%G %L}} \
+    %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \
     %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}}"
 
 /* Please keep the random linker options in alphabetical order (modulo
@@ -393,9 +393,9 @@ Boston, MA 02110-1301, USA.  */
    links to, so there's no need for weak-ness for that.  */
 #define GTHREAD_USE_WEAK 0
 
-/* The Darwin linker imposes two limitations on common symbols: they 
+/* The Darwin linker imposes two limitations on common symbols: they
    can't have hidden visibility, and they can't appear in dylibs.  As
-   a consequence, we should never use common symbols to represent 
+   a consequence, we should never use common symbols to represent
    vague linkage. */
 #undef USE_COMMON_FOR_ONE_ONLY
 #define USE_COMMON_FOR_ONE_ONLY 0
@@ -414,7 +414,7 @@ Boston, MA 02110-1301, USA.  */
 #undef FRAME_BEGIN_LABEL
 #define FRAME_BEGIN_LABEL "EH_frame"
 
-/* Emit a label for the FDE corresponding to DECL.  EMPTY means 
+/* Emit a label for the FDE corresponding to DECL.  EMPTY means
    emit a label for an empty FDE. */
 #define TARGET_ASM_EMIT_UNWIND_LABEL darwin_emit_unwind_label
 
@@ -567,7 +567,7 @@ Boston, MA 02110-1301, USA.  */
 
 /* Ensure correct alignment of bss data.  */
 
-#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL                                   
+#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL
 #define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN)   \
   do {                                                                 \
     unsigned HOST_WIDE_INT _new_size = SIZE;                           \
index c62dbbbe53c5c942509c18ada0a52daab2e40dce..7263b5f5309ea3a6aed6c74a3ef207fc6b066808 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -602,7 +602,7 @@ proper position among the other output files.  */
 }} %{fmudflap|fmudflapth: --wrap=main}"
 #endif
 #ifndef MFLIB_SPEC
-#define MFLIB_SPEC "%{fmudflap|fmudflapth: -export-dynamic}" 
+#define MFLIB_SPEC "%{fmudflap|fmudflapth: -export-dynamic}"
 #endif
 
 /* config.h can define LIBGCC_SPEC to override how and when libgcc.a is
@@ -674,7 +674,7 @@ proper position among the other output files.  */
 #ifdef TARGET_LIBC_PROVIDES_SSP
 #define LINK_SSP_SPEC "%{fstack-protector:}"
 #else
-#define LINK_SSP_SPEC "%{fstack-protector:-lssp_nonshared -lssp }"
+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp }"
 #endif
 #endif
 
@@ -920,16 +920,16 @@ static const struct compiler default_compilers[] =
   {".m",  "#Objective-C", 0, 0, 0}, {".mi",  "#Objective-C", 0, 0, 0},
   {".mm", "#Objective-C++", 0, 0, 0}, {".M", "#Objective-C++", 0, 0, 0},
   {".mii", "#Objective-C++", 0, 0, 0},
-  {".cc", "#C++", 0, 0, 0}, {".cxx", "#C++", 0, 0, 0}, 
-  {".cpp", "#C++", 0, 0, 0}, {".cp", "#C++", 0, 0, 0}, 
+  {".cc", "#C++", 0, 0, 0}, {".cxx", "#C++", 0, 0, 0},
+  {".cpp", "#C++", 0, 0, 0}, {".cp", "#C++", 0, 0, 0},
   {".c++", "#C++", 0, 0, 0}, {".C", "#C++", 0, 0, 0},
   {".CPP", "#C++", 0, 0, 0}, {".ii", "#C++", 0, 0, 0},
   {".ads", "#Ada", 0, 0, 0}, {".adb", "#Ada", 0, 0, 0},
-  {".f", "#Fortran", 0, 0, 0}, {".for", "#Fortran", 0, 0, 0}, 
+  {".f", "#Fortran", 0, 0, 0}, {".for", "#Fortran", 0, 0, 0},
   {".F", "#Fortran", 0, 0, 0}, {".FOR", "#Fortran", 0, 0, 0},
   {".FPP", "#Fortran", 0, 0, 0},
   {".f90", "#Fortran 95", 0, 0, 0}, {".f95", "#Fortran 95", 0, 0, 0},
-  {".fpp", "#Fortran", 0, 0, 0}, {".F", "#Fortran", 0, 0, 0}, 
+  {".fpp", "#Fortran", 0, 0, 0}, {".F", "#Fortran", 0, 0, 0},
   {".FOR", "#Fortran", 0, 0, 0}, {".FPP", "#Fortran", 0, 0, 0},
   {".r", "#Ratfor", 0, 0, 0},
   {".p", "#Pascal", 0, 0, 0}, {".pas", "#Pascal", 0, 0, 0},
@@ -1120,7 +1120,7 @@ static const struct option_map option_map[] =
    {"--static", "-static", 0},
    {"--std", "-std=", "aj"},
    {"--symbolic", "-symbolic", 0},
-   {"--sysroot", "--sysroot=", "aj"}, 
+   {"--sysroot", "--sysroot=", "aj"},
    {"--time", "-time", 0},
    {"--trace-includes", "-H", 0},
    {"--traditional", "-traditional", 0},
@@ -1441,7 +1441,7 @@ static const char *gcc_libexec_prefix;
 #ifndef STANDARD_STARTFILE_PREFIX_2
 #define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
 #endif
+
 #ifdef CROSS_COMPILE  /* Don't use these prefixes for a cross compiler.  */
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
@@ -3239,7 +3239,7 @@ process_command (int argc, const char **argv)
     {
       gcc_exec_prefix = make_relative_prefix (argv[0], standard_bindir_prefix,
                                              standard_exec_prefix);
-      gcc_libexec_prefix = make_relative_prefix (argv[0], 
+      gcc_libexec_prefix = make_relative_prefix (argv[0],
                                                 standard_bindir_prefix,
                                                 standard_libexec_prefix);
       if (gcc_exec_prefix)
@@ -4797,7 +4797,7 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
                        bool files_differ = strcmp (input_realname, temp_realname);
                        free (input_realname);
                        free (temp_realname);
-                       if (files_differ)       
+                       if (files_differ)
 #endif
                          {
                            temp_filename = save_string (temp_filename,
@@ -5656,10 +5656,10 @@ handle_braces (const char *p)
   while (*p++ != '}');
 
   return p;
-  
+
  invalid:
   fatal ("braced spec '%s' is invalid at '%c'", orig, *p);
-  
+
 #undef SKIP_WHITE
 }
 
@@ -6425,13 +6425,13 @@ main (int argc, const char **argv)
   for (i = 0; (int) i < n_infiles; i++)
     {
       const char *name = infiles[i].name;
-      struct compiler *compiler = lookup_compiler (name, 
-                                                  strlen (name), 
+      struct compiler *compiler = lookup_compiler (name,
+                                                  strlen (name),
                                                   infiles[i].language);
-      
+
       if (compiler && !(compiler->combinable))
        combine_inputs = false;
-      
+
       if (lang_n_infiles > 0 && compiler != input_file_compiler
          && infiles[i].language && infiles[i].language[0] != '*')
        infiles[i].incompiler = compiler;
@@ -6451,7 +6451,7 @@ main (int argc, const char **argv)
       infiles[i].compiled = false;
       infiles[i].preprocessed = false;
     }
-  
+
   if (combine_flag && save_temps_flag)
     {
       bool save_combine_inputs = combine_inputs;
@@ -6462,7 +6462,7 @@ main (int argc, const char **argv)
       for (i = 0; (int) i < n_infiles; i++)
        {
          int this_file_error = 0;
-         
+
          input_file_number = i;
          set_input (infiles[i].name);
          if (infiles[i].incompiler
@@ -6571,7 +6571,7 @@ main (int argc, const char **argv)
 
   /* Reset the input file name to the first compile/object file name, for use
      with %b in LINK_SPEC. We use the first input file that we can find
-     a compiler to compile it instead of using infiles.language since for 
+     a compiler to compile it instead of using infiles.language since for
      languages other than C we use aliases that we then lookup later.  */
   if (n_infiles > 0)
     {
@@ -7342,7 +7342,7 @@ print_multilib_info (void)
            invalid_select:
              fatal ("multilib select '%s' is invalid", multilib_select);
            }
-         
+
          ++p;
        }
 
@@ -7613,7 +7613,7 @@ replace_outfile_spec_function (int argc, const char **argv)
   /* Must have exactly two arguments.  */
   if (argc != 2)
     abort ();
-  
+
   for (i = 0; i < n_infiles; i++)
     {
       if (outfiles[i] && !strcmp (outfiles[i], argv[0]))
@@ -7622,7 +7622,7 @@ replace_outfile_spec_function (int argc, const char **argv)
   return NULL;
 }
 
-/* Given two version numbers, compares the two numbers.  
+/* Given two version numbers, compares the two numbers.
    A version number must match the regular expression
    ([1-9][0-9]*|0)(\.([1-9][0-9]*|0))*
 */
@@ -7631,7 +7631,7 @@ compare_version_strings (const char *v1, const char *v2)
 {
   int rresult;
   regex_t r;
-  
+
   if (regcomp (&r, "^([1-9][0-9]*|0)(\\.([1-9][0-9]*|0))*$",
               REG_EXTENDED | REG_NOSUB) != 0)
     abort ();
@@ -7660,7 +7660,7 @@ compare_version_strings (const char *v1, const char *v2)
    and nothing if it doesn't.
 
    The supported <comparison-op> values are:
-   
+
    >=  true if switch is a later (or same) version than arg1
    !>  opposite of >=
    <   true if switch is an earlier version than arg1
@@ -7730,7 +7730,7 @@ version_compare_spec_function (int argc, const char **argv)
     case '<' << 8 | '>':
       result = comp1 < 0 || comp2 >= 0;
       break;
-      
+
     default:
       abort ();
     }