aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index a85498d..e7252c6 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -338,6 +338,7 @@ bfd_elf_string_from_elf_section (bfd *abfd,
if (hdr->sh_type != SHT_STRTAB && hdr->sh_type < SHT_LOOS)
{
/* PR 17512: file: f057ec89. */
+ /* xgettext:c-format */
_bfd_error_handler (_("%B: attempt to load strings from a non-string section (number %d)"),
abfd, shindex);
return NULL;
@@ -351,6 +352,7 @@ bfd_elf_string_from_elf_section (bfd *abfd,
{
unsigned int shstrndx = elf_elfheader(abfd)->e_shstrndx;
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: invalid string offset %u >= %lu for section `%s'"),
abfd, strindex, (unsigned long) hdr->sh_size,
(shindex == shstrndx && strindex == hdr->sh_name
@@ -489,6 +491,7 @@ bfd_elf_get_elf_syms (bfd *ibfd,
if (!(*bed->s->swap_symbol_in) (ibfd, esym, shndx, isym))
{
symoffset += (esym - (bfd_byte *) extsym_buf) / extsym_size;
+ /* xgettext:c-format */
_bfd_error_handler (_("%B symbol number %lu references "
"nonexistent SHT_SYMTAB_SHNDX section"),
ibfd, (unsigned long) symoffset);
@@ -645,6 +648,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
if (shdr->contents == NULL)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: corrupt size field in group section header: 0x%lx"), abfd, shdr->sh_size);
bfd_set_error (bfd_error_bad_value);
-- num_group;
@@ -658,6 +662,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
!= shdr->sh_size))
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: invalid size field in group section header: 0x%lx"), abfd, shdr->sh_size);
bfd_set_error (bfd_error_bad_value);
-- num_group;
@@ -778,6 +783,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
if (elf_group_name (newsect) == NULL)
{
+ /* xgettext:c-format */
_bfd_error_handler (_("%B: no group info for section %A"),
abfd, newsect);
return FALSE;
@@ -808,6 +814,7 @@ _bfd_elf_setup_sections (bfd *abfd)
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->link_order_error_handler)
bed->link_order_error_handler
+ /* xgettext:c-format */
(_("%B: warning: sh_link not set for section `%A'"),
abfd, s);
}
@@ -827,6 +834,7 @@ _bfd_elf_setup_sections (bfd *abfd)
if (linksec == NULL)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: sh_link [%d] in section `%A' is incorrect"),
s->owner, s, elfsec);
result = FALSE;
@@ -839,6 +847,7 @@ _bfd_elf_setup_sections (bfd *abfd)
&& elf_next_in_group (s) == NULL)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"),
abfd, elf_section_data (s)->this_idx);
result = FALSE;
@@ -859,6 +868,7 @@ _bfd_elf_setup_sections (bfd *abfd)
if (shdr == NULL || shdr->bfd_section == NULL || shdr->contents == NULL)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: section group entry number %u is corrupt"),
abfd, i);
result = FALSE;
@@ -883,6 +893,7 @@ _bfd_elf_setup_sections (bfd *abfd)
{
/* There are some unknown sections in the group. */
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: unknown [%d] section `%s' in group [%s]"),
abfd,
(unsigned int) idx->shdr->sh_type,
@@ -1149,6 +1160,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
if (!bfd_init_section_compress_status (abfd, newsect))
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: unable to initialize compress status for section %s"),
abfd, name);
return FALSE;
@@ -1159,6 +1171,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
if (!bfd_init_section_decompress_status (abfd, newsect))
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: unable to initialize decompress status for section %s"),
abfd, name);
return FALSE;
@@ -1337,6 +1350,7 @@ copy_special_section_fields (const bfd *ibfd,
/* FIXME: Should we install iheader->sh_link
if we could not find a match ? */
(* _bfd_error_handler)
+ /* xgettext:c-format */
(_("%B: Failed to find link section for section %d"), obfd, secnum);
}
@@ -1363,6 +1377,7 @@ copy_special_section_fields (const bfd *ibfd,
}
else
(* _bfd_error_handler)
+ /* xgettext:c-format */
(_("%B: Failed to find info section for section %d"), obfd, secnum);
}
@@ -2053,6 +2068,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
if (elf_onesymtab (abfd) != 0)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: warning: multiple symbol tables detected - ignoring the table in section %u"),
abfd, shindex);
goto success;
@@ -2135,6 +2151,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
if (elf_dynsymtab (abfd) != 0)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"),
abfd, shindex);
goto success;
@@ -2246,6 +2263,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
if (hdr->sh_link >= num_sec)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: invalid link %lu for reloc section %s (index %u)"),
abfd, hdr->sh_link, name, shindex);
ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name,
@@ -2431,6 +2449,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
/* FIXME: How to properly handle allocated section reserved
for applications? */
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: don't know how to handle allocated, application "
"specific section `%s' [0x%8x]"),
abfd, name, hdr->sh_type);
@@ -2446,6 +2465,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
&& hdr->sh_type <= SHT_HIPROC)
/* FIXME: We should handle this section. */
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: don't know how to handle processor specific section "
"`%s' [0x%8x]"),
abfd, name, hdr->sh_type);
@@ -2457,6 +2477,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
required to correctly process the section and the file should
be rejected with an error message. */
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: don't know how to handle OS specific section "
"`%s' [0x%8x]"),
abfd, name, hdr->sh_type);
@@ -2470,6 +2491,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
else
/* FIXME: We should handle this section. */
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: don't know how to handle section `%s' [0x%8x]"),
abfd, name, hdr->sh_type);
@@ -3173,6 +3195,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
if (asect->alignment_power >= (sizeof (bfd_vma) * 8) - 1)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: error: Alignment power %d of section `%A' is too big"),
abfd, asect, asect->alignment_power);
arg->failed = TRUE;
@@ -3644,6 +3667,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
if (section_number >= SHN_LORESERVE)
{
+ /* xgettext:c-format */
_bfd_error_handler (_("%B: too many sections: %u"),
abfd, section_number);
return FALSE;
@@ -3728,6 +3752,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
{
asection *kept;
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: sh_link of section `%A' points to discarded section `%A' of `%B'"),
abfd, d->this_hdr.bfd_section,
s, s->owner);
@@ -3751,6 +3776,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
if (s->output_section == NULL)
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: sh_link of section `%A' points to removed section `%A' of `%B'"),
abfd, d->this_hdr.bfd_section, s, s->owner);
bfd_set_error (bfd_error_bad_value);
@@ -3771,6 +3797,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
= get_elf_backend_data (abfd);
if (bed->link_order_error_handler)
bed->link_order_error_handler
+ /* xgettext:c-format */
(_("%B: warning: sh_link not set for section `%A'"),
abfd, sec);
}
@@ -5379,6 +5406,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
|| p_end < p_start))
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: section %A lma %#lx adjusted to %#lx"), abfd, sec,
(unsigned long) s_start, (unsigned long) p_end);
adjust = 0;
@@ -5515,6 +5543,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
&& !ELF_TBSS_SPECIAL (this_hdr, p))
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: section `%A' can't be allocated in segment %d"),
abfd, sec, j);
print_segment_map (m);
@@ -5562,6 +5591,7 @@ assign_file_positions_for_non_load_sections (bfd *abfd,
{
if (hdr->sh_size != 0)
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: warning: allocated section `%s' not in segment"),
abfd,
(hdr->bfd_section == NULL
@@ -6237,6 +6267,7 @@ _bfd_elf_symbol_from_bfd_symbol (bfd *abfd, asymbol **asym_ptr_ptr)
/* This case can occur when using --strip-symbol on a symbol
which is used in a relocation entry. */
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: symbol `%s' required but not present"),
abfd, bfd_asymbol_name (asym_ptr));
bfd_set_error (bfd_error_no_symbols);
@@ -7188,6 +7219,7 @@ rewrite:
{
/* PR 17512: file: f17299af. */
if (segment->p_align > (bfd_vma) 1 << ((sizeof (bfd_vma) * 8) - 2))
+ /* xgettext:c-format */
_bfd_error_handler (_("\
%B: warning: segment alignment of 0x%llx is too large"),
ibfd, (long long) segment->p_align);
@@ -7664,6 +7696,7 @@ error_return:
shndx = _bfd_elf_section_from_bfd_section (abfd, sec2);
if (shndx == SHN_BAD)
{
+ /* xgettext:c-format */
_bfd_error_handler (_("\
Unable to find equivalent output section for symbol '%s' from section '%s'"),
syms[idx]->name ? syms[idx]->name : "<Local sym>",
@@ -8674,6 +8707,7 @@ _bfd_elf_validate_reloc (bfd *abfd, arelent *areloc)
fail:
_bfd_error_handler
+ /* xgettext:c-format */
(_("%B: unsupported relocation type %s"),
abfd, areloc->howto->name);
bfd_set_error (bfd_error_bad_value);