You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define KEEPMINUSPCININST 0
}
if (bfd_is_com_section (symbol->section)
- || symbol->section == &bfd_und_section)
+ || bfd_is_und_section (symbol->section))
{
/* Def of a common symbol */
ieee_write_byte (abfd, ieee_variable_X_enum);
ieee_write_int (abfd, symbol->value);
term_count++;
}
- else if (symbol->section != &bfd_abs_section)
+ else if (! bfd_is_abs_section (symbol->section))
{
/* Ref to defined symbol - */
next_byte (&(ieee->h));
*pcrel = true;
section_n = must_parse_int (&(ieee->h));
- PUSH (NOSYMBOL, &bfd_abs_section,
+ PUSH (NOSYMBOL, bfd_abs_section_ptr,
TOS.value = ieee->section_table[section_n]->vma +
ieee_per_section (ieee->section_table[section_n])->pc);
break;
sy.index = (int) (must_parse_int (&(ieee->h)));
sy.letter = 'X';
- PUSH (sy, &bfd_und_section, 0);
+ PUSH (sy, bfd_und_section_ptr, 0);
}
break;
case ieee_function_minus_enum:
POP (sy1, section1, value1);
POP (sy2, section2, value2);
- PUSH (sy1.letter ? sy1 : sy2, section1 != &bfd_abs_section ? section1 : section2, value1 + value2);
+ PUSH (sy1.letter ? sy1 : sy2,
+ bfd_is_abs_section (section1) ? section2 : section1,
+ value1 + value2);
}
break;
default:
|| this_byte (&(ieee->h)) > (int) ieee_variable_Z_enum);
if (parse_int (&(ieee->h), &va))
{
- PUSH (NOSYMBOL, &bfd_abs_section, va);
+ PUSH (NOSYMBOL, bfd_abs_section_ptr, va);
}
else
{
symbol->symbol.the_bfd = abfd;
symbol->symbol.name = read_id (&(ieee->h));
- symbol->symbol.udata = (PTR) NULL;
+ symbol->symbol.udata.p = (PTR) NULL;
symbol->symbol.flags = BSF_NO_FLAGS;
break;
case ieee_external_symbol_enum:
symbol->symbol.the_bfd = abfd;
symbol->symbol.name = read_id (&(ieee->h));
- symbol->symbol.udata = (PTR) NULL;
+ symbol->symbol.udata.p = (PTR) NULL;
symbol->symbol.flags = BSF_NO_FLAGS;
break;
case ieee_attribute_record_enum >> 8:
value = 0;
}
/* This turns into a common */
- symbol->symbol.section = &bfd_com_section;
+ symbol->symbol.section = bfd_com_section_ptr;
symbol->symbol.value = size;
}
break;
symbol->symbol.the_bfd = abfd;
symbol->symbol.name = read_id (&(ieee->h));
- symbol->symbol.udata = (PTR) NULL;
- symbol->symbol.section = &bfd_und_section;
+ symbol->symbol.udata.p = (PTR) NULL;
+ symbol->symbol.section = bfd_und_section_ptr;
symbol->symbol.value = (bfd_vma) 0;
symbol->symbol.flags = 0;
symbol index order
*/
-extern bfd_target ieee_vec;
+extern const bfd_target ieee_vec;
long
ieee_get_symtab (abfd, location)
static bfd dummy_bfd;
static asymbol empty_symbol =
/* the_bfd, name, value, attr, section */
- {&dummy_bfd, " ieee empty", (symvalue) 0, BSF_DEBUGGING, &bfd_abs_section};
+ {&dummy_bfd, " ieee empty", (symvalue) 0, BSF_DEBUGGING, bfd_abs_section_ptr};
if (abfd->symcount)
{
* archive stuff
*/
-bfd_target *
+const bfd_target *
ieee_archive_p (abfd)
bfd *abfd;
{
if (this_byte (&(ieee->h)) != Module_Beginning)
{
abfd->tdata.ieee_ar_data = save;
- return (bfd_target *) NULL;
+ return (const bfd_target *) NULL;
}
next_byte (&(ieee->h));
{
bfd_release (abfd, ieee);
abfd->tdata.ieee_ar_data = save;
- return (bfd_target *) NULL;
+ return (const bfd_target *) NULL;
}
/* Throw away the filename */
read_id (&(ieee->h));
if (!obstack_begin (&ob, 128))
{
bfd_set_error (bfd_error_no_memory);
- return (bfd_target *) NULL;
+ return (const bfd_target *) NULL;
}
ieee->element_count = 0;
if (!ieee->elements)
{
bfd_set_error (bfd_error_no_memory);
- return (bfd_target *) NULL;
+ return (const bfd_target *) NULL;
}
/* Now scan the area again, and replace BB offsets with file */
return abfd->tdata.ieee_data ? true : false;
}
-bfd_target *
+const bfd_target *
ieee_object_p (abfd)
bfd *abfd;
{
ieee->h.input_p = buffer;
if (this_byte_and_next (&(ieee->h)) != Module_Beginning)
- goto fail;
+ goto got_wrong_format;
ieee->read_symbols = false;
ieee->read_data = false;
processor = ieee->mb.processor = read_id (&(ieee->h));
if (strcmp (processor, "LIBRARY") == 0)
- goto fail;
+ goto got_wrong_format;
ieee->mb.module_name = read_id (&(ieee->h));
if (abfd->filename == (CONST char *) NULL)
{
{
bfd_arch_info_type *arch = bfd_scan_arch (processor);
if (arch == 0)
- goto fail;
+ goto got_wrong_format;
abfd->arch_info = arch;
}
ieee_slurp_sections (abfd);
return abfd->xvec;
+got_wrong_format:
+ bfd_set_error (bfd_error_wrong_format);
fail:
(void) bfd_release (abfd, ieee);
abfd->tdata.ieee_data = save;
- return (bfd_target *) NULL;
+ return (const bfd_target *) NULL;
}
void
ieee->w.r.section_part = bfd_tell (abfd);
for (s = abfd->sections; s != (asection *) NULL; s = s->next)
{
- if (s != &bfd_abs_section)
+ if (! bfd_is_abs_section (s))
{
ieee_write_byte (abfd, ieee_section_type_enum);
ieee_write_byte (abfd, (bfd_byte) (s->index + IEEE_SECTION_NUMBER_BASE));
ieee_write_byte (abfd, 0);
ieee_write_byte (abfd, 0xf9);
ieee_write_expression (abfd, s->size,
- bfd_abs_section.symbol, 0, 0, 0);
+ bfd_abs_section_ptr->symbol, 0, 0, 0);
i++;
}
{
asymbol *p = *q;
hadone = true;
- if (p->section == &bfd_und_section)
+ if (bfd_is_und_section (p->section))
{
/* This must be a symbol reference .. */
ieee_write_byte (abfd, ieee_external_reference_enum);
/* Write out the value */
ieee_write_2bytes (abfd, ieee_value_record_enum);
ieee_write_int (abfd, public_index);
- if (p->section != &bfd_abs_section)
+ if (! bfd_is_abs_section (p->section))
{
if (abfd->flags & EXEC_P)
{
{
ieee_write_expression (abfd,
p->value,
- bfd_abs_section.symbol,
+ bfd_abs_section_ptr->symbol,
false, 0);
}
p->value = public_index;
}
+/* The debug info routines are never used. */
+#if 0
+
static void
ieee_bfd_debug_info_start (abfd)
bfd *abfd;
}
}
+#endif
+
+#define ieee_close_and_cleanup _bfd_generic_close_and_cleanup
+#define ieee_bfd_free_cached_info _bfd_generic_bfd_free_cached_info
-#define FOO PROTO
-#define ieee_core_file_failing_command (char *(*)())(bfd_nullvoidptr)
-#define ieee_core_file_failing_signal (int (*)())bfd_0
-#define ieee_core_file_matches_executable_p ( FOO(boolean, (*),(bfd *, bfd *)))bfd_false
#define ieee_slurp_armap bfd_true
#define ieee_slurp_extended_name_table bfd_true
-#define ieee_truncate_arname (void (*)())bfd_nullvoidptr
-#define ieee_write_armap (FOO( boolean, (*),(bfd *, unsigned int, struct orl *, unsigned int, int))) bfd_nullvoidptr
-#define ieee_get_lineno (struct lineno_cache_entry *(*)())bfd_nullvoidptr
-#define ieee_close_and_cleanup bfd_generic_close_and_cleanup
-#define ieee_set_arch_mach bfd_default_set_arch_mach
-#define ieee_bfd_get_relocated_section_contents bfd_generic_get_relocated_section_contents
+#define ieee_construct_extended_name_table \
+ ((boolean (*) PARAMS ((bfd *, char **, bfd_size_type *, const char **))) \
+ bfd_true)
+#define ieee_truncate_arname bfd_dont_truncate_arname
+#define ieee_write_armap \
+ ((boolean (*) \
+ PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int))) \
+ bfd_true)
+#define ieee_update_armap_timestamp bfd_true
+
+#define ieee_bfd_is_local_label bfd_generic_is_local_label
+#define ieee_get_lineno _bfd_nosymbols_get_lineno
+#define ieee_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
+#define ieee_read_minisymbols _bfd_generic_read_minisymbols
+#define ieee_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
+
+#define ieee_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
+
+#define ieee_set_arch_mach _bfd_generic_set_arch_mach
+
+#define ieee_bfd_get_relocated_section_contents \
+ bfd_generic_get_relocated_section_contents
#define ieee_bfd_relax_section bfd_generic_relax_section
-#define ieee_bfd_reloc_type_lookup \
- ((CONST struct reloc_howto_struct *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) bfd_nullvoidptr)
-#define ieee_bfd_make_debug_symbol \
- ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
#define ieee_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ieee_bfd_link_add_symbols _bfd_generic_link_add_symbols
#define ieee_bfd_final_link _bfd_generic_final_link
-#define ieee_bfd_copy_private_section_data \
- ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)
-#define ieee_bfd_copy_private_bfd_data \
- ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
-#define ieee_bfd_is_local_label bfd_generic_is_local_label
-#define ieee_bfd_free_cached_info bfd_true
+#define ieee_bfd_link_split_section _bfd_generic_link_split_section
/*SUPPRESS 460 */
-bfd_target ieee_vec =
+const bfd_target ieee_vec =
{
"ieee", /* name */
bfd_target_ieee_flavour,
_bfd_write_archive_contents,
bfd_false,
},
- JUMP_TABLE (ieee),
+
+ BFD_JUMP_TABLE_GENERIC (ieee),
+ BFD_JUMP_TABLE_COPY (_bfd_generic),
+ BFD_JUMP_TABLE_CORE (_bfd_nocore),
+ BFD_JUMP_TABLE_ARCHIVE (ieee),
+ BFD_JUMP_TABLE_SYMBOLS (ieee),
+ BFD_JUMP_TABLE_RELOCS (ieee),
+ BFD_JUMP_TABLE_WRITE (ieee),
+ BFD_JUMP_TABLE_LINK (ieee),
+ BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+
(PTR) 0
};