/* BFD back-end for oasys objects.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2018 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support, <sac@cygnus.com>.
This file is part of BFD, the Binary File Descriptor library.
filepos = header.mod_tbl_offset;
for (i = 0; i < header.mod_count; i++)
{
+ oasys_extmodule_table_type_b_type record_ext;
+
if (bfd_seek (abfd, filepos, SEEK_SET) != 0)
return NULL;
/* There are two ways of specifying the archive header. */
- {
- oasys_extmodule_table_type_b_type record_ext;
-
- amt = sizeof (record_ext);
- if (bfd_bread ((void *) &record_ext, amt, abfd) != amt)
- return NULL;
-
- record.mod_size = H_GET_32 (abfd, record_ext.mod_size);
- record.file_offset = H_GET_32 (abfd, record_ext.file_offset);
-
- record.dep_count = H_GET_32 (abfd, record_ext.dep_count);
- record.depee_count = H_GET_32 (abfd, record_ext.depee_count);
- record.sect_count = H_GET_32 (abfd, record_ext.sect_count);
- record.module_name_size = H_GET_32 (abfd,
- record_ext.mod_name_length);
-
- amt = record.module_name_size;
- module[i].name = bfd_alloc (abfd, amt + 1);
- if (!module[i].name)
- return NULL;
- if (bfd_bread ((void *) module[i].name, amt, abfd) != amt)
- return NULL;
- module[i].name[record.module_name_size] = 0;
- filepos += (sizeof (record_ext)
- + record.dep_count * 4
- + record.module_name_size + 1);
- }
+ amt = sizeof (record_ext);
+ if (bfd_bread ((void *) &record_ext, amt, abfd) != amt)
+ return NULL;
+
+ record.mod_size = H_GET_32 (abfd, record_ext.mod_size);
+ record.file_offset = H_GET_32 (abfd, record_ext.file_offset);
+
+ record.dep_count = H_GET_32 (abfd, record_ext.dep_count);
+ record.depee_count = H_GET_32 (abfd, record_ext.depee_count);
+ record.sect_count = H_GET_32 (abfd, record_ext.sect_count);
+ record.module_name_size = H_GET_32 (abfd,
+ record_ext.mod_name_length);
+
+ amt = record.module_name_size;
+ module[i].name = bfd_alloc (abfd, amt + 1);
+ if (!module[i].name)
+ return NULL;
+ if (bfd_bread ((void *) module[i].name, amt, abfd) != amt)
+ return NULL;
+ module[i].name[record.module_name_size] = 0;
+ filepos += (sizeof (record_ext)
+ + record.dep_count * 4
+ + record.module_name_size + 1);
module[i].size = record.mod_size;
module[i].pos = record.file_offset;
break;
case oasys_record_is_data_enum:
oasys->first_data_record = bfd_tell (abfd) - record.header.length;
+ /* Fall through. */
case oasys_record_is_debug_enum:
case oasys_record_is_module_enum:
case oasys_record_is_named_section_enum:
{
if (!ISDIGIT (s->name[0]))
{
- (*_bfd_error_handler)
- (_("%s: can not represent section `%s' in oasys"),
- bfd_get_filename (abfd), s->name);
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%B: can not represent section `%A' in oasys"), abfd, s);
bfd_set_error (bfd_error_nonrepresentable_section);
return FALSE;
}
}
#define oasys_find_nearest_line _bfd_nosymbols_find_nearest_line
-#define oasys_find_line _bfd_nosymbols_find_line
+#define oasys_find_line _bfd_nosymbols_find_line
#define oasys_find_inliner_info _bfd_nosymbols_find_inliner_info
static int
return 0;
}
-#define oasys_close_and_cleanup _bfd_generic_close_and_cleanup
-#define oasys_bfd_free_cached_info _bfd_generic_bfd_free_cached_info
-#define oasys_slurp_armap bfd_true
-#define oasys_slurp_extended_name_table bfd_true
-#define oasys_construct_extended_name_table ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_true)
-#define oasys_truncate_arname bfd_dont_truncate_arname
-#define oasys_write_armap ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) bfd_true)
-#define oasys_read_ar_hdr bfd_nullvoidptr
-#define oasys_write_ar_hdr ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
-#define oasys_get_elt_at_index _bfd_generic_get_elt_at_index
-#define oasys_update_armap_timestamp bfd_true
-#define oasys_bfd_is_local_label_name bfd_generic_is_local_label_name
-#define oasys_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define oasys_get_lineno _bfd_nosymbols_get_lineno
+#define oasys_close_and_cleanup _bfd_generic_close_and_cleanup
+#define oasys_bfd_free_cached_info _bfd_generic_bfd_free_cached_info
+#define oasys_slurp_armap _bfd_bool_bfd_true
+#define oasys_slurp_extended_name_table _bfd_bool_bfd_true
+#define oasys_construct_extended_name_table \
+ _bfd_noarchive_construct_extended_name_table
+#define oasys_truncate_arname bfd_dont_truncate_arname
+#define oasys_write_armap _bfd_noarchive_write_armap
+#define oasys_read_ar_hdr _bfd_ptr_bfd_null_error
+#define oasys_write_ar_hdr _bfd_noarchive_write_ar_hdr
+#define oasys_get_elt_at_index _bfd_generic_get_elt_at_index
+#define oasys_update_armap_timestamp _bfd_bool_bfd_true
+#define oasys_bfd_is_local_label_name bfd_generic_is_local_label_name
+#define oasys_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
+#define oasys_get_lineno _bfd_nosymbols_get_lineno
#define oasys_get_symbol_version_string _bfd_nosymbols_get_symbol_version_string
-#define oasys_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
-#define oasys_read_minisymbols _bfd_generic_read_minisymbols
-#define oasys_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
-#define oasys_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
-#define oasys_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
-#define oasys_set_arch_mach bfd_default_set_arch_mach
-#define oasys_get_section_contents_in_window _bfd_generic_get_section_contents_in_window
+#define oasys_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
+#define oasys_read_minisymbols _bfd_generic_read_minisymbols
+#define oasys_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
+#define oasys_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
+#define oasys_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
+#define oasys_set_arch_mach bfd_default_set_arch_mach
+#define oasys_get_section_contents_in_window _bfd_generic_get_section_contents_in_window
#define oasys_bfd_get_relocated_section_contents bfd_generic_get_relocated_section_contents
-#define oasys_bfd_relax_section bfd_generic_relax_section
-#define oasys_bfd_gc_sections bfd_generic_gc_sections
-#define oasys_bfd_lookup_section_flags bfd_generic_lookup_section_flags
-#define oasys_bfd_merge_sections bfd_generic_merge_sections
-#define oasys_bfd_is_group_section bfd_generic_is_group_section
-#define oasys_bfd_discard_group bfd_generic_discard_group
-#define oasys_section_already_linked _bfd_generic_section_already_linked
-#define oasys_bfd_define_common_symbol bfd_generic_define_common_symbol
-#define oasys_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define oasys_bfd_link_add_symbols _bfd_generic_link_add_symbols
-#define oasys_bfd_link_just_syms _bfd_generic_link_just_syms
-#define oasys_bfd_copy_link_hash_symbol_type \
+#define oasys_bfd_relax_section bfd_generic_relax_section
+#define oasys_bfd_gc_sections bfd_generic_gc_sections
+#define oasys_bfd_lookup_section_flags bfd_generic_lookup_section_flags
+#define oasys_bfd_merge_sections bfd_generic_merge_sections
+#define oasys_bfd_is_group_section bfd_generic_is_group_section
+#define oasys_bfd_discard_group bfd_generic_discard_group
+#define oasys_section_already_linked _bfd_generic_section_already_linked
+#define oasys_bfd_define_common_symbol bfd_generic_define_common_symbol
+#define oasys_bfd_define_start_stop bfd_generic_define_start_stop
+#define oasys_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
+#define oasys_bfd_link_add_symbols _bfd_generic_link_add_symbols
+#define oasys_bfd_link_just_syms _bfd_generic_link_just_syms
+#define oasys_bfd_copy_link_hash_symbol_type \
_bfd_generic_copy_link_hash_symbol_type
-#define oasys_bfd_final_link _bfd_generic_final_link
-#define oasys_bfd_link_split_section _bfd_generic_link_split_section
+#define oasys_bfd_final_link _bfd_generic_final_link
+#define oasys_bfd_link_split_section _bfd_generic_link_split_section
+#define oasys_bfd_link_check_relocs _bfd_generic_link_check_relocs
+#define oasys_set_reloc _bfd_generic_set_reloc
const bfd_target oasys_vec =
{
_bfd_dummy_target,
},
{ /* bfd_set_format. */
- bfd_false,
+ _bfd_bool_bfd_false_error,
oasys_mkobject,
_bfd_generic_mkarchive,
- bfd_false
+ _bfd_bool_bfd_false_error
},
{ /* bfd_write_contents. */
- bfd_false,
+ _bfd_bool_bfd_false_error,
oasys_write_object_contents,
_bfd_write_archive_contents,
- bfd_false,
+ _bfd_bool_bfd_false_error,
},
BFD_JUMP_TABLE_GENERIC (oasys),