From 6a08f7b337df863c8835f0fc66fd65d72c3824c8 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Thu, 26 Jun 2003 20:04:40 -0700 Subject: final.c (debug_flush_symbol_queue): New function. * final.c (debug_flush_symbol_queue): New function. (debug_queue_symbol): New function. (debug_free_queue): New function. (debug_nesting): New variable. (symbol_queue): New variable. (symbol_queue_index): Same. (symbol_queue_size): Same. * debug.h (debug_flush_symbol_queue): New. (debug_queue_symbol): New. (debug_free_queue): New. (debug_nesting): New. (symbol_queue_index): New. * dbxout.c (DBXOUT_DECR_NESTING): New macro. (DBXOUT_DECR_NESTING_AND_RETURN): New macro. (dbxout_init): Delay symbol output. (dbxout_global_decl): Save, set and reset TREE_USED bit around dbxout_symbol() call. (dbxout_begin_function): Same. (dbxout_finish): Free symbol queue. (dbxout_type): Put appropriate symbols in queue. (dbxout_symbol): Put info for symbol's type in queue. Decrement/Increment nesting counts flush symbol queue appropriately. (dbxout_parms): Increment dbxout nesting. (dbxout_reg_parms): Same. * flags.h (flag_debug_only_used_symbols): New. * toplev.c (flag_debug_only_used_symbols): New variable. (lang_independent_options): Add entries for new option -feliminate-unused-debug-symbols. * common.opt: Add entry for -feliminate-unused-debug-symbols. * opts.c (common_handle_options): Same. * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as -feliminate-unused-debug-symbols. * doc/invoke.texi (Debugging Options): Document -feliminate-unused-debug-symbols. From-SVN: r68556 --- gcc/toplev.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gcc/toplev.c') diff --git a/gcc/toplev.c b/gcc/toplev.c index 6d1dd44..6fd02eb 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -402,6 +402,9 @@ int flag_eliminate_dwarf2_dups = 0; int flag_eliminate_unused_debug_types = 1; +/* Nonzero means emit debugging information only for symbols which are used. */ +int flag_debug_only_used_symbols = 0; + /* Nonzero if generating code to do profiling. */ int profile_flag = 0; @@ -1056,6 +1059,8 @@ static const lang_independent_options f_options[] = N_("Perform DWARF2 duplicate elimination") }, {"eliminate-unused-debug-types", &flag_dummy, 1, N_("Perform unused type elimination in debug info") }, + {"eliminate-unused-debug-symbols", &flag_dummy, 1, + N_("Perform unused type elimination in debug info") }, {"float-store", &flag_dummy, 1, N_("Do not store floats in registers") }, {"defer-pop", &flag_dummy, 1, @@ -4584,6 +4589,21 @@ general_init (char *argv0) init_ggc (); init_stringpool (); init_ttree (); + + /* APPLE LOCAL setrlimit */ +#ifdef RLIMIT_STACK + /* Get rid of any avoidable limit on stack size. */ + { + struct rlimit rlim; + + /* Set the stack limit huge. (Compiles normally work within + a megabyte of stack, but the normal limit on OSX is 512K for + some reason.) */ + getrlimit (RLIMIT_STACK, &rlim); + rlim.rlim_cur = rlim.rlim_max; + setrlimit (RLIMIT_STACK, &rlim); + } +#endif /* RLIMIT_STACK defined */ } /* Parse command line options and set default flag values, called -- cgit v1.1