forked from Imagelibrary/binutils-gdb
[ bfd/ChangeLog ]
2004-04-23 Chris Demetriou <cgd@broadcom.com> * coff-mips.c (mips_relhi_reloc, mips_rello_reloc) (mips_switch_reloc, mips_read_relocs, mips_relax_section) (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove. (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments, and update comments to reflect current usage. (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO, and MIPS_R_SWITCH, as well as several empty entries. Update comment for MIPS_R_PCREL16. (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out) (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations. (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation type number to be MIPS_R_PCREL16. (mips_relocate_section): Remove support for link-time relaxation of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations. (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section. * ecoff.c (ecoff_indirect_link_order): Remove support for link-time relaxation of branches used by embedded-PIC. * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise. * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC related members, update comment. * pe-mips.c: Remove disabled (commented-out and #if 0'd) code related to embedded-PIC. * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove initialization of now-removed 'adjust' member of 'struct ecoff_debug_info'. [ include/coff/ChangeLog ] 2004-04-23 Chris Demetriou <cgd@broadcom.com> * mips.h (MIPS_R_RELHI, MIPS_R_RELLO, MIPS_R_SWITCH): Remove (MIPS_R_PCREL16): Update comment. * ecoff.h (struct ecoff_value_adjust): Remove structure. (struct ecoff_debug_info): Remove 'adjust' member.
This commit is contained in:
@@ -176,41 +176,13 @@ typedef struct ecoff_symbol_struct
|
||||
#define ecoff_get_sym_index(symbol) ((symbol)->udata.i)
|
||||
#define ecoff_set_sym_index(symbol, idx) ((symbol)->udata.i = (idx))
|
||||
|
||||
/* When generating MIPS embedded PIC code, the linker relaxes the code
|
||||
to turn PC relative branches into longer code sequences when the PC
|
||||
relative branch is out of range. This involves reading the relocs
|
||||
in bfd_relax_section as well as in bfd_final_link, and requires the
|
||||
code to keep track of which relocs have been expanded. A pointer
|
||||
to this structure is put in the used_by_bfd pointer of a section to
|
||||
keep track of this information. The user_by_bfd pointer will be
|
||||
NULL if the information was not needed. */
|
||||
/* A pointer to this structure is put in the used_by_bfd pointer of
|
||||
a section to keep track of any per-section data.
|
||||
The user_by_bfd pointer will be NULL if the information was not
|
||||
needed. */
|
||||
|
||||
struct ecoff_section_tdata
|
||||
{
|
||||
/* The unswapped relocs for this section. These are stored in
|
||||
memory so the input file does not have to be read twice. */
|
||||
PTR external_relocs;
|
||||
|
||||
/* The contents of the section. These bytes may or may not be saved
|
||||
in memory, but if it is this is a pointer to them. */
|
||||
bfd_byte *contents;
|
||||
|
||||
/* Offset adjustments for PC relative branches. A number other than
|
||||
1 is an addend for a PC relative branch, or a switch table entry
|
||||
which is the difference of two .text locations; this addend
|
||||
arises because the branch or difference crosses one or more
|
||||
branches which were expanded into a larger code sequence. A 1
|
||||
means that this branch was itself expanded into a larger code
|
||||
sequence. 1 is not a possible offset, since all offsets must be
|
||||
multiples of the instruction size, which is 4; also, the only
|
||||
relocs with non-zero offsets will be PC relative branches or
|
||||
switch table entries within the same object file. If this field
|
||||
is NULL, no branches were expanded and no offsets are required.
|
||||
Otherwise there are as many entries as there are relocs in the
|
||||
section, and the entry for any reloc that is not PC relative is
|
||||
zero. */
|
||||
long *offsets;
|
||||
|
||||
/* When producing an executable (i.e., final, non-relocatable link)
|
||||
on the Alpha, we may need to use multiple global pointer values
|
||||
to span the entire .lita section. In essence, we allow each
|
||||
|
||||
Reference in New Issue
Block a user