diff options
author | Kazu Hirata <kazu@codesourcery.com> | 2001-01-02 18:58:44 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@codesourcery.com> | 2001-01-02 18:58:44 +0000 |
commit | 892339eeebd377e5f6bc58e0f7cbdfc57b718cfe (patch) | |
tree | 049ee106f965940e9adfeb037a273faba4b73918 /bfd/pe-mips.c | |
parent | aed80daedfb2895a386538f2e25bd6e00fb7935c (diff) | |
download | gdb-892339eeebd377e5f6bc58e0f7cbdfc57b718cfe.zip gdb-892339eeebd377e5f6bc58e0f7cbdfc57b718cfe.tar.gz gdb-892339eeebd377e5f6bc58e0f7cbdfc57b718cfe.tar.bz2 |
2001-01-02 Kazu Hirata <kazu@hxi.com>
* pc532-mach.c: Fix formatting.
* pe-arm.c: Likewise.
* pe-i386.c: Likewise.
* pe-mips.c: Likewise.
* pe-ppc.c: Likewise.
* pe-sh.c: Likewise.
* pei-mips.c: Likewise.
* pei-sh.c: Likewise.
* ppcboot.c: Likewise.
* ptrace-core.c: Likewise.
Diffstat (limited to 'bfd/pe-mips.c')
-rw-r--r-- | bfd/pe-mips.c | 87 |
1 files changed, 41 insertions, 46 deletions
diff --git a/bfd/pe-mips.c b/bfd/pe-mips.c index 9b89369..fe6e0a1 100644 --- a/bfd/pe-mips.c +++ b/bfd/pe-mips.c @@ -34,7 +34,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "libcoff.h" -static bfd_reloc_status_type coff_mips_reloc +static bfd_reloc_status_type coff_mips_reloc PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); static reloc_howto_type *coff_mips_rtype_to_howto PARAMS ((bfd *, asection *, struct internal_reloc *, @@ -166,21 +166,21 @@ coff_mips_reloc (abfd, reloc_entry, symbol, data, input_section, output_bfd, #ifdef COFF_WITH_PE /* Return true if this relocation should - appear in the output .reloc section. */ + appear in the output .reloc section. */ static boolean in_reloc_p(abfd, howto) bfd * abfd ATTRIBUTE_UNUSED; reloc_howto_type *howto; { return ! howto->pc_relative && howto->type != MIPS_R_RVA; -} +} #endif #ifndef PCRELOFFSET #define PCRELOFFSET false #endif -static reloc_howto_type howto_table[] = +static reloc_howto_type howto_table[] = { /* Reloc type 0 is ignored. The reloc reading code ensures that this is a reference to the .abs section, which will cause @@ -336,33 +336,33 @@ static reloc_howto_type howto_table[] = EMPTY_HOWTO (31), EMPTY_HOWTO (32), EMPTY_HOWTO (33), - HOWTO (MIPS_R_RVA, /* type */ - 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 32, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ + HOWTO (MIPS_R_RVA, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ - coff_mips_reloc, /* special_function */ - "rva32", /* name */ - true, /* partial_inplace */ - 0xffffffff, /* src_mask */ - 0xffffffff, /* dst_mask */ + coff_mips_reloc, /* special_function */ + "rva32", /* name */ + true, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ EMPTY_HOWTO (35), EMPTY_HOWTO (36), - HOWTO (MIPS_R_PAIR, /* type */ - 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 32, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ + HOWTO (MIPS_R_PAIR, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ - coff_mips_reloc, /* special_function */ - "PAIR", /* name */ - true, /* partial_inplace */ - 0xffffffff, /* src_mask */ - 0xffffffff, /* dst_mask */ + coff_mips_reloc, /* special_function */ + "PAIR", /* name */ + true, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ }; @@ -408,7 +408,6 @@ static reloc_howto_type howto_table[] = cache_ptr->addend += asect->vma; \ } - /* Convert an rtype to howto for the COFF backend linker. */ static reloc_howto_type * @@ -439,7 +438,7 @@ coff_mips_rtype_to_howto (abfd, sec, rel, h, sym, addendp) function will be adding in the final value of the symbol. We need to subtract out the current size in order to get the correct result. */ - + BFD_ASSERT (h != NULL); #ifndef COFF_WITH_PE @@ -458,7 +457,7 @@ coff_mips_rtype_to_howto (abfd, sec, rel, h, sym, addendp) /* If the output symbol is common (in which case this must be a relocateable link), we need to add in the final size of the common symbol. */ - if (h != NULL && h->root.type == bfd_link_hash_common) + if (h != NULL && h->root.type == bfd_link_hash_common) *addendp += h->root.u.c.size; #endif @@ -488,11 +487,8 @@ coff_mips_rtype_to_howto (abfd, sec, rel, h, sym, addendp) #define coff_rtype_to_howto coff_mips_rtype_to_howto - #define coff_bfd_reloc_type_lookup coff_mips_reloc_type_lookup - - /* Get the howto structure for a generic reloc type. */ static reloc_howto_type * @@ -577,7 +573,7 @@ mips_swap_reloc_in (abfd, src, dst) reloc_dst->r_offset = reloc_dst->r_symndx; if (reloc_dst->r_offset & 0x8000) reloc_dst->r_offset -= 0x10000; - /*printf("dj: pair offset is %08x\n", reloc_dst->r_offset);*/ + /*printf ("dj: pair offset is %08x\n", reloc_dst->r_offset);*/ reloc_dst->r_symndx = pair_prev.r_symndx; break; } @@ -654,7 +650,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, if (info->relocateable) { - (*_bfd_error_handler)(_("\ + (*_bfd_error_handler) (_("\ %s: `ld -r' not supported with PE MIPS objects\n"), bfd_get_filename (input_bfd)); bfd_set_error (bfd_error_bad_value); @@ -665,7 +661,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, == output_bfd->xvec->byteorder); #if 0 - printf("dj: relocate %s(%s) %08x\n", + printf ("dj: relocate %s(%s) %08x\n", input_bfd->filename, input_section->name, input_section->output_section->vma + input_section->output_offset); #endif @@ -700,7 +696,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, sym = NULL; } else - { + { h = obj_coff_sym_hashes (input_bfd)[symndx]; sym = syms + symndx; } @@ -715,7 +711,6 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, else addend = 0; - howto = bfd_coff_rtype_to_howto (input_bfd, input_section, rel, h, sym, &addend); if (howto == NULL) @@ -779,7 +774,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, src = rel->r_vaddr + input_section->output_section->vma + input_section->output_offset; #if 0 - printf("dj: reloc %02x %-8s a=%08x/%08x(%08x) v=%08x+%08x %s\n", + printf ("dj: reloc %02x %-8s a=%08x/%08x(%08x) v=%08x+%08x %s\n", rel->r_type, howto_table[rel->r_type].name, src, rel->r_vaddr, *(unsigned long *)mem, val, rel->r_offset, h?h->root.root.string:"(none)"); @@ -791,7 +786,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, val = VMA of what we need to refer to */ -#define UI(x) (*_bfd_error_handler)(_("%s: unimplemented %s\n"), \ +#define UI(x) (*_bfd_error_handler) (_("%s: unimplemented %s\n"), \ bfd_get_filename (input_bfd), x); \ bfd_set_error (bfd_error_bad_value); @@ -807,7 +802,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, case MIPS_R_REFWORD: tmp = bfd_get_32(input_bfd, mem); - /* printf("refword: src=%08x targ=%08x+%08x\n", src, tmp, val); */ + /* printf ("refword: src=%08x targ=%08x+%08x\n", src, tmp, val); */ tmp += val; bfd_put_32(input_bfd, tmp, mem); break; @@ -817,7 +812,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, targ = val + (tmp&0x03ffffff)*4; if ((src & 0xf0000000) != (targ & 0xf0000000)) { - (*_bfd_error_handler)(_("%s: jump too far away\n"), + (*_bfd_error_handler) (_("%s: jump too far away\n"), bfd_get_filename (input_bfd)); bfd_set_error (bfd_error_bad_value); return false; @@ -844,7 +839,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, targ = val + low + ((tmp & 0xffff) << 16); break; default: - (*_bfd_error_handler)(_("%s: bad pair/reflo after refhi\n"), + (*_bfd_error_handler) (_("%s: bad pair/reflo after refhi\n"), bfd_get_filename (input_bfd)); bfd_set_error (bfd_error_bad_value); return false; @@ -857,7 +852,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, case MIPS_R_REFLO: tmp = bfd_get_32(input_bfd, mem); targ = val + (tmp & 0xffff); - /* printf("refword: src=%08x targ=%08x\n", src, targ); */ + /* printf ("refword: src=%08x targ=%08x\n", src, targ); */ tmp &= 0xffff0000; tmp |= targ & 0xffff; bfd_put_32(input_bfd, tmp, mem); @@ -886,7 +881,7 @@ coff_pe_mips_relocate_section (output_bfd, info, input_bfd, case MIPS_R_RVA: tmp = bfd_get_32 (input_bfd, mem); - /* printf("rva: src=%08x targ=%08x+%08x\n", src, tmp, val); */ + /* printf ("rva: src=%08x targ=%08x+%08x\n", src, tmp, val); */ tmp += val - pe_data (input_section->output_section->owner)->pe_opthdr.ImageBase; bfd_put_32 (input_bfd, tmp, mem); @@ -974,7 +969,7 @@ const bfd_target bfd_getl32, bfd_getl_signed_32, bfd_putl32, bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */ -/* Note that we allow an object file to be treated as a core file as well. */ +/* Note that we allow an object file to be treated as a core file as well. */ {_bfd_dummy_target, coff_object_p, /* bfd_check_format */ bfd_generic_archive_p, coff_object_p}, {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */ @@ -993,6 +988,6 @@ const bfd_target BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), NULL, - + COFF_SWAP_TABLE }; |