Commit Graph

35 Commits

Author SHA1 Message Date
David MacKenzie
9783e04a64 Make all callers of malloc or realloc (including via obstacks)
check the result for NULL.  Most set bfd_error to no_memory and
	return in that case; a few are harder to fix, and are marked
	with "FIXME <return type>".

	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub
	hppa_elf_build_long_branch_stub):  Check bfd_make_empty_symbol return.
	* linker.c (_bfd_generic_link_output_symbols
	_bfd_generic_link_write_global_symbol): Ditto
	* section.c (bfd_make_section_anyway): Ditto.

	* tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
	(first_phase): Ditto.  FIXME void
	(tekhex_make_empty_symbol): Check bfd_zalloc.

	* sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
	(MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.

	* stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.

	* srec.c: Indent.
	(fillup_symbols): Check bfd_alloc.  FIXME void
	(srec_mkobject srec_get_section_contents
	srec_set_section_contents): Check bfd_alloc.
	(srec_make_empty_symbol): Check bfd_zalloc.

	* som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
	(make_unique_section): Check bfd_alloc.
	(som_new_section_hook): Check bfd_zalloc.
	(bfd_som_attach_aux_hdr): Ditto.  FIXME void

	* rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.

	* osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
	(osf_core_core_file_p): Check bfd_alloc.

	* oasys.c (oasys_slurp_symbol_table oasys_archive_p
	oasys_mkobject oasys_object_p oasys_new_section_hook
	oasys_set_section_contents): Check bfd_alloc.
	(oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
	(oasys_make_empty_symbol): Check bfd_zalloc.

	* nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
	(nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.

	* nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.

	* nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.

	* nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.

	* linker.c (_bfd_link_hash_newfunc
	(generic_link_hash_newfunc
	(archive_hash_newfunc
	(_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
	(_bfd_generic_final_link
	(_bfd_generic_link_output_symbols
	(default_indirect_link_order): Check bfd_alloc.
	(bfd_new_link_order): Check bfd_alloc_by_size_t.

	* irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.

	* ieee.c: Indent.
	(read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
	ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
	(do_one): Check bfd_alloc.  Return a boolean.
	(ieee_slurp_section_data): Check it.
	(init_for_output): Check bfd_alloc.  Return a boolean.
	(ieee_set_section_contents): Check it.
	(do_with_relocs):  Check bfd_alloc.  Return a boolean.
	(ieee_bfd_debug_info_accumulate): Ditto.  FIXME void.
	(ieee_mkobject): Check bfd_zalloc.
	(ieee_make_empty_symbol): Check bfd_zmalloc.

	* hpux-core.c (hpux_core_make_empty_symbol): Check
	bfd_zalloc.

	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
	bfd_zalloc.
	(hppabsd_core_core_file_p): Check bfd_zalloc.

	* hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.

	* elfcode.h (elf_new_section_hook): Check bfd_alloc.
	(bfd_section_from_phdr): Ditto.
	(write_relocs): Ditto.  FIXME void
	(elf_map_symbols assign_section_numbers map_program_segments):
	Ditto.  Return a boolean.
	(swap_out_syms): Ditto.  Check elf_map_symbols.
	(elf_slurp_symbol_table): Check bfd_zalloc.
	(elf_slurp_reloca_table): Check bfd_alloc.
	(elf_slurp_reloc_table): Ditto.
	(elf_compute_section_file_positions): Check assign_section_numbers.
	(assign_file_positions_except_relocs): Return a boolean.
	Check map_program_segments.
	(elf_compute_section_file_positions): Check it.

	* elf32-mips.c (mips_elf_final_link): Check bfd_alloc.

	* elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
	realloc.
	(hppa_elf_stub_reloc): Ditto.
	(hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
	(hppa_elf_build_long_branch_stub): Ditto.
	(elf32_hppa_backend_symbol_table_processing): Ditto.

	* ecoff.c (ecoff_set_symbol_info): Check bfd_alloc.  Return a boolean.
	(ecoff_slurp_symbol_table): Check it.
	(ecoff_slurp_armap): Check bfd_alloc.
	(ecoff_write_armap): Check bfd_zalloc.
	(ecoff_link_hash_newfunc): Check bfd_hash_allocate and
	_bfd_link_hash_newfunc.
	(ecoff_link_add_externals): Check bfd_alloc.

	* ctor.c (bfd_constructor_entry): Check bfd_alloc.

	* coffgen.c (coff_real_object_p): Check bfd_alloc.
	(coff_renumber_symbols): Check bfd_alloc_by_size_t.  Return a boolean.
	(coff_write_symbol): Check bfd_alloc.  FIXME int
	(coff_write_linenumbers): Check bfd_alloc.  Return a boolean.
	(coff_section_symbol): Check bfd_alloc_by_size_t.
	(coff_get_normalized_symtab): Check bfd_alloc.
	(coff_bfd_make_debug_symbol): Check bfd_zalloc.
	* libcoff-in.h: Change decls of coff_renumber_symbols,
	coff_write_linenumbers.
	* libcoff.h: Rebuilt.
	* coffcode.h (coff_write_object_contents): Check
	coff_renumber_symbols, coff_write_linenumbers.

	* coffcode.h: Indent.
	(coff_add_missing_symbols): Check bfd_alloc_by_size_t.  Return a
	boolean.
	(coff_write_object_contents): Check it.

	* coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
	* coff-mips.c (mips_relocate_section): Ditto.

	* archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
	(do_slurp_bsd_armap): Ditto.
	(compute_and_write_armap): Check bfd_realloc value.

	* aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
	return value.  Return boolean value.
	(NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
	(NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
	return value.
	(add_to_stringtab): Ditto.  FIXME void
	(aout_link_hash_newfunc): Check bfd_hash_allocate return value.
	(aout_link_add_symbols): Check bfd_alloc value.
	(translate_symbol_table): Check translate_from_native_sym_flags.
	* hp300hpux.c (MY(slurp_symbol_table)): Ditto.
	* aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.

	* opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.

	* opncls.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	(_bfd_new_bfd): Check obstack_begin for 0 return.

	* ieee.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	(ieee_archive_p): Check obstack_begin for 0 return and
	obstack_finish for NULL return.

	* hash.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	(bfd_hash_table_init_n): Check obstack_begin for 0 return and
	obstack_finish for NULL return.
	(bfd_hash_lookup): Check obstack_alloc for NULL return.

	* ecofflink.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	bfd_ecoff_debug_accumulate
	bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
	(add_file_shuffle add_memory_shuffle): Check obstack_alloc for
	NULL return.  Return boolean, not void.
	(bfd_ecoff_debug_init): Check obstack_begin for 0 return.
	(bfd_ecoff_debug_accumulate): Check add_file_shuffle
	and add_memory_shuffle return.
	(string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
	(bfd_ecoff_debug_accumulate): Check bfd_alloc.
	(ecoff_add_string): Check add_memory_shuffle return.

	* libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
	Remove decls.
	* libbfd.h: Rebuilt.
1994-02-12 00:45:54 +00:00
David MacKenzie
0ee3427297 * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
(bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
	* libbfd-in.h: Define them as macros calling xmalloc and declare
	xmalloc.
	* libbfd.h: Rebuilt.
	* ecofflink.c hash.c ieee.c opncls.c (obstack_chunk_alloc): Define
	to be xmalloc, not bfd_xmalloc_by_size_t.
1994-02-05 02:46:12 +00:00
David MacKenzie
f4bd7a8f0e * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
"_bfd_" to function names.
	* archive.c (_bfd_create_empty_archive_element_shell),
	libbfd-in.h: Change callers.

	* libbfd.c (bfd_zmalloc): Renamed from zalloc.
	* libbfd.c (bfd_add_to_string_table),
	trad-core.c (trad_unix_core_file_p),
	targets.c (bfd_target_list),
	ptrace-core.c (ptrace_unix_core_file_p),
	opncls.c (new_bfd), libbfd-in.h,
	ieee.c (ieee_make_empty_symbol),
	elf32-hppa.c (hppa_elf_stub_branch_reloc),
	(hppa_elf_stub_reloc): Change callers.
	* libbfd.h: Regenerated.

	* archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
	(_bfd_get_elt_at_filepos),
	coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
	Change callers.

	* format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
	elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
	and default_vector to bfd_default_vector.
	* libbfd.h: Regenerated.
1994-01-25 13:25:26 +00:00
Ian Lance Taylor
14aa9a78c3 gcc -Wall lint:
* coff-h8300.c (h8300_reloc16_estimate): Declare return type.
	Remove useless statement probably left by code copy.
	* cpu-i960.c (compatible): Fully bracket matrix initializer.
	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Use bfd_xmalloc
	rather than xmalloc.  Use realloc and check the return value
	rather than xrealloc.
	(hppa_elf_get_section_contents): Add some casts.
	* elf32-i386.c (elf_i386_reloc_type_lookup): Remove unused
	variable.  Add default case to switch.
	* hp300hpux.c: Declare aout_32_write_syms.
	* i386bsd.c, i386linux.c, netbsd386.c (N_SHARED_LIB): Define as 0
	(definition from aout/aout64.h is always 0 anyhow).
	* i386lynx.c (swap_std_reloc_in): Remove unused variable.
	* ieee.c (ieee_write_id): length can never be negative.
	(read_id): Likewise.
	(ieee_archive_p): Remove unused variable.
	* libcoff-in.h (bfd_perform_slip): Declare.
	* libcoff.h: Rebuilt.
	* oasys.c (oasys_write_sections): Remove zero initialization of
	static structure.
	* reloc16.c: Indentation change.
1993-10-28 20:36:48 +00:00
Ken Raeburn
70e009144e Stricter prototyping, to force type conversions between 64-bit target and
32-bit host values.

* libbfd.c (bfd_xmalloc_by_size_t): New function.
* opncls.c (bfd_cache_init, bfd_open_file): Add prototypes to declarations.
(obstack_chunk_alloc): Use bfd_xmalloc_by_size_t.
(new_bfd): Prototype-style definition, using DEFUN.
(bfd_alloc_grow, bfd_alloc, bfd_zalloc, bfd_realloc): Size argument is type
size_t, not bfd_size_type.
* ieee.c (obstack_chunk_alloc): Use bfd_xmalloc_by_size_t.
* bfd.c (bfd_default_error_trap, bfd_error_trap,
bfd_error_nonrepresentabltrap): Prototypes.
* libbfd-in.h (bfd_alloc, bfd_zalloc, bfd_realloc, bfd_alloc_grow): Adjusted
prototypes for arg type change.
* archive.c (get_elt_at_filepos, do_slurp_bsd_armap, normalize,
do_slurp_coff_armap, bfd_construct_extended_name_table): Prototypes.
1993-07-06 20:20:31 +00:00
John Gilmore
b07d03ba16 Fix minor merge botch in prev change. 1993-04-15 08:19:43 +00:00
John Gilmore
7185848601 * ieee.c (ieee_slurp_sections): Pass all ieee section names
straight through into BFD sections.  Add comments.
1993-04-15 08:05:31 +00:00
Ian Lance Taylor
c0f6093b0c * Minor cleanups provoked by gcc warnings:
* aoutx.h (NAME(aout, reloc_type_lookup)),
	cpu-h8300.c (local_bfd_reloc_type_lookup),
	cpu-z8k.c (local_bfd_reloc_type_lookup): Added default case to
	switches.
	* archive.c (do_slurp_bsd_armap, do_slurp_coff_armap),
	ieee.c (ieee_slurp_section_data),
	elf.c (elf_make_sections, elf_fake_sections,
	elf_compute_section_file_positions, elf_write_object_contents):
	Removed unused variables.
	* archures.c: Removed /* from within comment.
	* bout.c (b_out_squirt_out_relocs): Initialize r_extern.
	* oasys.c (oasys_write_data): Initialize i.
1993-02-23 21:08:32 +00:00
Ian Lance Taylor
8feff71726 * bfd-in.h (JUMP_TABLE): Added bfd_reloc_type_lookup and
bfd_make_debug_symbol; they were already in the target structure.
	* Adjusted all uses of JUMP_TABLE.
	* coffgen.c, libcoff-in.h (coff_bfd_make_debug_symbol): Renamed
	from coff_make_debug_symbol.
	* libcoff.h: Updated accordingly.
1993-02-23 20:24:06 +00:00
Steve Chamberlain
aff6e0b45a ,Wed Oct 28 16:11:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* ieee.c (get_symbol): can now cope when two symbols of a
	different class, but the same index number occur consecutively.
	(get_section_entry): nicer name for sections being forward
	referenced. (ieee_archive_p): don't free the filename string,
	since it was never malloced.
1992-10-29 00:17:07 +00:00
John Gilmore
f8e0194018 * aout-adobe.c, aoutf1.h, archive.c, bout.c, coff-rs6000.c,
coffcode.h, elf.c, ieee.c, libaout.h, libbfd.c, oasys.c,
sco-core.c:  Lint:  Second argument of bfd_seek is always file_ptr.
Third argument is SEEK_SET or SEEK_CUR.  Result is always 0 or -1.
1992-10-15 09:00:09 +00:00
Steve Chamberlain
294eaca479 Some of these are guesses, if you know different, just yell.
Thu Oct  8 08:52:48 1992  Steve Chamberlain  (sac@thepub.cygnus.com)

	 Now a bfd knows whether underscores are normally prepended
	 to symbols in its file format. Helps with error messages.

	* aout-adobe.c, aout-target.h, bout.c, coff-a29k.c, coff-h8300.c,
	coff-z8k.c: targets set so they have leading underscore
	* coff-i386.c, coff-i960.c, coff-m68k.c, coff-mips.c, coff-m88k.c,
	coff-rs6000.c, coff-we32k.c, elf.c, ieee.c, srec.c: targets set
	without leading underscore flag
	* targets.c: add symbol leading char to xvec description
	* bfd-in.h (bfd_get_symbol_leading_char): new macro.
1992-10-08 16:02:09 +00:00
Steve Chamberlain
9465d03ed5 * coffcode.h (coff_add_missing_symbols): if symbols don't come
from a coff file (csym is null), dont deref them

	* ieee.c (parse_expression): get the answer right when adding an
	abs+(sec+off), (ieee_generic_stat_arch_elt): call ieee_object_p
	on elts so that filename is filled in.
1992-08-24 19:10:06 +00:00
Steve Chamberlain
69e0d34d4d * targets.c, Makefile.in: comment out tekhex for the moment.
* ieee.c: if some places where null pointers were used instead of &bfd_abs_section.
	* configure.in: tandem target is st2000
	* coff-m68k.c: rename static howto_table to global
	m68kcoff_howto_table.
	* bout.c: remove unnecessary abort
1992-05-02 01:41:33 +00:00
Steve Chamberlain
e98e6ec111 Uses the new small reloc type now.
Currently self hosts on sun4 and sun3
1992-01-24 22:44:51 +00:00
Steve Chamberlain
b645b63248 * makefile.dos, configdj.bat: New files from DJ
* cache.c: fopen with "b" is needed for DOS.
	* ieee.c: environ renamed to envi to stop an include file
	conflict.
	* opncls.c: more fopens with "b"
1991-12-12 00:42:50 +00:00
Steve Chamberlain
01dd1b2b47 Sun Oct 27 16:56:58 1991 Steve Chamberlain (steve at cygnus.com)
* configure.in: add motorola delta88 cases
	* libbfd.h, libbfd-in.h, archive.c, ieee.c, elf.c, srec.c: fix
	write_armap prototype
	* libbfd.c: add doc on bfd_write_bigendian_4byte_int
1991-10-28 01:08:51 +00:00
Steve Chamberlain
b2c91bd95e Fri Oct 4 17:38:03 1991 Steve Chamberlain (steve at cygnus.com)
* reloc.c: Extended NEWHOWTO macro
	* ieee.c: Changed the way 8bit pcrel is done
	* cpu-h8300.c: got the registers in the right order
1991-10-05 00:39:21 +00:00
John Gilmore
295cce3ca6 Use set_tdata to set the ieee tdata field, avoiding casting left of
assignment.
1991-07-06 08:37:45 +00:00
Steve Chamberlain
6f715d66ad Now full of documentation. Yum Yum. 1991-07-04 16:52:56 +00:00
John Gilmore
c0e5039e64 Merge in changes from gdb-3.95 release into mainstream of BFD development.
Support defaulted (search all) targets and specific (only check one)
targets.
1991-05-29 00:20:02 +00:00
Steve Chamberlain
7ed4093abc *** empty log message *** 1991-05-21 00:14:16 +00:00
John Gilmore
2b1d8a50a0 Cleanups of interface, including close_and_cleanup and write_contents
transfer vector changes.  See ChangeLog.
1991-05-11 00:38:47 +00:00
John Gilmore
ce3f6d51b0 * ieee.c: Cast enums to int before comparing them, for brain-
dead compilers.
1991-05-09 23:54:19 +00:00
Steve Chamberlain
7564d3d74a Thu May 9 11:00:45 1991 Steve Chamberlain (steve at cygint.cygnus.com)
* ieee.c (do_one, ieee_slurp_section_data): now supports the load
	multiple reloc command.
1991-05-09 18:05:05 +00:00
Steve Chamberlain
d0ec7a8ee4 Various portability lints.
Fixed reloc bug in ieee and oasys.
1991-05-08 19:21:48 +00:00
John Gilmore
9b4641a629 Make it compile on DEC 3100. 1991-05-02 21:27:31 +00:00
John Gilmore
d6a554ae83 Minor changes to accomodate merging of three include file directories. 1991-04-25 04:22:55 +00:00
Steve Chamberlain
4cddd1c904 Changed the shape of the howto type yet again.
Now m88kbcs support can self host.
1991-04-24 20:51:27 +00:00
Steve Chamberlain
39a2ce33d7 *** empty log message *** 1991-04-23 22:44:20 +00:00
Steve Chamberlain
9872a49c27 *** empty log message *** 1991-04-23 16:02:09 +00:00
K. Richard Pixley
a6dab0710c Killed a few warnings. 1991-04-18 01:50:06 +00:00
Steve Chamberlain
301dfc71d4 Stuff 1991-04-17 23:19:27 +00:00
Steve Chamberlain
f61d204a35 *** empty log message *** 1991-04-04 15:34:09 +00:00
David Henkel-Wallace
87f86b4ec6 Initial revision 1991-04-04 02:12:28 +00:00