From: Nick Clifton Date: Tue, 3 May 2005 12:02:47 +0000 (+0000) Subject: * config/obj-ecoff.c (ecoff_frob_file_before_fix): Fix invocations of bfd_section_lis... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c1d05a606c3ae775523d364d3aa185ba1dd7ab46;p=binutils-gdb.git * 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. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 369c5e2e9d5..34d5c111add 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2005-05-03 Nick Clifton + + * 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 * write.c (write_object_file): Use bfd_section_double_list_remove diff --git a/gas/config/obj-ecoff.c b/gas/config/obj-ecoff.c index 71aade07083..6bfb79ea42f 100644 --- a/gas/config/obj-ecoff.c +++ b/gas/config/obj-ecoff.c @@ -78,7 +78,7 @@ ecoff_frob_file_before_fix (void) addr = 0; for (i = 0; i < n_names; i++) - secs[i] = 0; + secs[i] = NULL; for (sec = &stdoutput->sections; *sec != NULL;) { @@ -86,7 +86,7 @@ ecoff_frob_file_before_fix (void) 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) @@ -104,7 +104,7 @@ ecoff_frob_file_before_fix (void) } 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. */ { diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c index 66fda95bcd5..356a68ab90b 100644 --- a/gas/config/tc-mmix.c +++ b/gas/config/tc-mmix.c @@ -3747,18 +3747,18 @@ mmix_frob_file (void) 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; } diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index 663c531c039..9340e4d50e8 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -9690,12 +9690,12 @@ xtensa_remove_section (segT sec) /* 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); } @@ -9704,13 +9704,14 @@ xtensa_remove_section (segT sec) 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); } diff --git a/gas/macro.c b/gas/macro.c index 6f370bbe9d3..f7d53bc673f 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -94,7 +94,7 @@ static void free_macro(macro_entry *); /* The macro hash table. */ -static struct hash_control *macro_hash; +struct hash_control *macro_hash; /* Whether any macros have been defined. */ diff --git a/gas/macro.h b/gas/macro.h index 958a84bd5d4..4e56125c530 100644 --- a/gas/macro.h +++ b/gas/macro.h @@ -73,6 +73,10 @@ extern int macro_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 *));