diff options
author | Devang Patel <dpatel@apple.com> | 2003-06-26 20:04:40 -0700 |
---|---|---|
committer | Devang Patel <dpatel@gcc.gnu.org> | 2003-06-26 20:04:40 -0700 |
commit | 6a08f7b337df863c8835f0fc66fd65d72c3824c8 (patch) | |
tree | d83a8d6ed732288799e53eadf75a909cdffd8111 /gcc/toplev.c | |
parent | 6ba701c8e99bcf81604a3bf9f69544434edd239e (diff) | |
download | gcc-6a08f7b337df863c8835f0fc66fd65d72c3824c8.zip gcc-6a08f7b337df863c8835f0fc66fd65d72c3824c8.tar.gz gcc-6a08f7b337df863c8835f0fc66fd65d72c3824c8.tar.bz2 |
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
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 20 |
1 files changed, 20 insertions, 0 deletions
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 |