* bfdlink.h (enum bfd_link_hash_type): Rename bfd_link_hash_weak
to bfd_link_hash_undefweak. Add bfd_link_hash_defweak.
This commit is contained in:
parent
38713e1885
commit
ebc4ca90f9
2 changed files with 41 additions and 20 deletions
|
@ -1,6 +1,16 @@
|
|||
Mon Feb 6 14:55:32 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* bfdlink.h (enum bfd_link_hash_type): Rename bfd_link_hash_weak
|
||||
to bfd_link_hash_undefweak. Add bfd_link_hash_defweak.
|
||||
|
||||
Mon Jan 16 21:00:23 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* dis-asm.h (GDB_INIT_DISASSEMBLE_INFO, etc): Remove all
|
||||
GDB-specific definitions.
|
||||
|
||||
Sun Jan 15 18:39:35 1995 Steve Chamberlain <sac@splat>
|
||||
|
||||
* dis-asm.h (prin_insn_w65): Declare.
|
||||
* dis-asm.h (print_insn_w65): Declare.
|
||||
|
||||
Thu Jan 12 17:51:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||||
|
||||
|
|
|
@ -46,8 +46,9 @@ enum bfd_link_hash_type
|
|||
{
|
||||
bfd_link_hash_new, /* Symbol is new. */
|
||||
bfd_link_hash_undefined, /* Symbol seen before, but undefined. */
|
||||
bfd_link_hash_weak, /* Symbol is weak and undefined. */
|
||||
bfd_link_hash_undefweak, /* Symbol is weak and undefined. */
|
||||
bfd_link_hash_defined, /* Symbol is defined. */
|
||||
bfd_link_hash_defweak, /* Symbol is weak and defined. */
|
||||
bfd_link_hash_common, /* Symbol is common. */
|
||||
bfd_link_hash_indirect, /* Symbol is an indirect link. */
|
||||
bfd_link_hash_warning /* Like indirect, but warn if referenced. */
|
||||
|
@ -75,23 +76,23 @@ struct bfd_link_hash_entry
|
|||
|
||||
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. */
|
||||
Defined and defweak 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. */
|
||||
union
|
||||
{
|
||||
/* Nothing is kept for bfd_hash_new. */
|
||||
/* bfd_link_hash_undefined, bfd_link_hash_weak. */
|
||||
/* bfd_link_hash_undefined, bfd_link_hash_undefweak. */
|
||||
struct
|
||||
{
|
||||
bfd *abfd; /* BFD symbol was found in. */
|
||||
} undef;
|
||||
/* bfd_link_hash_defined. */
|
||||
/* bfd_link_hash_defined, bfd_link_hash_defweak. */
|
||||
struct
|
||||
{
|
||||
bfd_vma value; /* Symbol value. */
|
||||
|
@ -106,8 +107,16 @@ struct bfd_link_hash_entry
|
|||
/* bfd_link_hash_common. */
|
||||
struct
|
||||
{
|
||||
bfd_vma size; /* Common symbol size. */
|
||||
asection *section; /* Symbol section. */
|
||||
/* The linker needs to know three things about common
|
||||
symbols: the size, the alignment, and the section in
|
||||
which the symbol should be placed. On the assumption
|
||||
that a single common symbol will not take up incredible
|
||||
amounts of memory, we pack the size and the alignment
|
||||
into the space of a single integer. The alignment is
|
||||
stored as a power of two. */
|
||||
unsigned int alignment_power : 6; /* Alignment. */
|
||||
unsigned int size : 26; /* Common symbol size. */
|
||||
asection *section; /* Symbol section. */
|
||||
} c;
|
||||
} u;
|
||||
};
|
||||
|
@ -123,7 +132,7 @@ struct bfd_link_hash_table
|
|||
type of the entries in the hash table, which is sometimes
|
||||
important information when linking object files of different
|
||||
types together. */
|
||||
bfd_target *creator;
|
||||
const bfd_target *creator;
|
||||
/* A linked list of undefined and common symbols, linked through the
|
||||
next field in the bfd_link_hash_entry structure. */
|
||||
struct bfd_link_hash_entry *undefs;
|
||||
|
@ -220,13 +229,15 @@ struct bfd_link_callbacks
|
|||
bfd_vma nval));
|
||||
/* A function which is called when a common symbol is defined
|
||||
multiple times. NAME is the symbol appearing multiple times.
|
||||
OBFD is the BFD of the existing symbol. OTYPE is the type of the
|
||||
existing symbol, either bfd_link_hash_defined or
|
||||
bfd_link_hash_common. If OTYPE is bfd_link_hash_common, OSIZE is
|
||||
the size of the existing symbol. NBFD is the BFD of the new
|
||||
symbol. NTYPE is the type of the new symbol, either
|
||||
bfd_link_hash_defined or bfd_link_hash_common. If NTYPE is
|
||||
bfd_link_hash_common, NSIZE is the size of the new symbol. */
|
||||
OBFD is the BFD of the existing symbol; it may be NULL if this is
|
||||
not known. OTYPE is the type of the existing symbol, which may
|
||||
be bfd_link_hash_defined, bfd_link_hash_defweak,
|
||||
bfd_link_hash_common, or bfd_link_hash_indirect. If OTYPE is
|
||||
bfd_link_hash_common, OSIZE is the size of the existing symbol.
|
||||
NBFD is the BFD of the new symbol. NTYPE is the type of the new
|
||||
symbol, one of bfd_link_hash_defined, bfd_link_hash_common, or
|
||||
bfd_link_hash_indirect. If NTYPE is bfd_link_hash_common, NSIZE
|
||||
is the size of the new symbol. */
|
||||
boolean (*multiple_common) PARAMS ((struct bfd_link_info *,
|
||||
const char *name,
|
||||
bfd *obfd,
|
||||
|
|
Loading…
Add table
Reference in a new issue