diff options
author | Alan Modra <amodra@gmail.com> | 2012-03-05 22:43:40 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-03-05 22:43:40 +0000 |
commit | 66be105571d3494a28c0062f8bc663822121d838 (patch) | |
tree | 34de3a757605fafdb8ebeb907f4af86ceeb29490 /ld/ldgram.y | |
parent | d8df103b509c3750e9702b17b8af193cb93437c7 (diff) | |
download | binutils-gdb-66be105571d3494a28c0062f8bc663822121d838.tar.gz |
* ldlang.h (struct lang_input_statement_flags): New, extract from..
(lang_input_statement_type): ..here. New field "flags".
(input_flags): Declare.
(missing_file): Delete.
* ldmain.h (whole_archive): Delete.
(add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
* ld.h (ld_config_type <dynamic_link>): Delete.
* ldmain.c (whole_archive): Delete.
(add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
* ldlang.c (missing_file, ldlang_sysrooted_script): Delete.
(input_flags): New variable. Replace all uses of config.dynamic_link,
missing_file, ldlang_sysrooted_script, whole_archive,
add_DT_NEEDED_for_regular and add_DT_NEEDED_for_dynamic with fields
from here.
* ldfile.c: Likewise.
* ldgram.y: Likewise.
* ldmain.c: Likewise.
* ldwrite.c: Likewise.
* lexsup.c: Likewise.
* plugin.c: Likewise.
* emultempl/aix.em: Likewise.
* emultempl/armelf.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/pep.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/scoreelf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/vms.em: Likewise.
* ldlang.c (new_afile): Use memset to init zero fields.
(load_symbols): Simplify save and restore of flags around command
file processing.
* ldfile.c (is_sysrooted_pathname): Tidy.
Diffstat (limited to 'ld/ldgram.y')
-rw-r--r-- | ld/ldgram.y | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ld/ldgram.y b/ld/ldgram.y index b8b5008a13c..923ac0f8f44 100644 --- a/ld/ldgram.y +++ b/ld/ldgram.y @@ -386,17 +386,20 @@ input_list: { lang_add_input_file($2,lang_input_file_is_l_enum, (char *)NULL); } | AS_NEEDED '(' - { $<integer>$ = add_DT_NEEDED_for_regular; add_DT_NEEDED_for_regular = TRUE; } + { $<integer>$ = input_flags.add_DT_NEEDED_for_regular; + input_flags.add_DT_NEEDED_for_regular = TRUE; } input_list ')' - { add_DT_NEEDED_for_regular = $<integer>3; } + { input_flags.add_DT_NEEDED_for_regular = $<integer>3; } | input_list ',' AS_NEEDED '(' - { $<integer>$ = add_DT_NEEDED_for_regular; add_DT_NEEDED_for_regular = TRUE; } + { $<integer>$ = input_flags.add_DT_NEEDED_for_regular; + input_flags.add_DT_NEEDED_for_regular = TRUE; } input_list ')' - { add_DT_NEEDED_for_regular = $<integer>5; } + { input_flags.add_DT_NEEDED_for_regular = $<integer>5; } | input_list AS_NEEDED '(' - { $<integer>$ = add_DT_NEEDED_for_regular; add_DT_NEEDED_for_regular = TRUE; } + { $<integer>$ = input_flags.add_DT_NEEDED_for_regular; + input_flags.add_DT_NEEDED_for_regular = TRUE; } input_list ')' - { add_DT_NEEDED_for_regular = $<integer>4; } + { input_flags.add_DT_NEEDED_for_regular = $<integer>4; } ; sections: |