diff options
author | Ian Lance Taylor <ian@airs.com> | 1994-06-06 17:44:34 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1994-06-06 17:44:34 +0000 |
commit | 469984d1f66a2e91f530aa266759ae8d8d1abf8b (patch) | |
tree | 748ab985754de5b3e0008bd994cf6b80aa7abbb2 /bfd/ecoff.c | |
parent | d2c71068e85b97ec00c86ac211aed42c686b4d24 (diff) | |
download | gdb-469984d1f66a2e91f530aa266759ae8d8d1abf8b.zip gdb-469984d1f66a2e91f530aa266759ae8d8d1abf8b.tar.gz gdb-469984d1f66a2e91f530aa266759ae8d8d1abf8b.tar.bz2 |
* libecoff.h (ecoff_data_type): Add linker field.
* ecoff.c (ecoff_write_object_contents): Check new tdata linker
field, rather than outsymbols being non-NULL, to decide whether to
output the symbols and relocs.
(ecoff_bfd_final_link): Set new tdata linker field to true.
Diffstat (limited to 'bfd/ecoff.c')
-rw-r--r-- | bfd/ecoff.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/bfd/ecoff.c b/bfd/ecoff.c index 64661cd..2555c0c 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -2918,11 +2918,10 @@ ecoff_write_object_contents (abfd) goto error_return; /* Build the external symbol information. This must be done before - writing out the relocs so that we know the symbol indices. The - condition checks makes sure this object was not created by - ecoff_bfd_final_link, since if it was we do not want to tamper - with the external symbols. */ - if (bfd_get_outsymbols (abfd) != (asymbol **) NULL) + writing out the relocs so that we know the symbol indices. We + don't do this if this BFD was created by the backend linker, + since it will have already handled the symbols and relocs. */ + if (! ecoff_data (abfd)->linker) { symhdr->iextMax = 0; symhdr->issExtMax = 0; @@ -4388,6 +4387,8 @@ ecoff_bfd_final_link (abfd, info) bfd_get_symcount (abfd) = symhdr->iextMax + symhdr->isymMax; + ecoff_data (abfd)->linker = true; + return true; } |