diff options
author | Alan Modra <amodra@gmail.com> | 2012-06-15 15:13:41 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-06-15 15:13:41 +0000 |
commit | d2667025dd30611514810c28bee9709e4623012a (patch) | |
tree | 7364422fa955cf289aef9008298bb0bc79394d65 /ld/ldlang.h | |
parent | 8e09ad05eda21f6772d6bcca1eb8b42e5d77be03 (diff) | |
download | gdb-d2667025dd30611514810c28bee9709e4623012a.zip gdb-d2667025dd30611514810c28bee9709e4623012a.tar.gz gdb-d2667025dd30611514810c28bee9709e4623012a.tar.bz2 |
ld/
* ldlang.h (lang_output_section_statement_type): Add after_end field.
(lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
(section_for_dot): Declare.
* ldlang.c (lang_size_sections_1): Correct comment.
(current_section): Move earlier.
(current_assign, prefer_next_section): New static vars.
(lang_do_assignments_1): Add found_end param. Detect _end
assignment to set found_end. Set os->after_end. Set above statics.
(lang_do_assignments): Adjust lang_do_assignments_1 call. Init
vars.
(section_for_dot): New function.
(lang_set_startof): Don't make an absolute symbol.
(lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
* ldexp.c (new_rel_from_abs): Use section_for_dot.
* emultempl/lnk960.em (symbol_at_beginning_of): New function.
(symbol_at_end_of): Likewise.
(lnk960_after_allocation): Use them.
* scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and
likewise before __bss_start.
ld/testsuite/
Update far too many tests.
Diffstat (limited to 'ld/ldlang.h')
-rw-r--r-- | ld/ldlang.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h index 7f1e743..d5ea8d2 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -165,6 +165,8 @@ typedef struct lang_output_section_statement_struct unsigned int ignored : 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 @@ -537,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 **); @@ -552,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; \ |