aboutsummaryrefslogtreecommitdiff
path: root/ld/ldsym.c
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1992-08-21 01:43:49 +0000
committerKen Raeburn <raeburn@cygnus>1992-08-21 01:43:49 +0000
commit571c4c2636e85debfae66d50636f02d740d3f4cc (patch)
treebe1adfb17535e9d10f75357460480039613ab449 /ld/ldsym.c
parent141242573411bf74d34d76f7e50eab51bf41e3c4 (diff)
downloadgdb-571c4c2636e85debfae66d50636f02d740d3f4cc.zip
gdb-571c4c2636e85debfae66d50636f02d740d3f4cc.tar.gz
gdb-571c4c2636e85debfae66d50636f02d740d3f4cc.tar.bz2
common/undef sym handling fix from p3
Diffstat (limited to 'ld/ldsym.c')
-rw-r--r--ld/ldsym.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/ld/ldsym.c b/ld/ldsym.c
index 02faf35..22a24d9 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 */
}