* elflink.c: Add FIXMEs for some places that require octets_per_byte
adjustments. * elf-eh-frame.c: Likewise. * merge.c: Likewise.
This commit is contained in:
parent
ea7a63de40
commit
5dabe7859c
|
@ -1,3 +1,10 @@
|
|||
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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue