summaryrefslogtreecommitdiff
path: root/ld/mri.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2001-08-03 01:11:21 +0000
committerAlan Modra <amodra@bigpond.net.au>2001-08-03 01:11:21 +0000
commit09675b4f911fc6e251a5584c76dc70ac5bbf5fd4 (patch)
tree84cb7746a22b7a6c5f198dc6f20f38a15097c095 /ld/mri.c
parenta1bc6044a65f0a43d511ba58dab832dd0da8fd05 (diff)
downloadbinutils-redhat-09675b4f911fc6e251a5584c76dc70ac5bbf5fd4.tar.gz
* ld.texinfo (Input Section Basics): Clarify ordering of output
sections. * ldlang.c (callback_t): Add wildcard_list param. (walk_wild_section): Remove "section" param. Rewrite for lang_wild_statement_type change. Remove unique_section_p test. (walk_wild_file): Remove "section" param. (walk_wild): Remove "section" and "file" params. (lang_gc_wild): Likewise. (wild): Likewise. Modify for lang_wild_statement_type change. (wild_sort): Likewise. Add "sec" param. (gc_section_callback): Likewise. (output_section_callback): Likewise. Do unique_section_p test. (map_input_to_output_sections): Modify call to wild. (lang_gc_sections_1): Likewise. (print_wild_statement): Modify for lang_wild_statement_type change. (lang_add_wild): Replace filename, filenames_sorted param with filespec. Replace section_name, sections_sorted, exclude_filename_list with section_list. * ldlang.h (lang_add_wild): Here too. (lang_wild_statement_type): Replace section_name, sections_sorted, and exclude_filename_list with section_list. * ldgram.y (current_file): Delete. (%union): Add wildcard_list. (file_NAME_list): Set type to wildcard_list. Build a linked list rather than calling lang_add_wild for each entry. (input_section_spec_no_keep): Call lang_add_wild here instead. * ld.h (struct wildcard_list): Declare. * mri.c (mri_draw_tree): Modify to suit new lang_add_wild.
Diffstat (limited to 'ld/mri.c')
-rw-r--r--ld/mri.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/ld/mri.c b/ld/mri.c
index f4094cb4c3..6ec0ab8f84 100644
--- a/ld/mri.c
+++ b/ld/mri.c
@@ -220,6 +220,7 @@ mri_draw_tree ()
struct section_name_struct *aptr;
etree_type *align = 0;
etree_type *subalign = 0;
+ struct wildcard_list *tmp;
/* See if an alignment has been specified. */
for (aptr = alignment; aptr; aptr = aptr->next)
@@ -238,12 +239,24 @@ mri_draw_tree ()
1, align, subalign,
(etree_type *) NULL);
base = 0;
- lang_add_wild (p->name, false, (char *) NULL, false, false, NULL);
+ tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
+ tmp->next = NULL;
+ tmp->spec.name = p->name;
+ tmp->spec.exclude_name_list = NULL;
+ tmp->spec.sorted = false;
+ lang_add_wild (NULL, tmp, false);
/* If there is an alias for this section, add it too. */
for (aptr = alias; aptr; aptr = aptr->next)
if (strcmp (aptr->alias, p->name) == 0)
- lang_add_wild (aptr->name, false, (char *) NULL, false, false, NULL);
+ {
+ tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
+ tmp->next = NULL;
+ tmp->spec.name = aptr->name;
+ tmp->spec.exclude_name_list = NULL;
+ tmp->spec.sorted = false;
+ lang_add_wild (NULL, tmp, false);
+ }
lang_leave_output_section_statement
(0, "*default*", (struct lang_output_section_phdr_list *) NULL,