daily update
[deliverable/binutils-gdb.git] / bfd / elf-m10300.c
index 2695217f4eb143ca921c84bcc9326f65f2b72490..61ce3e167fe7eaaa851b103721e83e2b7e9e78ea 100644 (file)
@@ -2736,7 +2736,7 @@ mn10300_elf_relax_section (bfd *abfd,
          bfd_vma aend = irel->r_offset;
 
          aend = BFD_ALIGN (aend, 1 << irel->r_addend);
-         adj = 2*adj - adj - 1;
+         adj = 2 * adj - adj - 1;
 
          /* Record the biggest adjustmnet.  Skip any alignment at the
             end of our section.  */
@@ -2813,12 +2813,11 @@ mn10300_elf_relax_section (bfd *abfd,
              && ELF_ST_TYPE (isym->st_info) == STT_SECTION
              && sym_sec->sec_info_type == ELF_INFO_TYPE_MERGE)
            {
-             bfd_vma saved_addend;
-
-             saved_addend = irel->r_addend;
-             symval = _bfd_elf_rela_local_sym (abfd, isym, & sym_sec, irel);
-             symval += irel->r_addend;
-             irel->r_addend = saved_addend;
+             symval = isym->st_value + irel->r_addend;
+             symval = _bfd_merged_section_offset (abfd, & sym_sec,
+                                                  elf_section_data (sym_sec)->sec_info,
+                                                  symval);
+             symval += sym_sec->output_section->vma + sym_sec->output_offset - irel->r_addend;
            }
          else
            symval = (isym->st_value
@@ -2963,7 +2962,7 @@ mn10300_elf_relax_section (bfd *abfd,
             able to relax.  */
          /* Account for jumps across alignment boundaries using
             align_gap_adjustment.  */
-         if (value < 0x8001 - align_gap_adjustment
+         if ((bfd_signed_vma) value < 0x8001 - (bfd_signed_vma) align_gap_adjustment
              && ((bfd_signed_vma) value > -0x8000 + (bfd_signed_vma) align_gap_adjustment))
            {
              unsigned char code;
This page took 0.023856 seconds and 4 git commands to generate.