return value;
}
-
+
/* Store a width sized value to memory. */
static void
/* This function is called for each input file before the .eh_frame
section is relocated. It discards duplicate CIEs and FDEs for discarded
- functions. The function returns true iff any entries have been
+ functions. The function returns TRUE iff any entries have been
deleted. */
-boolean
+bfd_boolean
_bfd_elf_discard_section_eh_frame (abfd, info, sec,
reloc_symbol_deleted_p, cookie)
bfd *abfd;
struct bfd_link_info *info;
asection *sec;
- boolean (*reloc_symbol_deleted_p) PARAMS ((bfd_vma, PTR));
+ bfd_boolean (*reloc_symbol_deleted_p) PARAMS ((bfd_vma, PTR));
struct elf_reloc_cookie *cookie;
{
bfd_byte *ehbuf = NULL, *buf;
if (sec->_raw_size == 0)
{
/* This file does not contain .eh_frame information. */
- return false;
+ return FALSE;
}
if ((sec->output_section != NULL
{
/* At least one of the sections is being discarded from the
link, so we should just ignore them. */
- return false;
+ return FALSE;
}
htab = elf_hash_table (info);
{
/* Empty .eh_frame section. */
free (ehbuf);
- return false;
+ return FALSE;
}
/* If .eh_frame section size doesn't fit into int, we cannot handle
which we cannot turn into PC relative,
don't create the binary search table,
since it is affected by runtime relocations. */
- hdr_info->table = false;
+ hdr_info->table = FALSE;
}
cie_usage_count++;
hdr_info->fde_count++;
free (ehbuf);
if (sec_info)
free (sec_info);
- hdr_info->table = false;
+ hdr_info->table = FALSE;
hdr_info->last_cie.hdr.length = 0;
- return false;
+ return FALSE;
}
/* This function is called for .eh_frame_hdr section after
_bfd_elf_discard_section_eh_frame has been called on all .eh_frame
input sections. It finalizes the size of .eh_frame_hdr section. */
-boolean
+bfd_boolean
_bfd_elf_discard_section_eh_frame_hdr (abfd, info)
bfd *abfd;
struct bfd_link_info *info;
hdr_info = &htab->eh_info;
sec = hdr_info->hdr_sec;
if (sec == NULL)
- return false;
+ return FALSE;
sec->_cooked_size = EH_FRAME_HDR_SIZE;
if (hdr_info->table)
/* Request program headers to be recalculated. */
elf_tdata (abfd)->program_header_size = 0;
elf_tdata (abfd)->eh_frame_hdr = sec;
- return true;
+ return TRUE;
}
/* This function is called from size_dynamic_sections.
because later on it is too late for calling _bfd_strip_section_from_output,
since dynamic symbol table has been sized. */
-boolean
+bfd_boolean
_bfd_elf_maybe_strip_eh_frame_hdr (info)
struct bfd_link_info *info;
{
htab = elf_hash_table (info);
hdr_info = &htab->eh_info;
if (hdr_info->hdr_sec == NULL)
- return true;
+ return TRUE;
if (bfd_is_abs_section (hdr_info->hdr_sec->output_section))
{
hdr_info->hdr_sec = NULL;
- return true;
+ return TRUE;
}
abfd = NULL;
{
_bfd_strip_section_from_output (info, hdr_info->hdr_sec);
hdr_info->hdr_sec = NULL;
- return true;
+ return TRUE;
}
- hdr_info->table = true;
- return true;
+ hdr_info->table = TRUE;
+ return TRUE;
}
/* Adjust an address in the .eh_frame section. Given OFFSET within
/* Write out .eh_frame section. This is called with the relocated
contents. */
-boolean
+bfd_boolean
_bfd_elf_write_section_eh_frame (abfd, info, sec, contents)
bfd *abfd;
struct bfd_link_info *info;
unsigned int width;
buf = contents + sec_info->entry[i].offset;
- /* Skip length. */
+ /* Skip length. */
buf += 4;
bfd_put_32 (abfd,
sec_info->entry[i].new_offset + 4 - cie_offset, buf);
FDE initial_location field and FDE address,
sorted by increasing initial_loc) */
-boolean
+bfd_boolean
_bfd_elf_write_section_eh_frame_hdr (abfd, info)
bfd *abfd;
struct bfd_link_info *info;
hdr_info = &htab->eh_info;
sec = hdr_info->hdr_sec;
if (sec == NULL)
- return true;
+ return TRUE;
size = EH_FRAME_HDR_SIZE;
if (hdr_info->array && hdr_info->array_count == hdr_info->fde_count)
size += 4 + hdr_info->fde_count * 8;
contents = bfd_malloc (size);
if (contents == NULL)
- return false;
+ return FALSE;
eh_frame_sec = bfd_get_section_by_name (abfd, ".eh_frame");
if (eh_frame_sec == NULL)
- return false;
+ return FALSE;
memset (contents, 0, EH_FRAME_HDR_SIZE);
contents[0] = 1; /* Version */