2002-12-06 Andrew Cagney <ac131313@redhat.com>
[deliverable/binutils-gdb.git] / ld / mri.c
index f4094cb4c387c88fa769e7bc64803ef513984e20..9e686b1c8549b8a69ebcf6e7dcd3667aee866b99 100644 (file)
--- a/ld/mri.c
+++ b/ld/mri.c
@@ -1,5 +1,5 @@
 /* mri.c -- handle MRI style linker scripts
-   Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000
+   Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2002
    Free Software Foundation, Inc.
 
 This file is part of GLD, the Gnu Linker.
@@ -31,13 +31,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include "ldlang.h"
 #include "ldmisc.h"
 #include "mri.h"
-#include "ldgram.h"
+#include <ldgram.h>
 #include "libiberty.h"
 
 struct section_name_struct {
   struct section_name_struct *next;
-  CONST char *name;
-  CONST char *alias;
+  const char *name;
+  const char *alias;
   etree_type *vma;
   etree_type *align;
   etree_type *subalign;
@@ -62,7 +62,7 @@ static void mri_add_to_list PARAMS ((struct section_name_struct **list,
 
 static struct section_name_struct **
 lookup (name, list)
-     CONST char *name;
+     const char *name;
      struct section_name_struct **list;
 {
   struct section_name_struct **ptr = list;
@@ -84,9 +84,9 @@ lookup (name, list)
 static void
 mri_add_to_list (list, name, vma, zalias, align, subalign)
      struct section_name_struct **list;
-     CONST char *name;
+     const char *name;
      etree_type *vma;
-     CONST char *zalias;
+     const char *zalias;
      etree_type *align;
      etree_type *subalign;
 {
@@ -103,7 +103,7 @@ mri_add_to_list (list, name, vma, zalias, align, subalign)
 
 void
 mri_output_section (name, vma)
-     CONST char *name;
+     const char *name;
      etree_type *vma;
 {
   mri_add_to_list (&address, name, vma, 0, 0, 0);
@@ -114,7 +114,7 @@ mri_output_section (name, vma)
 
 void
 mri_only_load (name)
-     CONST char *name;
+     const char *name;
 {
   mri_add_to_list (&only_load, name, 0, 0, 0, 0);
 }
@@ -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,16 +239,28 @@ 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,
-            "*default*");
+            NULL);
 
          p = p->next;
        }
@@ -258,7 +271,7 @@ mri_draw_tree ()
 
 void
 mri_load (name)
-     CONST char *name;
+     const char *name;
 {
   base = 0;
   lang_add_input_file (name,
@@ -270,15 +283,15 @@ mri_load (name)
 
 void
 mri_order (name)
-     CONST char *name;
+     const char *name;
 {
   mri_add_to_list (&order, name, 0, 0, 0, 0);
 }
 
 void
 mri_alias (want, is, isn)
-     CONST char *want;
-     CONST char *is;
+     const char *want;
+     const char *is;
      int isn;
 {
   if (!is)
@@ -299,14 +312,14 @@ mri_alias (want, is, isn)
 
 void
 mri_name (name)
-     CONST char *name;
+     const char *name;
 {
   lang_add_output (name, 1);
 }
 
 void
 mri_format (name)
-     CONST char *name;
+     const char *name;
 {
   if (strcmp (name, "S") == 0)
     lang_add_output_format ("srec", (char *) NULL, (char *) NULL, 1);
@@ -323,7 +336,7 @@ mri_format (name)
 
 void
 mri_public (name, exp)
-     CONST char *name;
+     const char *name;
      etree_type *exp;
 {
   lang_add_assignment (exp_assop ('=', name, exp));
@@ -331,7 +344,7 @@ mri_public (name, exp)
 
 void
 mri_align (name, exp)
-     CONST char *name;
+     const char *name;
      etree_type *exp;
 {
   mri_add_to_list (&alignment, name, 0, 0, exp, 0);
@@ -339,7 +352,7 @@ mri_align (name, exp)
 
 void
 mri_alignmod (name, exp)
-     CONST char *name;
+     const char *name;
      etree_type *exp;
 {
   mri_add_to_list (&subalignment, name, 0, 0, 0, exp);
This page took 0.026514 seconds and 4 git commands to generate.