From 1bbb5f219cbbfd8fe4e16e493ead79cdfcdc1926 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Fri, 7 Dec 2007 22:52:10 +0000 Subject: 2007-12-07 Bob Wilson include/elf/ * xtensa.h (R_XTENSA_32_PCREL): New. bfd/ * elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL. (elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL. (elf_xtensa_check_relocs): Use default case for all relocations that need nothing done here. (elf_xtensa_do_reloc): Compute self_address for all relocation types. Handle R_XTENSA_32_PCREL. (elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic symbols. (check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations. gas/ * config/tc-xtensa.c (O_pcrel): Define. (suffix_relocs): Add pcrel suffix. (md_pseudo_table): Add 4byte and 2byte directives. (xtensa_elf_cons): Pass correct pcrel argument to fix_new_exp. (xg_assemble_literal): Likewise. Check for O_pcrel. (expression_maybe_register): Reorganize. Handle BFD_RELOC_32_PCREL. (xg_valid_literal_expression): Allow O_pcrel. (md_pcrel_from, md_apply_fix): Handle BFD_RELOC_32_PCREL. (tc_gen_reloc): Fix punctuation in error message. gas/testsuite/ * gas/xtensa/all.exp: Run new pcrel test. * gas/xtensa/err-pcrel.s: New. * gas/xtensa/pcrel.d: New. * gas/xtensa/pcrel.s: New. * gas/xtensa/xtensa-err.exp: New. --- include/elf/ChangeLog | 4 ++++ include/elf/xtensa.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'include/elf') diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index dd46a11..dc7908d 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,7 @@ +2007-12-07 Bob Wilson + + * xtensa.h (R_XTENSA_32_PCREL): New. + 2007-11-29 Mark Shinwell * mips.h (E_MIPS_MACH_LS2E): New. diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h index bd83a14..7e70cb5 100644 --- a/include/elf/xtensa.h +++ b/include/elf/xtensa.h @@ -1,5 +1,5 @@ /* Xtensa ELF support for BFD. - Copyright 2003, 2004 Free Software Foundation, Inc. + Copyright 2003, 2004, 2007 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of BFD, the Binary File Descriptor library. @@ -40,6 +40,7 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type) RELOC_NUMBER (R_XTENSA_OP2, 10) RELOC_NUMBER (R_XTENSA_ASM_EXPAND, 11) RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12) + RELOC_NUMBER (R_XTENSA_32_PCREL, 14) RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15) RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16) RELOC_NUMBER (R_XTENSA_DIFF8, 17) -- cgit v1.1