diff options
Diffstat (limited to 'include/bfdlink.h')
-rw-r--r-- | include/bfdlink.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/bfdlink.h b/include/bfdlink.h index 4fa6b44..809e08f 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -62,7 +62,8 @@ struct bfd_link_hash_entry struct bfd_hash_entry root; /* Type of this entry. */ enum bfd_link_hash_type type; - /* Undefined and common entries are kept in a linked list through + + /* Undefined and common symbols are kept in a linked list through this field. This field is not in the union because that would force us to remove entries from the list when we changed their type, which would force the list to be doubly linked, which would @@ -70,7 +71,15 @@ struct bfd_link_hash_entry created, it should be added to this list, the head of which is in the link hash table itself. As symbols are defined, they need not be removed from the list; anything which reads the list must - doublecheck the symbol type. Weak symbols are not kept on this + doublecheck the symbol type. + + Weak symbols are not kept on this list. + + Defined symbols use this field as a reference marker. If the + field is not NULL, or this structure is the tail of the undefined + symbol list, the symbol has been referenced. If the symbol is + undefined and becomes defined, this field will automatically be + non-NULL since the symbol will have been on the undefined symbol list. */ struct bfd_link_hash_entry *next; /* A union of information depending upon the type. */ @@ -148,6 +157,8 @@ struct bfd_link_info const struct bfd_link_callbacks *callbacks; /* true if BFD should generate a relocateable object file. */ boolean relocateable; + /* true if BFD should generate a shared object. */ + boolean shared; /* Which symbols to strip. */ enum bfd_link_strip strip; /* Which local symbols to discard. */ |