diff options
author | Steve Chamberlain <sac@cygnus> | 1993-03-30 17:49:00 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1993-03-30 17:49:00 +0000 |
commit | 29f33467f23eaff819c4321f8cf9eb7fc1ac3b74 (patch) | |
tree | 29bb8ccddd3a2de4fa1802ee34e51a46084fb5c8 /ld/ldindr.c | |
parent | 21c7770362ef8eee989c93e7612673cfac3c8e84 (diff) | |
download | fsf-binutils-gdb-29f33467f23eaff819c4321f8cf9eb7fc1ac3b74.zip fsf-binutils-gdb-29f33467f23eaff819c4321f8cf9eb7fc1ac3b74.tar.gz fsf-binutils-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.c | 27 |
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; } |