common/undef sym handling fix from p3
authorKen Raeburn <raeburn@cygnus>
Fri, 21 Aug 1992 01:43:49 +0000 (01:43 +0000)
committerKen Raeburn <raeburn@cygnus>
Fri, 21 Aug 1992 01:43:49 +0000 (01:43 +0000)
ld/ChangeLog
ld/ldsym.c

index ffd19ef89718a6218658551e9593cc0885bc4a8c..be385237ec0526fcafe64e438af837400713b5d9 100644 (file)
@@ -1,3 +1,8 @@
+Thu Aug 20 19:55:22 1992  Ken Raeburn  (raeburn@cygnus.com)
+
+       * ldsym.c (write_file_locals): Reorder check for common or
+       undefined symbols so that it works.
+
 Tue Aug 18 13:41:36 1992  Ian Lance Taylor  (ian@cygnus.com)
 
        * configure.in: accept all m68K family members.
index 02faf351a3023cde7e539582b97488b8aeb3070e..22a24d93886de4fa9e847bd02db9a48ddf71b9aa 100644 (file)
@@ -374,7 +374,19 @@ asymbol **output_buffer;
        }
       }
       else {
-       if (flag_is_ordinary_local(p->flags)) 
+       if (flag_is_debugger(p->flags)) 
+       {
+         /* Only keep the debugger symbols if no stripping required */
+         if (strip_symbols == STRIP_NONE) {
+           *output_buffer++ = p;
+         }
+       }
+       else if (p->section == &bfd_und_section
+                || p->section == &bfd_com_section)
+       {
+         /* These must be global.  */
+       }
+       else if (flag_is_ordinary_local(p->flags))
        {
          if (discard_locals == DISCARD_ALL)
          {  }
@@ -386,19 +398,6 @@ asymbol **output_buffer;
          else 
          { *output_buffer++ = p; }
        }
-       else if (flag_is_debugger(p->flags)) 
-       {
-         /* Only keep the debugger symbols if no stripping required */
-         if (strip_symbols == STRIP_NONE) {
-           *output_buffer++ = p;
-         }
-       }
-       else if (p->section == &bfd_und_section)
-       {                       /* This must be global */
-       }
-       else if (p->section == &bfd_com_section) {
-         /* And so must this */
-       } 
        else if (p->flags & BSF_CTOR) {
          /* Throw it away */
        }