bfd *the_bfd;
+ struct flag_info *section_flag_list;
+
/* Point to the next file - whatever it is, wanders up and down
archives */
union lang_statement_union *next;
/* Whether to search for this entry as a dynamic archive. */
unsigned int dynamic : 1;
- /* Whether DT_NEEDED tags should be added for dynamic libraries in
- DT_NEEDED tags from this entry. */
+ /* Set if a DT_NEEDED tag should be added not just for the dynamic library
+ explicitly given by this entry but also for any dynamic libraries in
+ this entry's needed list. */
unsigned int add_DT_NEEDED_for_dynamic : 1;
- /* Whether this entry should cause a DT_NEEDED tag only when
- satisfying references from regular files, or always. */
+ /* Set if this entry should cause a DT_NEEDED tag only when some
+ regular file references its symbols (ie. --as-needed is in effect). */
unsigned int add_DT_NEEDED_for_regular : 1;
/* Whether to include the entire contents of an archive. */
/* Set if the file was claimed from an archive. */
unsigned int claim_archive : 1;
+
+ /* Set if reloading an --as-needed lib. */
+ unsigned int reload : 1;
#endif /* ENABLE_PLUGINS */
} lang_input_statement_type;
walk_wild_section_handler_t walk_wild_section_handler;
struct wildcard_list *handler_data[4];
lang_section_bst_type *tree;
+ struct flag_info *section_flag_list;
};
typedef struct lang_address_statement_struct
{
lang_statement_header_type header;
bfd_vma output_offset;
- size_t size;
+ bfd_size_type size;
asection *output_section;
fill_type *fill;
} lang_padding_statement_type;
extern void lang_reset_memory_regions
(void);
extern void lang_do_assignments
- (void);
+ (lang_phase_type);
#define LANG_FOR_EACH_INPUT_STATEMENT(statement) \
lang_input_statement_type *statement; \
(etree_type *, int, fill_type *, const char *,
lang_output_section_phdr_list *, const char *);
-extern struct bfd_elf_version_tree *lang_elf_version_info;
-
extern struct bfd_elf_version_expr *lang_new_vers_pattern
(struct bfd_elf_version_expr *, const char *, const char *, bfd_boolean);
extern struct bfd_elf_version_tree *lang_new_vers_node