OSDN Git Service

* elflink.c: Add FIXMEs for some places that require octets_per_byte
authorAlan Modra <amodra@bigpond.net.au>
Tue, 11 Aug 2009 02:21:34 +0000 (02:21 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Tue, 11 Aug 2009 02:21:34 +0000 (02:21 +0000)
adjustments.
* elf-eh-frame.c: Likewise.
* merge.c: Likewise.

bfd/ChangeLog
bfd/elf-eh-frame.c
bfd/elflink.c
bfd/merge.c

index 784e45a..be52aa6 100644 (file)
@@ -1,5 +1,12 @@
 2009-08-11  Alan Modra  <amodra@bigpond.net.au>
 
+       * elflink.c: Add FIXMEs for some places that require octets_per_byte
+       adjustments.
+       * elf-eh-frame.c: Likewise.
+       * merge.c: Likewise.
+
+2009-08-11  Alan Modra  <amodra@bigpond.net.au>
+
        * configure.in:  Remove elf-ifunc.lo from common ELF files.  Add
        to x86 and x86_64 configurations.
        * configure: Regenerate.
index 2dbe63f..17c01b2 100644 (file)
@@ -537,18 +537,21 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
   local_cies = bfd_zmalloc (num_cies * sizeof (*local_cies));
   REQUIRE (local_cies);
 
+  /* FIXME: octets_per_byte.  */
 #define ENSURE_NO_RELOCS(buf)                          \
   REQUIRE (!(cookie->rel < cookie->relend              \
             && (cookie->rel->r_offset                  \
                 < (bfd_size_type) ((buf) - ehbuf))     \
             && cookie->rel->r_info != 0))
 
+  /* FIXME: octets_per_byte.  */
 #define SKIP_RELOCS(buf)                               \
   while (cookie->rel < cookie->relend                  \
         && (cookie->rel->r_offset                      \
             < (bfd_size_type) ((buf) - ehbuf)))        \
     cookie->rel++
 
+  /* FIXME: octets_per_byte.  */
 #define GET_RELOC(buf)                                 \
   ((cookie->rel < cookie->relend                       \
     && (cookie->rel->r_offset                          \
@@ -911,6 +914,7 @@ mark_entry (struct bfd_link_info *info, asection *sec,
            struct eh_cie_fde *ent, elf_gc_mark_hook_fn gc_mark_hook,
            struct elf_reloc_cookie *cookie)
 {
+  /* FIXME: octets_per_byte.  */
   for (cookie->rel = cookie->rels + ent->reloc_index;
        cookie->rel < cookie->relend
         && cookie->rel->r_offset < ent->offset + ent->size;
@@ -1099,6 +1103,7 @@ _bfd_elf_discard_section_eh_frame
     else if (!ent->cie)
       {
        cookie->rel = cookie->rels + ent->reloc_index;
+       /* FIXME: octets_per_byte.  */
        BFD_ASSERT (cookie->rel < cookie->relend
                    && cookie->rel->r_offset == ent->offset + 8);
        if (!(*reloc_symbol_deleted_p) (ent->offset + 8, cookie))
@@ -1323,6 +1328,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
   struct eh_cie_fde *ent;
 
   if (sec->sec_info_type != ELF_INFO_TYPE_EH_FRAME)
+    /* FIXME: octets_per_byte.  */
     return bfd_set_section_contents (abfd, sec->output_section, contents,
                                     sec->output_offset, sec->size);
 
@@ -1611,6 +1617,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
   if ((sec->size % ptr_size) != 0)
     abort ();
 
+  /* FIXME: octets_per_byte.  */
   return bfd_set_section_contents (abfd, sec->output_section,
                                   contents, (file_ptr) sec->output_offset,
                                   sec->size);
@@ -1722,6 +1729,7 @@ _bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
        }
     }
 
+  /* FIXME: octets_per_byte.  */
   retval = bfd_set_section_contents (abfd, sec->output_section,
                                     contents, (file_ptr) sec->output_offset,
                                     sec->size);
index 5818912..d6534f7 100644 (file)
@@ -7762,6 +7762,7 @@ bfd_elf_perform_complex_relocation (bfd *input_bfd,
   else
     shift = (8 * wordsz) - (start + len);
 
+  /* FIXME: octets_per_byte.  */
   x = get_value (wordsz, chunksz, input_bfd, contents + rel->r_offset);
 
 #ifdef DEBUG
@@ -7793,6 +7794,7 @@ bfd_elf_perform_complex_relocation (bfd *input_bfd,
          relocation, (mask << shift),
          ((relocation & mask) << shift), x);
 #endif
+  /* FIXME: octets_per_byte.  */
   put_value (wordsz, chunksz, input_bfd, x, contents + rel->r_offset);
   return r;
 }
@@ -8132,6 +8134,7 @@ elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
          }
        erel = o->contents;
        erelend = o->contents + o->size;
+       /* FIXME: octets_per_byte.  */
        p = sort + o->output_offset / ext_size * sort_elt;
 
        while (erel < erelend)
@@ -8176,6 +8179,7 @@ elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
 
        erel = o->contents;
        erelend = o->contents + o->size;
+       /* FIXME: octets_per_byte.  */
        p = sort + o->output_offset / ext_size * sort_elt;
        while (erel < erelend)
          {
@@ -9697,6 +9701,7 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
          break;
        default:
          {
+           /* FIXME: octets_per_byte.  */
            if (! (o->flags & SEC_EXCLUDE)
                && ! (o->output_section->flags & SEC_NEVER_LOAD)
                && ! bfd_set_section_contents (output_bfd, o->output_section,
@@ -10020,6 +10025,7 @@ elf_fixup_link_order (bfd *abfd, asection *o)
       offset &= ~(bfd_vma) 0 << s->alignment_power;
       s->output_offset = offset;
       sections[n]->offset = offset;
+      /* FIXME: octets_per_byte.  */
       offset += sections[n]->size;
     }
 
@@ -10999,6 +11005,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
               != SHT_STRTAB)
              || strcmp (bfd_get_section_name (abfd, o), ".dynstr") != 0)
            {
+             /* FIXME: octets_per_byte.  */
              if (! bfd_set_section_contents (abfd, o->output_section,
                                              o->contents,
                                              (file_ptr) o->output_offset,
index de1e951..df49cbe 100644 (file)
@@ -792,6 +792,7 @@ _bfd_write_merged_section (bfd *output_bfd, asection *sec, void *psecinfo)
   if (secinfo->first_str == NULL)
     return TRUE;
 
+  /* FIXME: octets_per_byte.  */
   pos = sec->output_section->filepos + sec->output_offset;
   if (bfd_seek (output_bfd, pos, SEEK_SET) != 0)
     return FALSE;