From 9a92d0ce3620520f3a4a4d364483b59b5d16ca7b Mon Sep 17 00:00:00 2001 From: Sean Keys Date: Thu, 2 Aug 2012 20:40:30 +0000 Subject: [PATCH] * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Modified conditional statment to allow suppression of mismatched bank warning. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-m68hc1x.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 73f9eff..739fbef 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2012-08-02 Sean Keys + + * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Modified + conditional statment to allow suppression of mismatched bank + warning. + 2012-08-01 Alan Modra * dwarf2.c (struct dwarf2_debug): Add close_on_cleanup. diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c index 442a411..ef0a9f1 100644 --- a/bfd/elf32-m68hc1x.c +++ b/bfd/elf32-m68hc1x.c @@ -918,9 +918,11 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, struct m68hc11_page_info *pinfo; const struct elf_backend_data * const ebd = get_elf_backend_data (input_bfd); struct m68hc11_elf_link_hash_table *htab; + unsigned long e_flags; symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; sym_hashes = elf_sym_hashes (input_bfd); + e_flags = elf_elfheader (input_bfd)->e_flags; htab = m68hc11_elf_hash_table (info); if (htab == NULL) @@ -1048,7 +1050,7 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, a LO8XG. Does not actually check that it was a LO8XG. Adjusts high and low bytes. */ relocation = phys_addr; - if ((elf_elfheader (input_bfd)->e_flags & E_M68HC11_XGATE_RAMOFFSET) + if ((e_flags & E_M68HC11_XGATE_RAMOFFSET) && (relocation >= 0x2000)) relocation += 0xc000; /* HARDCODED RAM offset for XGATE. */ @@ -1162,7 +1164,7 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, if (m68hc11_addr_is_banked (pinfo, relocation + rel->r_addend) && m68hc11_addr_is_banked (pinfo, insn_addr) - && phys_page != insn_page) + && phys_page != insn_page && !(e_flags & E_M68HC11_NO_BANK_WARNING)) { const char * msg; char * buf; -- 2.7.4