diff options
| author | Ulrich Drepper <[email protected]> | 2006-05-31 15:50:43 +0000 |
|---|---|---|
| committer | Ulrich Drepper <[email protected]> | 2006-05-31 15:50:43 +0000 |
| commit | 8c56fe3b2c753234beb6f58a81c8b96f008226ef (patch) | |
| tree | d61ffb7018be1081e3bba89ba3e7c17338509259 /src/ld.c | |
| parent | df72c45805a859891ed0dcb854ee766f8ebef372 (diff) | |
Handle as-needed options.
Diffstat (limited to 'src/ld.c')
| -rw-r--r-- | src/ld.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -71,6 +71,8 @@ enum ARGP_no_gc_sections, ARGP_no_undefined, ARGP_conserve, + ARGP_as_needed, + ARGP_no_as_needed, #if YYDEBUG ARGP_yydebug, #endif @@ -192,6 +194,11 @@ Default rules of extracting from archive; weak references are not enough."), N_("Add/suppress addition indentifying link-editor to .comment section"), 0 }, + { "as-needed", ARGP_as_needed, NULL, 0, + N_("Only set DT_NEEDED for following dynamic libs if actually used"), 0 }, + { "no-as-needed", ARGP_no_as_needed, NULL, 0, + N_("Always set DT_NEEDED for following dynamic libs"), 0 }, + #if YYDEBUG { "yydebug", ARGP_yydebug, NULL, 0, N_("Select to get parser debug information"), 0 }, @@ -636,6 +643,8 @@ parse_opt_1st (int key, char *arg, case 'O': case ARGP_whole_archive: case ARGP_no_whole_archive: + case ARGP_as_needed: + case ARGP_no_as_needed: case 'L': case '(': case ')': @@ -732,6 +741,13 @@ parse_opt_2nd (int key, char *arg, ld_state.extract_rule = defaultextract; break; + case ARGP_as_needed: + ld_state.as_needed = true; + break; + case ARGP_no_as_needed: + ld_state.as_needed = false; + break; + case ARGP_static: case ARGP_dynamic: /* Enable/disable use for DSOs. */ @@ -1107,6 +1123,7 @@ ld_new_inputfile (const char *fname, enum file_type type) newfile->soname = newfile->fname = newfile->rfname = fname; newfile->file_type = type; newfile->extract_rule = ld_state.extract_rule; + newfile->as_needed = ld_state.as_needed; newfile->lazyload = ld_state.lazyload; newfile->status = not_opened; |
