diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-06-10 10:55:58 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-06-10 10:55:58 +0000 |
commit | a7e831079363e3bb45f3172f6e59ba48e335682b (patch) | |
tree | ee4324eac9a9d66f189fab60498ec42b8226b7fc /gnu/usr.bin/binutils/include/bfdlink.h | |
parent | 467cb0a471d13c5186a6ee166e60b47c30da64e9 (diff) |
Bring Cygnus versions into the trunk, keeping our local patches
Diffstat (limited to 'gnu/usr.bin/binutils/include/bfdlink.h')
-rw-r--r-- | gnu/usr.bin/binutils/include/bfdlink.h | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/gnu/usr.bin/binutils/include/bfdlink.h b/gnu/usr.bin/binutils/include/bfdlink.h index 217ad618769..42fe018fee0 100644 --- a/gnu/usr.bin/binutils/include/bfdlink.h +++ b/gnu/usr.bin/binutils/include/bfdlink.h @@ -152,6 +152,14 @@ extern struct bfd_link_hash_entry *bfd_link_hash_lookup PARAMS ((struct bfd_link_hash_table *, const char *, boolean create, boolean copy, boolean follow)); +/* Look up an entry in the main linker hash table if the symbol might + be wrapped. This should only be used for references to an + undefined symbol, not for definitions of a symbol. */ + +extern struct bfd_link_hash_entry *bfd_wrapped_link_hash_lookup + PARAMS ((bfd *, struct bfd_link_info *, const char *, boolean, boolean, + boolean)); + /* Traverse a link hash table. */ extern void bfd_link_hash_traverse PARAMS ((struct bfd_link_hash_table *, @@ -177,6 +185,11 @@ struct bfd_link_info boolean symbolic; /* true if shared objects should be linked directly, not shared. */ boolean static_link; + /* true if the output file should be in a traditional format. This + is equivalent to the setting of the BFD_TRADITIONAL_FORMAT flag + on the output file, but may be checked when reading the input + files. */ + boolean traditional_format; /* Which symbols to strip. */ enum bfd_link_strip strip; /* Which local symbols to discard. */ @@ -201,10 +214,16 @@ struct bfd_link_info /* Hash table of symbols to keep. This is NULL unless strip is strip_some. */ struct bfd_hash_table *keep_hash; - /* Hash table of symbols to report back via notice_callback. If - this is NULL no symbols are reported back. */ + /* true if every symbol should be reported back via the notice + callback. */ + boolean notice_all; + /* Hash table of symbols to report back via the notice callback. If + this is NULL, and notice_all is false, then no symbols are + reported back. */ struct bfd_hash_table *notice_hash; - + /* Hash table of symbols which are being wrapped (the --wrap linker + option). If this is NULL, no symbols are being wrapped. */ + struct bfd_hash_table *wrap_hash; /* If a base output file is wanted, then this points to it */ PTR base_file; }; @@ -278,12 +297,13 @@ struct bfd_link_callbacks boolean constructor, const char *name, bfd *abfd, asection *sec, bfd_vma value)); - /* A function which is called when there is a reference to a warning + /* A function which is called to issue a linker warning. For + example, this is called when there is a reference to a warning symbol. WARNING is the warning to be issued. SYMBOL is the name - of the symbol which triggered the warning; it may be NULL. ABFD, - SECTION and ADDRESS identify the location which trigerred the - warning; either ABFD or SECTION or both may be NULL if the - location is not known. */ + of the symbol which triggered the warning; it may be NULL if + there is none. ABFD, SECTION and ADDRESS identify the location + which trigerred the warning; either ABFD or SECTION or both may + be NULL if the location is not known. */ boolean (*warning) PARAMS ((struct bfd_link_info *, const char *warning, const char *symbol, bfd *abfd, asection *section, |