From 571c4c2636e85debfae66d50636f02d740d3f4cc Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Fri, 21 Aug 1992 01:43:49 +0000 Subject: [PATCH] common/undef sym handling fix from p3 --- ld/ChangeLog | 5 +++++ ld/ldsym.c | 27 +++++++++++++-------------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index ffd19ef8971..be385237ec0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -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. diff --git a/ld/ldsym.c b/ld/ldsym.c index 02faf351a30..22a24d93886 100644 --- a/ld/ldsym.c +++ b/ld/ldsym.c @@ -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 */ } -- 2.30.2