diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-08-01 17:35:49 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-08-01 17:35:49 +0000 |
commit | 582dd77f6571a3b9ca89d715d1522b68b2507feb (patch) | |
tree | 270378b4c50fe9c9e7c1b48dcbeb9cf7882213a7 /ld/ldmain.c | |
parent | 8efb80797cacf61ac0857cb9b149cac079356a3b (diff) | |
download | gdb-582dd77f6571a3b9ca89d715d1522b68b2507feb.zip gdb-582dd77f6571a3b9ca89d715d1522b68b2507feb.tar.gz gdb-582dd77f6571a3b9ca89d715d1522b68b2507feb.tar.bz2 |
* ld.h (check_nocrossrefs): Declare.
* ldlang.h (struct lang_nocrossref): Define.
(struct lang_nocrossrefs): Define.
(nocrossref_list): Declare.
(lang_add_nocrossref): Declare.
* ldlex.l: Recognize NOCROSSREFS keyword.
* ldgram.y (%union): Add nocrossref field.
(NOCROSSREFS): New terminal.
(ifile_p1): Recognize NOCROSSREFS.
(nocrossref_list): New nonterminal.
* ldlang.c (nocrossref_list): Define.
(lang_add_nocrossref): New function.
* ldmain.c (main): If nocrossref_list is not NULL, call
check_nocrossrefs.
(warning_callback): Free symbols if there is no place to store
them.
(notice): Call add_cref if nocrossref_list is not NULL.
* ldcref.c: Include "ldexp.h" and "ldlang.h".
(check_nocrossrefs): New function.
(check_nocrossref): New static function.
(struct check_refs_info): Define.
(check_refs, check_reloc_refs): New static functions.
* Makefile.in: Rebuild dependencies.
* ld.texinfo (Option Commands): Document NOCROSSREFS.
Diffstat (limited to 'ld/ldmain.c')
-rw-r--r-- | ld/ldmain.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ld/ldmain.c b/ld/ldmain.c index 3d0f9fa..315ac0c 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -323,6 +323,8 @@ main (argc, argv) lang_map (); if (command_line.cref) output_cref (config.map_file != NULL ? config.map_file : stdout); + if (nocrossref_list != NULL) + check_nocrossrefs (); /* Even if we're producing relocateable output, some non-fatal errors should be reported in the exit status. (What non-fatal errors, if any, do we @@ -1031,6 +1033,9 @@ warning_callback (info, warning, symbol, abfd, section, address) if (! info.found) einfo ("%B: %s\n", abfd, warning); + + if (entry == NULL) + free (asymbols); } return true; @@ -1241,7 +1246,7 @@ notice (info, name, abfd, section, value) bfd_is_und_section (section) ? "reference to" : "definition of", name); - if (command_line.cref) + if (command_line.cref || nocrossref_list != NULL) add_cref (name, abfd, section, value); return true; |