aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2005-05-03 12:02:47 +0000
committerNick Clifton <nickc@redhat.com>2005-05-03 12:02:47 +0000
commitc1d05a606c3ae775523d364d3aa185ba1dd7ab46 (patch)
treed06a84918bbc9341857baba4ba639712fd479834
parente02b83d7f42fda0f69a040687f3fe8ba39d5e082 (diff)
downloadfsf-binutils-gdb-c1d05a606c3ae775523d364d3aa185ba1dd7ab46.zip
fsf-binutils-gdb-c1d05a606c3ae775523d364d3aa185ba1dd7ab46.tar.gz
fsf-binutils-gdb-c1d05a606c3ae775523d364d3aa185ba1dd7ab46.tar.bz2
* 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.
-rw-r--r--gas/ChangeLog11
-rw-r--r--gas/config/obj-ecoff.c6
-rw-r--r--gas/config/tc-mmix.c10
-rw-r--r--gas/config/tc-xtensa.c17
-rw-r--r--gas/macro.c2
-rw-r--r--gas/macro.h4
6 files changed, 33 insertions, 17 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 369c5e2..34d5c11 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,14 @@
+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
diff --git a/gas/config/obj-ecoff.c b/gas/config/obj-ecoff.c
index 71aade0..6bfb79e 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 66fda95..356a68a 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 663c531..9340e4d 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 6f370bb..f7d53bc 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 958a84bd..4e56125 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 *));