diff options
author | Alan Modra <amodra@gmail.com> | 2019-08-10 10:30:19 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-08-10 17:16:16 +0930 |
commit | 36983a93bb338b7cdd6f7d6f9f91dc9ce9815b4e (patch) | |
tree | 226f938cd59f78af1aa427f65c1e5678bd9ea141 /ld/ldlang.h | |
parent | 8be90e963138c88d7648c1eb2146e45f048d616e (diff) | |
download | gdb-36983a93bb338b7cdd6f7d6f9f91dc9ce9815b4e.zip gdb-36983a93bb338b7cdd6f7d6f9f91dc9ce9815b4e.tar.gz gdb-36983a93bb338b7cdd6f7d6f9f91dc9ce9815b4e.tar.bz2 |
lang_input_statement_type next pointers
"next" and "next_real_file" in lang_input_statement_type always point
to another lang_input_statement_type, so it makes sense for these to
not be the generic lang_statement_union_type. This patch also updates
a number of variables in ldlang.c for the same reason, and modifies
lang_statement_append to reduce the need for casts.
* ldlang.h (lang_input_statement_type): Make next
and next_real_file a lang_input_statement_type pointer.
(lang_statement_append): Delete prototype.
(LANG_FOR_EACH_INPUT_STATEMENT): Update for lang_input_statement_type
change.
* ldmain.c (add_archive_element): Likewise.
* ldlang.c: Likewise throughout.
(lang_statement_append): Make static. Make element and field
void pointers. Remove casts in calls.
(lang_check): Use a lang_input_statement_type pointer for "file".
(find_rescan_insertion): Similarly for "iter" and return value.
(lang_process): Similarly for "insert", "iter" and "temp".
* emultempl/spuelf.em (embedded_spu_file): Likewise.
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Expand
lang_statment_append call.
Diffstat (limited to 'ld/ldlang.h')
-rw-r--r-- | ld/ldlang.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h index 2298cba..6d5fe73 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -309,10 +309,10 @@ typedef struct lang_input_statement_struct struct flag_info *section_flag_list; /* Next pointer for file_chain statement list. */ - union lang_statement_union *next; + struct lang_input_statement_struct *next; /* Next pointer for input_file_chain statement list. */ - union lang_statement_union *next_real_file; + struct lang_input_statement_struct *next_real_file; const char *target; @@ -567,9 +567,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_statement_append - (lang_statement_list_type *, lang_statement_union_type *, - lang_statement_union_type **); extern void lang_for_each_input_file (void (*dothis) (lang_input_statement_type *)); extern void lang_for_each_file @@ -585,7 +582,7 @@ extern asection *section_for_dot lang_input_statement_type *statement; \ for (statement = &file_chain.head->input_statement; \ statement != NULL; \ - statement = &statement->next->input_statement) + statement = statement->next) #define lang_output_section_find(NAME) \ lang_output_section_statement_lookup (NAME, 0, FALSE) |