X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fldlang.h;h=d5ea8d20e34c9c4697d0aa14b4af09d2df8f0d20;hb=569283d40e3546979fd7c222c61408dd107de32b;hp=9ed3952c4b221d927a4f68451685e8b3ad791b23;hpb=66be105571d3494a28c0062f8bc663822121d838;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldlang.h b/ld/ldlang.h index 9ed3952c4b..d5ea8d20e3 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -163,8 +163,10 @@ typedef struct lang_output_section_statement_struct unsigned int all_input_readonly : 1; /* If this section should be ignored. */ unsigned int ignored : 1; - /* If there is a symbol relative to this section. */ - unsigned int section_relative_symbol : 1; + /* If this section should update "dot". Prevents section being ignored. */ + unsigned int update_dot : 1; + /* If this section is after assignment to _end. */ + unsigned int after_end : 1; } lang_output_section_statement_type; typedef struct @@ -236,10 +238,7 @@ struct lang_input_statement_flags /* 1 means search a set of directories for this file. */ unsigned int search_dirs : 1; - /* 1 means this was found in a search directory marked as sysrooted, - if search_dirs is false, otherwise, that it should be - searched in ld_sysroot before any other location, as long as it - starts with a slash. */ + /* 1 means this was found when processing a script in the sysroot. */ unsigned int sysrooted : 1; /* 1 means this is base file of incremental load. @@ -317,7 +316,8 @@ typedef struct typedef struct lang_wild_statement_struct lang_wild_statement_type; typedef void (*callback_t) (lang_wild_statement_type *, struct wildcard_list *, - asection *, lang_input_statement_type *, void *); + asection *, struct flag_info *, + lang_input_statement_type *, void *); typedef void (*walk_wild_section_handler_t) (lang_wild_statement_type *, lang_input_statement_type *, @@ -539,10 +539,6 @@ extern void lang_float extern void lang_leave_output_section_statement (fill_type *, const char *, lang_output_section_phdr_list *, const char *); -extern void lang_abs_symbol_at_end_of - (const char *, const char *); -extern void lang_abs_symbol_at_beginning_of - (const char *, const char *); extern void lang_statement_append (lang_statement_list_type *, lang_statement_union_type *, lang_statement_union_type **); @@ -554,6 +550,8 @@ extern void lang_reset_memory_regions (void); extern void lang_do_assignments (lang_phase_type); +extern asection *section_for_dot + (void); #define LANG_FOR_EACH_INPUT_STATEMENT(statement) \ lang_input_statement_type *statement; \ @@ -619,7 +617,7 @@ extern void lang_leave_group (void); extern void lang_add_section (lang_statement_list_type *, asection *, - lang_output_section_statement_type *); + struct flag_info *, lang_output_section_statement_type *); extern void lang_new_phdr (const char *, etree_type *, bfd_boolean, bfd_boolean, etree_type *, etree_type *);