|
|
|
@ -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. */ |
|
|
|
|