Jakub Jelinek
4c45e5c9ce
bfd/
...
* bfd.c (bfd_get_synthetic_symtab): Define.
* targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
NAME##_get_synthetic_symtab.
(struct bfd_target): Add _bfd_get_synthetic_symtab.
* libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
* elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
relplt_name fields.
(_bfd_elf_get_synthetic_symtab): New prototype.
* elfcode.h (elf_get_synthetic_symtab): Define.
* elf.c (_bfd_elf_get_synthetic_symtab): New function.
* elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
(elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
(elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
* elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
* elf32-s390.c (elf_s390_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
* elf64-s390.c (elf_s390_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
* elf32-sparc (elf32_sparc_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
* elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
* elf32-ppc.c (ppc_elf_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
* aout-target.h (MY_get_synthetic_symtab): Define.
* aout-tic30.c (MY_get_synthetic_symtab): Define.
* coff-rs6000.c (rs6000coff_vec): Add
_bfd_nodynamic_get_synthetic_symtab.
(pmac_xcoff_vec): Likewise.
* coff64-rs6000.c (rs6000coff64_vec): Add
_bfd_nodynamic_get_synthetic_symtab.
(aix5coff64_vec): Likewise.
* sunos.c (MY_get_synthetic_symtab): Define.
* vms.c (vms_get_synthetic_symtab): Define.
binutils/
* objdump.c (synthsyms, synthcount): New variables.
(disassemble_data): Use dynsyms for stripped binaries or libraries.
Add synthetized symbols.
(dump_bfd): For disassemble, initialize dynsyms always and
also synthsyms. Free synthsyms and clear {sym,dynsym,synth}count
before returning.
2004-04-22 14:45:32 +00:00
Nick Clifton
d2f7ecac2c
Have bfd_archive_filename() return NULL on NULL input
2004-04-22 10:43:34 +00:00
Andrew Cagney
40838a725a
2004-04-21 Andrew Cagney <cagney@redhat.com>
...
* opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
(struct opncls, opncls_btell, opncls_bseek, opncls_bread)
(opncls_bwrite, opncls_bclose, opncls_bflush)
(opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
bfd iovec that uses function callbacks.
(bfd_close): Use the iovec's bclose.
* cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
(cache_bclose, cache_bflush, cache_bstat)
(cache_iovec): New functions and global variable, implement a
cache "iovec", where applicable set bfd_error.
(bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
* bfdio.c (struct bfd_iovec): Define.
(real_read): Delete function.
(bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
(bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
assume that bread and bwrite set bfd_error.
* bfd.c (struct bfd): Add "iovec", update comments.
* bfd-in2.h, libbfd.h: Re-generate.
2004-04-21 17:05:12 +00:00
Nick Clifton
3d1bca9dfb
Catch NULL bfd pointers passed to bfd_archive_filename
2004-04-15 08:48:56 +00:00
Kazu Hirata
5c4491d385
* aix5ppc-core.c: Fix comment typos.
...
* aout-arm.c: Likewise.
* aout-ns32k.c: Likewise.
* aoutx.h: Likewise.
* archures.c: Likewise.
* bfd-in.h: Likewise.
* bfd.c: Likewise.
* bfdio.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* coff-i860.c: Likewise.
* coff-m88k.c: Likewise.
* coff-mcore.c: Likewise.
* coff-ppc.c: Likewise.
* coff-rs6000.c: Likewise.
* coff-z8k.c: Likewise.
* coff64-rs6000.c: Likewise.
* coffcode.h: Likewise.
* cofflink.c: Likewise.
* cpu-alpha.c: Likewise.
* cpu-arm.c: Likewise.
* cpu-ns32k.c: Likewise.
* dwarf2.c: Likewise.
* bfd-in2.h: Regenerate.
2003-11-24 18:06:40 +00:00
Andrew Cagney
fc0a224429
Index: sim/frv/ChangeLog
...
2003-10-30 Andrew Cagney <cagney@redhat.com>
* traps.c: Replace "struct symbol_cache_entry" with "struct
bfd_symbol".
Index: sim/d10v/ChangeLog
2003-10-30 Andrew Cagney <cagney@redhat.com>
* simops.c: Replace "struct symbol_cache_entry" with "struct
bfd_symbol".
Index: sim/common/ChangeLog
2003-10-30 Andrew Cagney <cagney@redhat.com>
* sim-trace.c, sim-base.h: Replace "struct symbol_cache_entry"
with "struct bfd_symbol".
Index: ld/ChangeLog
2003-10-30 Andrew Cagney <cagney@redhat.com>
* emultempl/pe.em, pe-dll.c: Replace "struct symbol_cache_entry"
with "struct bfd_symbol".
Index: bfd/ChangeLog
2003-10-30 Andrew Cagney <cagney@redhat.com>
* syms.c: Replace "struct symbol_cache_entry" with "struct
bfd_symbol".
* vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
* mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
* cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
* bfd-in2.h: Re-generate.
2003-10-31 05:32:46 +00:00
Andrew Cagney
198beae2cf
2003-10-19 Andrew Cagney <cagney@redhat.com>
...
* targets.c: Replace "struct sec" with "struct bfd_section"
* syms.c, sparclynx.c, section.c, opncls.c: Ditto.
* libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
* elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
* aout-tic30.c, aout-target.h:
* bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
Index: binutils/ChangeLog
2003-10-19 Andrew Cagney <cagney@redhat.com>
* coffgrok.h (coff_section): Replace 'struct sec" with "struct
bfd_section".
Index: gdb/ChangeLog
2003-10-19 Andrew Cagney <cagney@redhat.com>
* symtab.c: Replace "struct sec" with "struct bfd_section".
* objfiles.c, linespec.c, blockframe.c, block.c: Ditto.
Index: ld/ChangeLog
2003-10-19 Andrew Cagney <cagney@redhat.com>
* pe-dll.c: Replace "struct sec" with "struct bfd_section".
Index: sim/common/ChangeLog
2003-10-19 Andrew Cagney <cagney@redhat.com>
* sim-base.h: Replace "struct sec" with "struct bfd_section".
2003-10-20 14:38:46 +00:00
Ian Lance Taylor
49c97a80e3
* configure.in: Check for strtoull.
...
* bfd.c (bfd_scan_vma): Use strtoull when available.
* configure, config.in: Regenerate.
2003-08-27 17:57:33 +00:00
Alan Modra
c58b95236c
Convert to C90 and a few tweaks.
2003-06-29 10:06:40 +00:00
Alan Modra
1049f94e8e
Correct spelling of "relocatable".
2003-06-25 06:40:27 +00:00
Thiemo Seufer
9bcf4de0de
* bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
...
pointers.
(_bfd_set_gp_value): Likewise.
2003-05-17 00:41:45 +00:00
Alan Modra
2ce40c65db
* bfd-in.h (_bfd): Don't define.
...
* bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
* syms.c: Likewise.
* bfd-in2.h: Regenerate.
2003-02-28 23:43:35 +00:00
Andrew Cagney
c2852e886c
2003-02-27 Andrew Cagney <cagney@redhat.com>
...
* bfd.c (struct bfd): Rename "struct _bfd".
* bfd-in.h: Update copyright.
(struct bfd): Rename "struct _bfd".
(_bfd): Define for backward compatibility.
* bfd-in2.h: Regenerate.
2003-02-27 21:24:36 +00:00
Nick Clifton
ed781d5d99
Change embedded documentation to use consistent indentation and to split up
...
long lines. Change informal style of description for functions lacking real
documentation.
2003-02-14 11:16:09 +00:00
Alexandre Oliva
52b69c9e01
* bfd.c (struct _bfd): Added id field.
...
* opncls.c (_bfd_id_counter): New static variable.
(_bfd_new_bfd): Use it.
* bfd-in2.h: Rebuilt.
2003-01-27 23:40:39 +00:00
Alan Modra
b34976b65a
s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. Simplify
...
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-11-30 08:39:46 +00:00
Klee Dienes
93509525ce
2002-11-16 Klee Dienes <kdienes@apple.com>
...
* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
(BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
(BFD_H_FILES): Add bfdwin.c, bfdio.c.
(LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
Add dependencies for bfdwin.c, bfdio.c.
* bfd.c: Remove bfd_get_mtime, bfd_get_size.
* libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
bfd_tell, bfd_flush, bfd_stat, bfd_seek.
* bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
bfd_get_size (moved from libbfd.c and bfd.c).
* bfdwin.c New file. Contains _bfd_window_internal,
bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
libbfd.c and bfd.c).
* po/SRC-POTFILES.in: Regenerate.
* po/bfd.pot: Regenerate.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
* aclocal.m4: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.
2002-11-16 Klee Dienes <kdienes@apple.com>
* Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi.
(PROTOS): Add bfdio.p, bfdwin.p.
(SRCDOC): Add bfdio.c, bfdwin.c.
(SRCPROT): Add bfdio.c, bfdwin.c.
(SRCIPROT): Add bfdio.c, bfdwin.c.
(LIBBFD_H_DEP): Add bfdio.c, bfdwin.c.
(BFD_H_DEP): Add bfdio.c, bfdwin.c.
Add rules for bfdio.texi, bfdwin.text.
* bfd.texinfo: Include bfdio.texi.
2002-11-18 16:37:54 +00:00
Alan Modra
3ae414543e
* bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
2002-11-18 00:33:01 +00:00
Alan Modra
e84d6fca26
* bfd.c (struct bfd_preserve): New.
...
(bfd_preserve_save): New function.
(bfd_preserve_restore): Ditto.
(bfd_preserve_finish): Ditto.
* bfd-in2.h: Regenerate.
* mach-o.c: Formatting.
(bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
(bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
(bfd_mach_o_core_p): Ditto.
(bfd_mach_o_scan): Pass in mdata.
* mach-o.h (bfd_mach_o_scan): Update prototype.
* pef.c: Formatting.
(bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
(bfd_pef_xlib_object_p): Ditto.
(bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
* pef.h (bfd_pef_scan): Update prototype.
* xsym.c: Formatting, K&R fixes.
(bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
(bfd_sym_scan): New function split out from bfd_sym_object_p.
* xsym.h (bfd_sym_scan): Declare.
* elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
(elf_core_file_p): Likewise.
* targets.c (_bfd_target_vector): Revert 2002-11-08 change.
2002-11-12 15:44:24 +00:00
Nick Clifton
3af9a47b1c
Add support for PEF, Mach-O, xSYM
2002-11-06 13:26:29 +00:00
Dave Anglin
d45913a06f
* aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
...
unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
unsigned int.
(NAME(aout,final_link)): Cast enum used in assignment.
(aout_link_write_symbols): Cast enums in comparisons, int values to
boolean, enums in assignments to int.
(aout_link_input_section_std): Cast rel->r_index to unsigned int.
(aout_link_input_section_ext): Likewise. Cast enums used in comparisons
with unsigned ints.
(aout_link_reloc_link_order): Cast enum to int in assignment.
* archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
calls to char *.
* bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
assignment.
* bfd-in2.h (bfd_set_section_vma): Likewise.
* bfd.c (bfd_record_phdr): Cast enums in assignments.
* binary.c (bfd_alloc): Cast enum to long.
* coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
* dwarf2.c (read_abbrevs): Add casts to enum types.
(read_attribute_value): Likewise.
(arange_add): Cast result of bfd_zalloc call.
(comp_unit_contains_address): Return true and false.
(comp_unit_find_nearest_line): Cast return to boolean.
* format.c (bfd_check_format_matches, bfd_set_format): Likewise.
* gen-aout.c: define macro '_' if not defined.
* libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
(bfd_bwrite): Cast bfd_realloc to bfd_byte *.
(bfd_write_bigendian_4byte_int): Cast return to boolean.
(bfd_seek): Cast bfd_realloc to bfd_byte *.
(bfd_generic_is_local_label_name): Cast return to boolean.
* libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
* linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
struct bfd_hash_entry *.
(_bfd_generic_link_hash_newfunc): likewise.
(_bfd_generic_final_link): Cast enum to unsigned int.
* merge.c (sec_merge_emit): Cast return to boolean.
(merge_strings): Add casts to const unsigned char *.
* reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
(bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
* section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to
struct bfd_hash_entry *.
(bfd_set_section_content): Add cast to PTR in comparison.
* simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
simple_dummy_unattached_reloc,
bfd_simple_get_relocated_section_contents): Add K&R declarations and
function definitions.
* srec.c (S3Forced): Initialize to false.
(srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
* stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
(_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
* syms.c (bfd_is_undefined_symclass): Cast return to boolean.
(_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
comparisons.
2002-10-25 02:45:54 +00:00
Alan Modra
6a0735efa4
* Makefile.am: Run "make dep-am".
...
(BFD_H_FILES): Remove version.h.
* bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
* version.h: ..to here.
* configure.in (bfd_version_date): Remove.
(AC_OUTPUT): Make bfdver.h from version.h.
* bfd.c: #include "bfdver.h".
* vms-hdr.c: Likewise.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* configure: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
2002-10-14 12:06:04 +00:00
Daniel Jacobowitz
1f70368c21
* bfd-in.h (bfd_get_dynamic_symcount): Define.
...
* bfd.c (struct _bfd): Add dynsymcount.
* bfd-in2.h: Regenerated.
* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
abfd->dynsymcount.
* elfcode.h (elf_slurp_reloc_table_from_section): Check
for overflow.
2002-09-18 02:39:43 +00:00
Nick Clifton
47badb7be6
Rename function arguments to avoid shadowing global symbols of the same name.
2002-07-31 09:38:04 +00:00
Alan Modra
e61463e1e6
* bfd-in.h: Remove "taken from the source" comment.
...
* libbfd-in.h: Likewise.
* libcoff-in.h: Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
* elf.c (bfd_elf_discard_group): Return true.
* elf-bfd.h (bfd_elf_discard_group): Declare.
* bfd-in.h (bfd_elf_discard_group): Don't declare here.
* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
* bfd.c (bfd_discard_group): Define.
* targets.c (struct bfd_target): Add _bfd_discard_group.
(BFD_JUMP_TABLE_LINK): Here too.
* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
* aout-adobe.c (aout_32_bfd_discard_group): Define.
* aout-target.h (MY_bfd_discard_group): Define.
* aout-tic30.c (MY_bfd_discard_group): Define.
* binary.c (binary_bfd_discard_group): Define.
* bout.c (b_out_bfd_discard_group): Define.
* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
* coffcode.h (coff_bfd_discard_group): Define.
* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
* i386msdos.c (msdos_bfd_discard_group): Define.
* i386os9k.c (os9k_bfd_discard_group): Define.
* ieee.c (ieee_bfd_discard_group): Define.
* ihex.c (ihex_bfd_discard_group): Define.
* mmo.c (mmo_bfd_discard_group): Define.
* nlm-target.h (nlm_bfd_discard_group): Define.
* oasys.c (oasys_bfd_discard_group): Define.
* ppcboot.c (ppcboot_bfd_discard_group): Define.
* som.c (som_bfd_discard_group): Define.
* srec.c (srec_bfd_discard_group): Define.
* tekhex.c (tekhex_bfd_discard_group): Define.
* versados.c (versados_bfd_discard_group): Define.
* vms.c (vms_bfd_discard_group): Define.
* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
(aix5coff64_vec): Likewise.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
2002-06-05 03:43:11 +00:00
Thiemo Seufer
21611032e1
* objdump.c (dump_headers): Fix output formatting for ELF32
...
architectures in a BFD64 enabled toolchain.
* bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
non-ELF targets.
2002-05-21 16:21:18 +00:00
Alan Modra
2d653fc760
Fix ld --just-symbols
...
* aix5ppc-core.c: Warning fixes.
* aout-adobe.c (aout_32_bfd_link_just_syms): Define.
* aout-target.h (MY_bfd_link_just_syms): Define.
* aout-tic30.c (MY_bfd_link_just_syms): Define.
* bfd.c (bfd_link_just_syms): Define.
* binary.c (binary_bfd_link_just_syms): Define.
* bout.c (b_out_bfd_link_just_syms): Define.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
* coffcode.h (coff_bfd_link_just_syms): Define.
* elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
(elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
(_bfd_elf_link_just_syms): Declare.
* elf.c (_bfd_elf_link_just_syms): New function.
* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
sections haven't already been discarded by the linker.
* elflink.h (elf_link_add_object_symbols): Likewise for stab
sections and SEC_MERGE sections.
(elf_bfd_discard_info): Similarly here.
* elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
* i386msdos.c (msdos_bfd_link_just_syms): Define.
* i386os9k.c (os9k_bfd_link_just_syms): Define.
* ieee.c (ieee_bfd_link_just_syms): Define.
* ihex.c (ihex_bfd_link_just_syms): Define.
* libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
(_bfd_generic_link_just_syms): Declare.
* libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
* linker.c (_bfd_generic_link_just_syms): New function.
* mmo.c (mmo_bfd_link_just_syms): Define.
* nlm-target.h (nlm_bfd_link_just_syms): Define.
* oasys.c (oasys_bfd_link_just_syms): Define.
* ppcboot.c (ppcboot_bfd_link_just_syms): Define.
* som.c (som_bfd_link_just_syms): Define.
* srec.c (srec_bfd_link_just_syms): Define.
* targets.c (struct bfd_target): Add _bfd_link_just_syms.
(BFD_JUMP_TABLE_LINK): And here.
* tekhex.c (tekhex_bfd_link_just_syms): Define.
* versados.c (versados_bfd_link_just_syms): Define.
* vms.c (vms_bfd_link_just_syms): Define.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
2002-05-15 00:18:58 +00:00
Daniel Jacobowitz
e2d34d7de2
2002-04-04 Daniel Jacobowitz <drow@mvista.com>
...
* aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
* aout-target.h (MY_bfd_link_hash_table_free): Conditionally
define.
* aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
* bfd.c (bfd_link_hash_table_free): Define.
* binary.c (binary_bfd_link_hash_table_free): Define.
* bout.c (b_out_bfd_link_hash_table_free): Define.
* coff-rs6000.c (rs6000coff_vec): Include
_bfd_generic_link_hash_table_free.
(pmac_xcoff_vec): Likewise.
* coff64-rs6000.c (rs6000coff64_vec): Likewise.
(aix5coff64_vec): Likewise.
* coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
* elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
(bfd_elf32_bfd_link_hash_table_free): Define.
* elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
(bfd_elf32_bfd_link_hash_table_free): Define.
* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
define.
* i386msdos.c (msdos_bfd_link_hash_table_free): Define.
* i386os9k.c (os9k_bfd_link_hash_table_free): Define.
* ieee.c (ieee_bfd_link_hash_table_free): Define.
* ihex.c (ihex_bfd_link_hash_table_free): Define.
* libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
(_bfd_generic_link_hash_table_free): Add prototype.
* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
* libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
* linker.c (_bfd_generic_link_hash_table_free): New function.
* mmo.c (mmo_bfd_link_hash_table_free): Define.
* nlm-target.h (nlm_bfd_link_hash_table_free): Define.
* oasys.c (oasys_bfd_link_hash_table_free): Define.
* ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
* som.c (som_bfd_link_hash_table_free): Define.
* srec.c (srec_bfd_link_hash_table_free): Define.
* tekhex.c (tekhex_bfd_link_hash_table_free): Define.
* versados.c (versados_bfd_link_hash_table_free): Define.
* vms.c (vms_bfd_link_hash_table_free): New function.
* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
* coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
instead of bfd_alloc.
* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
* coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
* coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
* elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
* elf.c (_bfd_elf_link_hash_table_create): Likewise.
* elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
* elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
* elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
* elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
* elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
* elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
* elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
* elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
* elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
* elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
* elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
* elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
* linker.c (_bfd_generic_link_hash_table_create): Likewise.
* m68klinux.c (linux_link_hash_table_create): Likewise.
* sparclinux.c (linux_link_hash_table_create): Likewise.
* sunos.c (sunos_link_hash_table_create): Likewise.
* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
* targets.c: Add _bfd_link_hash_table_free to xvec.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
2002-04-04 19:53:38 +00:00
Alan Modra
88eaccc28e
* bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
...
Correct value returned in "end" for "0x<non-hex>".
2002-02-15 00:20:17 +00:00
Nick Clifton
b5f79c764c
Tidy up formatting in bfd-in2.h
2002-01-30 18:12:17 +00:00
Nick Clifton
391154e9f7
fix typo
2002-01-24 17:08:42 +00:00
Alan Modra
73e87d7038
hash bfd sections for fast lookup and create.
...
bfd/ChangeLog
* bfd.c (struct _bfd): Add section_htab, section_tail.
* libbfd-in.h (_bfd_delete_bfd): Declare.
(bfd_section_hash_newfunc): Declare.
* opncls.c (_bfd_new_bfd): Free memory on failure. Init
section_htab and section_tail.
(_bfd_delete_bfd): New function.
(bfd_openr): Use it.
(bfd_fdopenr): Likewise.
(bfd_openstreamr): Likewise.
(bfd_openw): Likewise.
(bfd_close): Likewise.
(bfd_close_all_done): Likewise.
(bfd_release): Comment.
* section.c (struct section_hash_entry): New.
(bfd_section_hash_newfunc): New function.
(section_hash_lookup): Define.
(bfd_section_init): New function, split out from
bfd_make_section_anyway.
(bfd_get_section_by_name): Lookup via hash table.
(bfd_get_unique_section_name): Likewise.
(bfd_make_section_old_way): Rewrite to use hash table.
(bfd_make_section_anyway): Likewise.
(bfd_make_section): Likewise. Return NULL for attempts to make
BFD_{ABS,COM,UND,IND}_SECTION_NAME.
(_bfd_strip_section_from_output): Adjust section_tail if needed.
* configure.in: Bump bfd version.
* configure: Regenerate.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
ld/ChangeLog
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust
section_tail when fiddling with section list.
(gld${EMULATION_NAME}_list_options): Ensure sentences aren't
broken into separate strings to make translation easier.
* emultempl/mmo.em (mmo_place_orphan): Adjust section_tail when
fiddling with section list.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
2001-12-17 00:40:53 +00:00
Nick Clifton
3c3bdf30e4
Add MMIX support
2001-10-30 15:20:14 +00:00
Alan Modra
aec2f56188
* bfd.c (bfd_assert): Report bfd version.
...
(_bfd_abort): Likewise.
2001-10-06 07:40:44 +00:00
Alan Modra
af6166c063
* bfd.c (_bfd_default_error_handlerl): Define using VPARAMS,
...
VA_OPEN, VA_FIXEDARG, VA_CLOSE.
(bfd_archive_filename): Cast bfd_malloc arg to the correct size.
2001-09-26 01:53:25 +00:00
Alan Modra
8f615d0704
* bfd.c (bfd_archive_filename): New function.
...
* bfd-in2.h: Regenerate.
* aout-adobe.c: Replace bfd_get_filename with bfd_archive_filename
in error messages where the bfd is an input bfd.
* aout-cris.c: Likewise.
* coff-arm.c: Likewise.
* coff-mcore.c: Likewise.
* coff-ppc.c: Likewise.
* coff-rs6000.c: Likewise.
* coff-sh.c: Likewise.
* coff-tic54x.c: Likewise.
* coff-tic80.c: Likewise.
* coff64-rs6000.c: Likewise.
* coffcode.h: Likewise.
* coffgen.c: Likewise.
* cofflink.c: Likewise.
* ecofflink.c: Likewise.
* elf-hppa.h: Likewise.
* elf.c: Likewise.
* elf32-arm.h: Likewise.
* elf32-cris.c: Likewise.
* elf32-gen.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-mcore.c: Likewise.
* elf32-mips.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-sparc.c: Likewise.
* elf32-v850.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-gen.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sparc.c: Likewise.
* elf64-x86-64.c: Likewise.
* elflink.h: Likewise.
* elfxx-ia64.c: Likewise.
* ieee.c: Likewise.
* ihex.c: Likewise.
* libbfd.c: Likewise.
* pdp11.c: Likewise.
* pe-mips.c: Likewise.
* peicode.h: Likewise.
* srec.c: Likewise.
* xcofflink.c: Likewise.
* elf32-arm.h: Make _bfd_error_handler calls K&R compatible.
* elflink.c (_bfd_elf_create_linker_section): Better grammar for
error message.
* coff-mcore.c (coff_mcore_relocate_section): Internalionalise
error message.
* elf64-sparc.c (sparc64_elf_add_symbol_hook): Constify stt_types.
Consolidate error messages, and split long messages to two lines.
2001-09-20 23:30:37 +00:00
H.J. Lu
3882b01078
Locale changes from Bruno Haible <haible@clisp.cons.org>.
2001-09-19 05:33:36 +00:00
Alan Modra
dc810e3900
Touches most files in bfd/, so likely will be blamed for everything..
...
o bfd_read and bfd_write lose an unnecessary param and become
bfd_bread and bfd_bwrite.
o bfd_*alloc now all take a bfd_size_type arg, and will error if
size_t is too small. eg. 32 bit host, 64 bit bfd, verrry big files
or bugs in linker scripts etc.
o file_ptr becomes a bfd_signed_vma. Besides matching sizes with
various other types involved in handling sections, this should make
it easier for bfd to support a 64 bit off_t on 32 bit hosts that
provide it.
o I've made the H_GET_* and H_PUT_* macros (which invoke bfd_h_{get,put}_*)
generally available. They now cast their args to bfd_vma and
bfd_byte * as appropriate, which removes a swag of casts from the
source.
o Bug fixes to bfd_get8, aix386_core_vec, elf32_h8_relax_section, and
aout-encap.c.
o Zillions of formatting and -Wconversion fixes.
2001-09-18 09:57:26 +00:00
Alexandre Oliva
8c98ec7dcc
* bfd.c (bfd_alt_mach_code): New function.
...
* bfd-in2.h: Rebuilt.
2001-08-24 13:55:55 +00:00
Alan Modra
c0846b2397
* bfd.c (bfd_get_gp_size): Return an unsigned int.
...
(bfd_set_gp_size): Make param unsigned.
* bfd-in2.h: Regenerate.
* elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather
than calling bfd_get_gp_size.
* elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
2001-08-17 15:56:58 +00:00
Alan Modra
3619ad0439
* bfd.c (enum bfd_error): Add bfd_error_wrong_object_format.
...
(bfd_errmsgs): Add corresponding message.
* archive.c (bfd_generic_archive_p): Don't release bfd_ardata when
finding an archive that contains different format object files.
Return bfd_error_wrong_object_format for this case.
* format.c: Formatting fixes. s/CONST/const/.
(bfd_check_format_matches): Accept archives that give
bfd_error_wrong_object_format if no full match is found. Tidy
code handling matching_vector. Don't return a pointer to freed
memory in `matching'. Handle ambiguous matches as for partial
archive matches.
* bfd-in2.h: Regenerate.
2001-08-17 03:19:01 +00:00
Nick Clifton
4e771d61a3
replace direct invocation og elf vma print functions with indirect invocation
2001-08-11 16:48:15 +00:00
H.J. Lu
ef071f2471
2001-08-10 H.J. Lu <hjl@gnu.org>
...
* bfd.c (bfd_sprintf_vma): Fix a typo in the last change.
(bfd_fprintf_vma): Likewise.
2001-08-10 18:43:44 +00:00
H.J. Lu
5c36c02b3b
2001-08-10 H.J. Lu <hjl@gnu.org>
...
* bfd.c (bfd_sprintf_vma): Don't return void.
(bfd_fprintf_vma): Likewise.
2001-08-10 16:32:03 +00:00
H.J. Lu
ae4221d7c2
2001-08-09 H.J. Lu <hjl@gnu.org>
...
* bfd-in.h (bfd_sprintf_vma): New prototype.
(bfd_fprintf_vma): Likewise.
(bfd_elf_sprintf_vma): Likewise.
(bfd_elf_fprintf_vma): Likewise.
(bfd_printf_vma): New. Defined with bfd_fprintf_vma.
* bfd-in2.h: Regenerated.
* bfd.c (bfd_sprintf_vma): New. Defined.
(bfd_fprintf_vma): Likewise.
* elf.c (bfd_elf_sprintf_vma): New. Defined.
(bfd_elf_fprintf_vma): Likewise.
2001-08-09 16:00:21 +00:00
Nick Clifton
55ab10f0ee
Fix formatting
2001-08-09 09:09:03 +00:00
Nick Clifton
f47e50716b
Support DJGPP COFF targets in bfd_get_sign_extend_vma()
2001-07-03 16:27:45 +00:00
Jakub Jelinek
8550eb6e64
* merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix
...
fields, change sec into secinfo.
(struct sec_merge_info): Add chain, remove last fields.
(struct sec_merge_sec_info): Add next, sec, psecinfo fields.
(sec_merge_hash_lookup): If lookup could not use a string only
because it has bad alignment, mark the old string for deletion.
(sec_merge_add): Add secinfo argument. Don't compute entry's
position, instead record the section.
(sec_merge_emit): Update for the sec into secinfo change in
struct sec_merge_hash_entry.
(_bfd_merge_section): Only record the section for merging, defer
putting strings into the hash table.
(cmplengthentry, last4_eq, last_eq, record_section, merge_strings,
_bfd_merge_sections): New functions.
(_bfd_merged_section_offset): Update for the sec_merge_hash_entry
changes.
* libbfd-in.h (_bfd_merge_sections): Add prototype.
(_bfd_nolink_bfd_merge_sections): Define.
* libbfd.h: Likewise.
(bfd_generic_merge_sections): Add prototype.
* targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections.
(struct bfd_target): Likewise.
* bfd.c (bfd_merge_sections): Define.
* bfd-in2.h: Rebuilt.
* elf.c (_bfd_elf_merge_sections): New function.
* elf-bfd.h (_bfd_elf_merge_sections): Add prototype.
* elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define.
* reloc.c (bfd_generic_merge_sections): New function.
* vms.c (vms_bfd_merge_sections): New function.
* aout-adobe.c (aout_32_bfd_merge_sections): Define.
* aout-target.h (MY_bfd_merge_sections): Define.
* aout-tic30.c (MY_bfd_merge_sections): Define.
* binary.c (binary_bfd_merge_sections): Define.
* bout.c (b_out_bfd_merge_sections): Define.
* coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define.
* coffcode.c (coff_bfd_merge_sections): Define.
* coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define.
* i386msdos.c (msdos_bfd_merge_sections): Define.
* i386os9k.c (os9k_bfd_merge_sections): Define.
* ieee.c (ieee_bfd_merge_sections): Define.
* ihex.c (ihex_bfd_merge_sections): Define.
* nlm-target.h (nlm_bfd_merge_sections): Define.
* oasys.c (oasys_bfd_merge_sections): Define.
* ppcboot.c (ppcboot_bfd_merge_sections): Define.
* som.c (som_bfd_merge_sections): Define.
* srec.c (srec_bfd_merge_sections): Define.
* tekhex.c (tekhex_bfd_merge_sections): Define.
* versados.c (versados_bfd_merge_sections): Define.
* xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define.
* ldlang.c (lang_process): Call bfd_merge_sections.
2001-05-11 12:23:48 +00:00
Nick Clifton
7898dedac0
Update copyright notices
2001-03-08 21:04:02 +00:00
Kazu Hirata
3fde5a36df
2001-01-23 Kazu Hirata <kazu@hxi.com>
...
* aoutx.h: Fix formatting.
* bfd.c: Likewise.
* bfd-in2.h: Likewise.
* bfd-in.h: Likewise.
* cpu-i386.c: Likewise.
* cpu-m68hc11.c: Likewise.
* dwarf2.c: Likewise.
* elf64-x86-64.c: Likewise.
* format.c: Likewise.
* freebsd.h: Likewise.
* hash.c: Likewise.
* hp300hpux.c: Likewise.
* hppabsd-core.c: Likewise.
* hpux-core.c: Likewise.
2001-01-23 20:27:54 +00:00
Kazu Hirata
eb6e10cb73
2000-11-20 Kazu Hirata <kazu@hxi.com>
...
* bfd-in.h: Fix formatting.
* bfd-in2.h: Likewise.
* bfd.c: Likewise.
* bout.c: Likewise.
2000-11-21 02:24:32 +00:00
Kazu Hirata
aebad5fe2c
2000-11-08 Kazu Hirata <kazu@hxi.com>
...
* bfd.c: Fix formatting.
* binary.c: Likewise.
* bout.c: Likewise.
2000-11-08 06:38:10 +00:00
Nick Clifton
a022216bd4
Minor formatting fixes.
2000-07-31 18:49:56 +00:00
Nick Clifton
125c4a69c4
Rename bfd_elf_get_arch_size to bfd_get_arch_size
...
Rename bfd_elf_get_sign_extend_vma to bfd_get_sign_extend_vma
2000-07-18 19:20:13 +00:00
Nick Clifton
77fb9c28ac
Revert previous patch.
1999-12-10 18:51:35 +00:00
Nick Clifton
ad247e3c7d
Change AR for ELF so that common symbols are not included in archive map.
...
Change LD for ELF so that archive elements whoes archive map contains a
reference to a common symbol will get linkled in.
Add new field to bfd_target structure and initialise it for all bfd targets.
1999-12-10 01:41:22 +00:00
Ian Lance Taylor
c0bed66d09
1999-09-11 Donn Terry <donn@interix.com>
...
* libbfd-in.h (_bfd_abort): Declare.
(abort): Define.
* bfd.c (_bfd_abort): New function.
* libbfd.h: Rebuild.
1999-09-11 21:51:55 +00:00
Ian Lance Taylor
7442e600c8
* Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
...
as appropriate. Fill in structure initializations. Add variable
initializations. Add casts.
* dwarf1.c (parse_line_table): Change eachLine to unsigned long.
(dwarf1_unit_find_nearest_line): Change i to unsigned long.
1999-07-11 19:49:48 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00