From 2a0f64a5350fa7945ebf79fed0bee2072dea36e0 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <ian@airs.com>
Date: Wed, 27 Sep 1995 20:21:07 +0000
Subject: [PATCH] 	* symbols.c (S_IS_LOCAL): All symbols in reg_section
 are local.

---
 gas/ChangeLog | 2 ++
 gas/symbols.c | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index f3257520107..b87d8f0370b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,7 @@
 Wed Sep 27 12:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
 
+	* symbols.c (S_IS_LOCAL): All symbols in reg_section are local.
+
 	* config/tc-ppc.h (OBJ_XCOFF): Define if OBJ_COFF and not TE_PE.
 	Change OBJ_COFF checks to check OBJ_XCOFF instead.
 	(TARGET_FORMAT): Fully parenthesize.
diff --git a/gas/symbols.c b/gas/symbols.c
index 7645cedf128..3e7b73efee2 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -165,7 +165,7 @@ symbol_create (name, segment, valu, frag)
  */
 symbolS *
 colon (sym_name)		/* just seen "x:" - rattle symbols & frags */
-     register char *sym_name;	/* symbol name, as a cannonical string */
+     const char *sym_name;	/* symbol name, as a cannonical string */
      /* We copy this string: OK to alter later. */
 {
   register symbolS *symbolP;	/* symbol we are working with */
@@ -1271,6 +1271,9 @@ S_IS_LOCAL (s)
   if (flags & BSF_LOCAL && flags & BSF_GLOBAL)
     abort ();
 
+  if (bfd_get_section (s->bsym) == reg_section)
+    return 1;
+
   name = S_GET_NAME (s);
   return (name != NULL
 	  && ! S_IS_DEBUG (s)