aboutsummaryrefslogtreecommitdiff
path: root/ld/ldindr.c
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1993-03-30 17:49:00 +0000
committerSteve Chamberlain <sac@cygnus>1993-03-30 17:49:00 +0000
commit29f33467f23eaff819c4321f8cf9eb7fc1ac3b74 (patch)
tree29bb8ccddd3a2de4fa1802ee34e51a46084fb5c8 /ld/ldindr.c
parent21c7770362ef8eee989c93e7612673cfac3c8e84 (diff)
downloadgdb-29f33467f23eaff819c4321f8cf9eb7fc1ac3b74.zip
gdb-29f33467f23eaff819c4321f8cf9eb7fc1ac3b74.tar.gz
gdb-29f33467f23eaff819c4321f8cf9eb7fc1ac3b74.tar.bz2
Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com)
* ldindr.c (add_indirect): Keep more information in the alias symbol chain. * ldlang.c (wild_doit): Don't inherit NEVER_LOAD section attribute from an input section. * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by default. (Q_enter_file_symbos): Indirect symbols now are known by their section, not a special symbol flag. * ldsym.c (write_file_locals): Indirect symbols aren't local. (write_file_globals): Write the mapping for an indirect symbol. * relax.c (build_it): When forced to write a NEVER_LOAD section, fill it with zeros.
Diffstat (limited to 'ld/ldindr.c')
-rw-r--r--ld/ldindr.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/ld/ldindr.c b/ld/ldindr.c
index 47c9e1d..8fe4b07 100644
--- a/ld/ldindr.c
+++ b/ld/ldindr.c
@@ -1,6 +1,29 @@
+
/* ldindr.c
Handle indirect symbols.
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ Written by Steve Chamberlain steve@cygnus.com
+
+ This file is part of GLD, the Gnu Linker.
+
+ GLD is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GLD is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GLD; see the file COPYING. If not, write to
+ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+/*
An indirect symbol is where a global symbol in one file say's that
all refs like it should be turned into refs of the symbol pointed
at by the value of the indirect symbol.
@@ -93,8 +116,8 @@ asymbol **ptr)
{
refize(new, new->scoms_chain);
}
-lgs->sdefs_chain = (asymbol **)new;
-
+ lgs->sdefs_chain = (asymbol **)new;
+ lgs->srefs_chain = ptr;
}