Convert to C90

This commit is contained in:
Alan Modra
2003-06-28 05:28:54 +00:00
parent b9ae04920a
commit 1579bae1cd
35 changed files with 1501 additions and 2223 deletions

114
ld/mri.c
View File

@ -1,5 +1,5 @@
/* mri.c -- handle MRI style linker scripts
Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2002
Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@ -53,17 +53,8 @@ struct section_name_struct *alias;
struct section_name_struct *alignment;
struct section_name_struct *subalignment;
static struct section_name_struct **lookup
PARAMS ((const char *name, struct section_name_struct **list));
static void mri_add_to_list PARAMS ((struct section_name_struct **list,
const char *name, etree_type *vma,
const char *zalias, etree_type *align,
etree_type *subalign));
static struct section_name_struct **
lookup (name, list)
const char *name;
struct section_name_struct **list;
lookup (const char *name, struct section_name_struct **list)
{
struct section_name_struct **ptr = list;
@ -77,24 +68,23 @@ lookup (name, list)
ptr = &((*ptr)->next);
}
*ptr = (struct section_name_struct *) xmalloc (sizeof (struct section_name_struct));
*ptr = xmalloc (sizeof (struct section_name_struct));
return ptr;
}
static void
mri_add_to_list (list, name, vma, zalias, align, subalign)
struct section_name_struct **list;
const char *name;
etree_type *vma;
const char *zalias;
etree_type *align;
etree_type *subalign;
mri_add_to_list (struct section_name_struct **list,
const char *name,
etree_type *vma,
const char *zalias,
etree_type *align,
etree_type *subalign)
{
struct section_name_struct **ptr = lookup (name, list);
(*ptr)->name = name;
(*ptr)->vma = vma;
(*ptr)->next = (struct section_name_struct *) NULL;
(*ptr)->next = NULL;
(*ptr)->ok_to_load = 0;
(*ptr)->alias = zalias;
(*ptr)->align = align;
@ -102,9 +92,7 @@ mri_add_to_list (list, name, vma, zalias, align, subalign)
}
void
mri_output_section (name, vma)
const char *name;
etree_type *vma;
mri_output_section (const char *name, etree_type *vma)
{
mri_add_to_list (&address, name, vma, 0, 0, 0);
}
@ -113,15 +101,13 @@ mri_output_section (name, vma)
marked thus. */
void
mri_only_load (name)
const char *name;
mri_only_load (const char *name)
{
mri_add_to_list (&only_load, name, 0, 0, 0, 0);
}
void
mri_base (exp)
etree_type *exp;
mri_base (etree_type *exp)
{
base = exp;
}
@ -129,7 +115,7 @@ mri_base (exp)
static int done_tree = 0;
void
mri_draw_tree ()
mri_draw_tree (void)
{
if (done_tree)
return;
@ -142,8 +128,8 @@ mri_draw_tree ()
r = lang_memory_region_lookup("long");
r->current = r->origin = exp_get_vma (base, (bfd_vma)0, "origin",
lang_first_phase_enum);
r->length = (bfd_size_type) exp_get_vma (0, (bfd_vma) ~((bfd_size_type)0),
"length", lang_first_phase_enum);
r->length = (bfd_size_type) exp_get_vma (0, ~(bfd_vma) 0, "length",
lang_first_phase_enum);
}
#endif
@ -151,23 +137,21 @@ mri_draw_tree ()
/* Attach the addresses of any which have addresses,
and add the ones not mentioned. */
if (address != (struct section_name_struct *) NULL)
if (address != NULL)
{
struct section_name_struct *alist;
struct section_name_struct *olist;
if (order == (struct section_name_struct *) NULL)
if (order == NULL)
order = address;
for (alist = address;
alist != (struct section_name_struct *) NULL;
alist != NULL;
alist = alist->next)
{
int done = 0;
for (olist = order;
done == 0 && olist != (struct section_name_struct *) NULL;
olist = olist->next)
for (olist = order; done == 0 && olist != NULL; olist = olist->next)
{
if (strcmp (alist->name, olist->name) == 0)
{
@ -186,12 +170,12 @@ mri_draw_tree ()
/* If we're only supposed to load a subset of them in, then prune
the list. */
if (only_load != (struct section_name_struct *) NULL)
if (only_load != NULL)
{
struct section_name_struct *ptr1;
struct section_name_struct *ptr2;
if (order == (struct section_name_struct *) NULL)
if (order == NULL)
order = only_load;
/* See if this name is in the list, if it is then we can load it. */
@ -210,7 +194,7 @@ mri_draw_tree ()
}
/* Create the order of sections to load. */
if (order != (struct section_name_struct *) NULL)
if (order != NULL)
{
/* Been told to output the sections in a certain order. */
struct section_name_struct *p = order;
@ -236,10 +220,9 @@ mri_draw_tree ()
lang_enter_output_section_statement (p->name, base,
p->ok_to_load ? 0 : noload_section,
1, align, subalign,
(etree_type *) NULL);
1, align, subalign, NULL);
base = 0;
tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
tmp = xmalloc (sizeof *tmp);
tmp->next = NULL;
tmp->spec.name = p->name;
tmp->spec.exclude_name_list = NULL;
@ -250,7 +233,7 @@ mri_draw_tree ()
for (aptr = alias; aptr; aptr = aptr->next)
if (strcmp (aptr->alias, p->name) == 0)
{
tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
tmp = xmalloc (sizeof *tmp);
tmp->next = NULL;
tmp->spec.name = aptr->name;
tmp->spec.exclude_name_list = NULL;
@ -258,9 +241,7 @@ mri_draw_tree ()
lang_add_wild (NULL, tmp, FALSE);
}
lang_leave_output_section_statement
(0, "*default*", (struct lang_output_section_phdr_list *) NULL,
NULL);
lang_leave_output_section_statement (0, "*default*", NULL, NULL);
p = p->next;
}
@ -270,29 +251,23 @@ mri_draw_tree ()
}
void
mri_load (name)
const char *name;
mri_load (const char *name)
{
base = 0;
lang_add_input_file (name,
lang_input_file_is_file_enum, (char *) NULL);
lang_add_input_file (name, lang_input_file_is_file_enum, NULL);
#if 0
lang_leave_output_section_statement (0, "*default*");
#endif
}
void
mri_order (name)
const char *name;
mri_order (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;
int isn;
mri_alias (const char *want, const char *is, int isn)
{
if (!is)
{
@ -311,56 +286,47 @@ mri_alias (want, is, isn)
}
void
mri_name (name)
const char *name;
mri_name (const char *name)
{
lang_add_output (name, 1);
}
void
mri_format (name)
const char *name;
mri_format (const char *name)
{
if (strcmp (name, "S") == 0)
lang_add_output_format ("srec", (char *) NULL, (char *) NULL, 1);
lang_add_output_format ("srec", NULL, NULL, 1);
else if (strcmp (name, "IEEE") == 0)
lang_add_output_format ("ieee", (char *) NULL, (char *) NULL, 1);
lang_add_output_format ("ieee", NULL, NULL, 1);
else if (strcmp (name, "COFF") == 0)
lang_add_output_format ("coff-m68k", (char *) NULL, (char *) NULL, 1);
lang_add_output_format ("coff-m68k", NULL, NULL, 1);
else
einfo (_("%P%F: unknown format type %s\n"), name);
}
void
mri_public (name, exp)
const char *name;
etree_type *exp;
mri_public (const char *name, etree_type *exp)
{
lang_add_assignment (exp_assop ('=', name, exp));
}
void
mri_align (name, exp)
const char *name;
etree_type *exp;
mri_align (const char *name, etree_type *exp)
{
mri_add_to_list (&alignment, name, 0, 0, exp, 0);
}
void
mri_alignmod (name, exp)
const char *name;
etree_type *exp;
mri_alignmod (const char *name, etree_type *exp)
{
mri_add_to_list (&subalignment, name, 0, 0, 0, exp);
}
void
mri_truncate (exp)
unsigned int exp;
mri_truncate (unsigned int exp)
{
symbol_truncate = exp;
}