From 175e996239a7ca4db791e9e70fb7152c3359edb8 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Thu, 17 Jan 2002 08:19:08 +0000 Subject: [PATCH] 2002-01-16 Eric Christopher * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of relocations requiring gp0 and gp. --- bfd/ChangeLog | 13 ++++++++++--- bfd/elf32-mips.c | 6 ++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f72c429cd1e..cd3b3f56a35 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,6 +1,12 @@ +2002-01-16 Eric Christopher + + * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp + on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of + relocations requiring gp0 and gp. + 2002-01-16 Richard Earnshaw - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle EF_ARM_VFP_FLOAT. (elf32_arm_print_private_bfd_data): Likewise. @@ -87,13 +93,14 @@ (xstormy16_reloc_type_lookup): Use 'table' field to locate correct howto entry. +>>>>>>> 1.1263 2002-01-10 Michael Snyder * elf.c (elfcore_write_prstatus): Use long instead of pid_t; (elfcore_write_pstatus): Use long instead of pid_t; * elf-bfd.h: Change prototypes to use long instead of pid_t; -2002-01-09 Jason Thorpe +2002-01-09 Jason Thorpe * elf.c: Update copyright years. (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO @@ -129,7 +136,7 @@ * configure: Regenerate. * elf32-sh-nbsd.c: New file. * targets.c: Update copyright years. - (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and + (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and bfd_elf32_shnbsd_vec. 2002-01-07 Aldy Hernandez diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index a4007ef4685..4bb1fcbc198 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -6735,7 +6735,8 @@ mips_elf_calculate_relocation (abfd, /* Calls from 16-bit code to 32-bit code and vice versa require the special jalx instruction. */ *require_jalxp = (!info->relocateable - && ((r_type == R_MIPS16_26) != target_is_16_bit_code_p)); + && (((r_type == R_MIPS16_26) != target_is_16_bit_code_p + || ((r_type == R_MIPS_26) == target_is_16_bit_code_p)))); local_p = mips_elf_local_relocation_p (input_bfd, relocation, local_sections, true); @@ -6790,6 +6791,7 @@ mips_elf_calculate_relocation (abfd, case R_MIPS_HI16: case R_MIPS_LO16: + case R_MIPS16_GPREL: case R_MIPS_GPREL16: case R_MIPS_GPREL32: case R_MIPS_LITERAL: @@ -9758,7 +9760,7 @@ _bfd_elf32_mips_discard_info (abfd, cookie, info) cookie->rel = cookie->rels; cookie->relend = cookie->rels + o->reloc_count * bed->s->int_rels_per_ext_rel; - + for (i = 0, skip = 0; i < o->_raw_size; i ++) { if (_bfd_elf32_reloc_symbol_deleted_p (i * PDR_SIZE, cookie)) -- 2.30.2