* config/tc-mmix.c (mmix_frob_file): Likewise.
* config/tc-xtensa.c (xtensa_remove_section): Likewise.
(xtensa_insert_section): Likewise.
* macro.c (macro_hash): Remove static.
* macro.h (macro_hash): Provide an external declaration.
+2005-05-03 Nick Clifton <nickc@redhat.com>
+
+ * config/obj-ecoff.c (ecoff_frob_file_before_fix): Fix invocations
+ of bfd_section_list... macros.
+ * config/tc-mmix.c (mmix_frob_file): Likewise.
+ * config/tc-xtensa.c (xtensa_remove_section): Likewise.
+ (xtensa_insert_section): Likewise.
+
+ * macro.c (macro_hash): Remove static.
+ * macro.h (macro_hash): Provide an external declaration.
+
2005-05-02 H.J. Lu <hongjiu.lu@intel.com>
* write.c (write_object_file): Use bfd_section_double_list_remove
addr = 0;
for (i = 0; i < n_names; i++)
- secs[i] = 0;
+ secs[i] = NULL;
for (sec = &stdoutput->sections; *sec != NULL;)
{
if (!strcmp ((*sec)->name, names[i]))
{
secs[i] = *sec;
- bfd_section_list_remove (stdoutput, sec);
+ bfd_section_list_remove (stdoutput, *sec);
break;
}
if (i == n_names)
}
for (i = n_names - 1; i >= 0; i--)
if (secs[i])
- bfd_section_list_insert (stdoutput, &stdoutput->sections, secs[i]);
+ bfd_section_list_insert_after (stdoutput, stdoutput->sections, secs[i]);
/* Fill in the register masks. */
{
if (real_reg_section != NULL)
{
- asection **secpp;
+ asection *secp;
/* FIXME: Pass error state gracefully. */
if (bfd_get_section_flags (stdoutput, real_reg_section) & SEC_HAS_CONTENTS)
as_fatal (_("register section has contents\n"));
/* Really remove the section. */
- for (secpp = &stdoutput->sections;
- *secpp != real_reg_section;
- secpp = &(*secpp)->next)
+ for (secp = stdoutput->sections;
+ secp != real_reg_section;
+ secp = secp->next)
;
- bfd_section_list_remove (stdoutput, secpp);
+ bfd_section_list_remove (stdoutput, secp);
--stdoutput->section_count;
}
/* Handle brain-dead bfd_section_list_remove macro, which
expect the address of the prior section's "next" field, not
just the address of the section to remove. */
+ segT ps_next_ptr = stdoutput->sections;
- segT *ps_next_ptr = &stdoutput->sections;
- while (*ps_next_ptr != sec && *ps_next_ptr != NULL)
- ps_next_ptr = &(*ps_next_ptr)->next;
+ while (ps_next_ptr != sec && ps_next_ptr != NULL)
+ ps_next_ptr = ps_next_ptr->next;
- assert (*ps_next_ptr != NULL);
+ assert (ps_next_ptr != NULL);
bfd_section_list_remove (stdoutput, ps_next_ptr);
}
static void
xtensa_insert_section (segT after_sec, segT sec)
{
- segT *after_sec_next;
+ segT after_sec_next;
+
if (after_sec == NULL)
- after_sec_next = &stdoutput->sections;
+ after_sec_next = stdoutput->sections;
else
- after_sec_next = &after_sec->next;
+ after_sec_next = after_sec->next;
- bfd_section_list_insert (stdoutput, after_sec_next, sec);
+ bfd_section_list_insert_after (stdoutput, after_sec_next, sec);
}
/* The macro hash table. */
-static struct hash_control *macro_hash;
+struct hash_control *macro_hash;
/* Whether any macros have been defined. */
extern int macro_nest;
+/* The macro hash table. */
+
+extern struct hash_control *macro_hash;
+
extern int buffer_and_nest (const char *, const char *, sb *, int (*) (sb *));
extern void macro_init
(int, int, int, int (*) (const char *, int, sb *, int *));