aboutsummaryrefslogtreecommitdiff
path: root/bfd/libelf.h
AgeCommit message (Collapse)AuthorFilesLines
1994-03-30Wed Mar 30 16:25:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)Ian Lance Taylor1-12/+10
Changes to let BFD return an error indication from get_symtab_upper_bound, bfd_canonicalize_symtab, bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc. They now return long instead of unsigned int, and use -1 to indicate an error. Along the way, rename get_symtab_upper_bound to bfd_get_symtab_upper_bound. * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on errors. (bfd_canonicalize_reloc): Likewise. * syms.c (bfd_get_symtab_upper_bound): Renamed from get_symtab_upper_bound. * targets.c (bfd_target): Renamed _get_symtab_upper_bound to _bfd_get_symtab_upper_bound, and changed it and _bfd_canonicalize_symtab and _get_reloc_upper_bound and _bfd_canonicalize_reloc to all return long. * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors. (NAME(aout,canonicalize_reloc)): Likewise. (NAME(aout,get_reloc_upper_bound)): Likewise. (NAME(aout,get_symtab_upper_bound)): Likewise. * bout.c (b_out_canonicalize_reloc): Likewise. (b_out_get_reloc_upper_bound): Likewise. * coffcode.h (coff_canonicalize_reloc): Likewise. * coffgen.c (coff_get_symtab_upper_bound): Likewise. (coff_get_symtab): Likewise. (coff_get_reloc_upper_bound): Likewise. * ecoff.c (ecoff_get_symtab_upper_bound): Likewise. (ecoff_get_symtab): Likewise. (ecoff_canonicalize_reloc): Likewise. * elfcode.h (elf_get_symtab_upper_bound): Likewise. (elf_get_reloc_upper_bound): Likewise. (elf_canonicalize_reloc): Likewise. (elf_get_symtab): Likewise. * hp300hpux.c (MY(get_symtab)): Likewise. (MY(get_symtab_upper_bound)): Likewise. (MY(canonicalize_reloc)): Likewise. * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise. * ieee.c (ieee_slurp_external_symbols): Change return type to boolean. Check for errors from get_symbol. (ieee_slurp_symbol_table): Change return type to boolean. Check for errors from ieee_slurp_external_symbols. (ieee_get_symtab_upper_bound): Return long, and -1 on errors. (ieee_get_symtab): Likewise. (ieee_get_reloc_upper_bound): Likewise. (ieee_canonicalize_reloc): Likewise. * mipsbsd.c (MY(canonicalize_reloc)): Likewise. * nlmcode.h (nlm_get_symtab_upper_bound): Likewise. (nlm_get_symtab): Likewise. (nlm_get_reloc_upper_bound): Likewise. (nlm_canonicalize_reloc): Likewise. * oasys.c (oasys_get_symtab_upper_bound): Likewise. (oasys_get_symtab): Likewise. (oasys_get_reloc_upper_bound): Likewise. (oasys_canonicalize_reloc): Likewise. * som.c (som_get_symtab_upper_bound): Likewise. (som_get_symtab): Likewise. (som_get_reloc_upper_bound): Likewise. (som_canonicalize_reloc): Likewise. * srec.c (srec_get_symtab_upper_bound): Likewise. (srec_get_symtab): Likewise. (srec_get_reloc_upper_bound): Define as bfd_0l. (srec_canonicalize_reloc): Likewise. * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors. (tekhex_get_symtab_upper_bound): Likewise. (tekhex_get_reloc_upper_bound): Define as bfd_0l. (tekhex_canonicalize_reloc): Likewise. * libaout.h (NAME(aout,get_symtab_upper_bound)): Change declaration to return long. (NAME(aout,get_symtab)): Likewise. (NAME(aout,canonicalize_reloc)): Likewise. (NAME(aout,get_reloc_upper_bound)): Likewise. * libcoff-in.h (coff_get_symtab_upper_bound): Likewise. (coff_get_symtab): Likewise. (coff_get_reloc_upper_bound): Likewise. * libecoff.h (ecoff_get_symtab_upper_bound): Likewise. (ecoff_get_symtab): Likewise. (ecoff_canonicalize_reloc): Likewise. * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise. (bfd_elf32_get_symtab): Likewise. (bfd_elf32_get_reloc_upper_bound): Likewise. (bfd_elf32_canonicalize_reloc): Likewise. (bfd_elf64_get_symtab_upper_bound): Likewise. (bfd_elf64_get_symtab): Likewise. (bfd_elf64_get_reloc_upper_bound): Likewise. (bfd_elf64_canonicalize_reloc): Likewise. * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise. (nlmNAME(get_symtab)): Likewise. (nlmNAME(get_reloc_upper_bound)): Likewise. (nlmNAME(canonicalize_reloc)): Likewise. * archive.c (compute_and_write_armap): Use error_return and no_memory_return labels rather than freeing information in various places. Change storage, symcount and src_count to long. Check errors from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab. * bout.c (b_out_relax_section): Change reloc_size to long. Check for errors from bfd_get_reloc_upper_bound and bfd_canonicalize_reloc. (b_out_get_relocated_section_contents): Likewise. * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise. * elf32-mips.c: Likewise. * elf32-hppa.c (hppa_elf_stub_finish): Likewise. (hppa_look_for_stubs_in_section): Check for errors from bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and bfd_canonicalize_reloc. * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab. * linker.c (generic_link_read_symbols): Likewise. (_bfd_generic_final_link): Check for errors from bfd_get_reloc_upper_bound and bfd_canonicalize_reloc. * reloc.c (bfd_generic_get_relocated_section_contents): Likewise. * reloc16.c (bfd_coff_reloc16_relax_section): Likewise. (bfd_coff_reloc16_get_relocated_section_contents): Likewise. * libbfd.c (bfd_0l): New function. * libbfd-in.h (bfd_0l): Declare. * aix386-core.c: Change get_symtab_upper_bound, get_symtab, get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather than bfd_0u. * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise. * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt. * libcoff.h: Rebuilt. * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables temp and name.
1994-02-17 * bfd.c (bfd_get_error, bfd_set_error): New functions.David MacKenzie1-1/+1
(bfd_error): Make static. (bfd_error_type): Renamed from bfd_ec. Prepend "bfd_error_" to all values. * bfd-in2.h: Regenerated. * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h, aoutf1.h, aoutx.h, archive.c, archures.c, bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c, ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c, elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c, i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c, lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c, ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c, srec.c, sunos.c, syms.c, targets.c, tekhex.c, trad-core.c: Change callers.
1994-01-11 * ecofflink.c: Extensive changes to compress and merge debuggingIan Lance Taylor1-1/+1
information, and to write some of out directly rather than saving it in memory. Several new functions and structures, and new arguments to existing functions. * ecoff.c (ecoff_compute_reloc_file_positions): Compute sym_filepos as well. (ecoff_get_extr): Use ifdmap instead of ifdbase. (ecoff_write_object_contents): Don't compute sym_filepos here. Only output symbols if outsymbols is not NULL. (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and bfd_ecoff_debug functions. Write out debugging information here. (ecoff_final_link_debug_accumulate): Adjust for changes in bfd_ecoff_debug functions. (ecoff_link_write_external): Use ifdmap rather than ifdbase. * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols first, to put them in the first memory buffer. Clear fdr field. (mips_elf_get_extr): Use pointer to unswapped external symbol. (mips_elf_final_link): Adjust for changes in bfd_ecoff functions. Preserve .text, .data and .bss even if they are empty. Save pointer to unswapped external symbol rather than copying it. Don't free up the external symbols. * libelf.h (elf_symbol_type): Change mips_extr to PTR. * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare. (bfd_ecoff_debug_accumulate): Update declaration. (bfd_ecoff_debug_accumulate_other): Rename declaration from bfd_ecoff_debug_link_other and update. (bfd_ecoff_write_accumulated_debug): Declare. * bfd-in2.h: Rebuilt. * Makefile.in: Rebuilt dependencies.
1993-12-30 Extensive changes to move the bulk of the linker into BFD so thatIan Lance Taylor1-1/+2
more efficient backend code can be written for specific object files. Only existing efficient backend is a.out. * seclet.c, seclet.h: Removed. * hash.c, linker.c, genlink.h: New files. * bfd-in.h: Removed bfd_error_vector. Declared hash table structures and functions. (JUMP_TABLE): Removed bfd_seclet_link, added bfd_link_hash_table_create, bfd_link_add_symbols and bfd_final_link. * All backends: Changed accordingly. * bfd-in2.h: Rebuilt. * bfd.c (struct _bfd): Added link_next and archive_pass fields. Removed ld_symbols field. (bfd_nonrepresentable_section, bfd_undefined_symbol, bfd_reloc_value_truncated, bfd_reloc_is_dangerous, bfd_error_vector): Removed. (bfd_default_error_trap, bfd_error_trap, bfd_error_nonrepresentabltrap): Removed. (bfd_get_relocated_section_contents): Pass link_info. Pass link_order instead of seclet. Pass symbols. (bfd_relax_section): Pass link_info. (bfd_seclet_link): Removed. (bfd_link_hash_table_create, bfd_link_add_symbols, bfd_final_link): New macros. * libbfd-in.h: If __GNUC__ is defined and alloca is not, define alloca as __builtin_alloca. Declare internal linking functions. * libbfd.h: Rebuilt. * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked for months. * reloc.c (reloc_howto_type): Added error_message argument to special_function field. Changed all callers and all definitions. (bfd_get_reloc_size): Make argument a const pointer. (bfd_perform_relocation): Add error_message argument to hold string set if return value if bfd_reloc_dangerous. Changed all callers. (_bfd_final_link_relocate, _bfd_relocate_contents): New functions. * section.c (asection): Renamed seclets_head and seclets_tail to link_order_head and link_order_tail. * targets.c (bfd_target): Replaced seclet argument with link_info and link_order and symbols arguments in bfd_get_relocated_section_contents. Added symbols argument to bfd_relax_section. Removed bfd_seclet_link. Added bfd_link_hash_table_create, bfd_link_add_symbols and bfd_final_link. * libaout.h (struct aoutdata): Added external_syms, external_sym_count, external_strings, sym_hashes fields. (obj_aout_external_syms, obj_aout_external_sym_count, obj_aout_external_strings, obj_aout_sym_hashes): New accessor macros. (WRITE_HEADERS): Only output symbols if outsymbols is not NULL. * aoutx.h: Wrote new back end linker routines. (translate_to_native_sym_flags): Return boolean value. Don't use bfd_error_vector. (NAME(aout,write_syms)): Return boolean value. Check return value of translate_to_native_sym_flags and bfd_write. * aout-target.h (final_link_callback): New function. (MY_bfd_final_link): New function. * aout-adobe.c (aout_adobe_write_object_contents): Check return value of aout_32_write_syms. * hp300hpux.c (MY(write_object_contents)): Likewise. * i386lynx.c (WRITE_HEADERS): Likewise. * libaout.h (WRITE_HEADERS): Likewise. * bout.c: Changed functions to use link_info->callbacks rather than bfd_error_vector, and link_orders rather than seclets. * coff-alpha.c: Likewise. * coff-h8300.c: Likewise. * coff-h8500.c: Likewise. * coff-sh.c: Likewise. * coff-z8k.c: Likewise. * elf32-hppa.c: Likewise. * reloc16.c: Likewise. * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look up _gp in the hash table rather than in outsymbols. * coff-a29k.c (a29k_reloc): Pass errors back in new error_message argument rather than printing them. * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and link_order arguments rather than seclet. Changed all uses and definitions. (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed all uses and definitions. * libcoff.h: Rebuilt. * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but not by ECOFF, make it scAbs. (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and rewritten. * elf32-mips.c (mips_elf_final_link): Renamed from mips_elf_seclet_link and rewritten. * elf32-hppa.c (elf32_hppa_stub_description): Added link_info field. (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub, hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section): Added link_info arguments. Changed all callers. * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is not NULL. * oasys.c (oasys_write_sections): Return boolean value rather than using bfd_error_vector. (oasys_write_object_contents): Check return value of oasys_write_sections. * hosts/std-host.h: Don't declare qsort or strtol. * Makefile.in: Rebuild dependencies. (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o. (CFILES): Removed seclet.c. Added hash.c and linker.c. (HFILES): Removed seclet.h. Added genlink.h.
1993-11-24 * ecofflink.c: New file to hold ECOFF debug information linkingIan Lance Taylor1-0/+1
routines. * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet, ecoff_add_string, ecoff_get_debug): Removed. Functionality now in ecofflink.c. (ecoff_get_extr, ecoff_set_index): New functions. (ecoff_slurp_symbolic_info): Don't save raw_size. (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions. (ecoff_compute_section_file_positions): Don't set EXEC_P just because there is a start address. (ecoff_write_object_contents): Handle external symbols here. Use ecofflink.c functions to write out debugging information. * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr, mips_elf_set_index): New functions. (mips_elf_seclet_link): Discard empty sections, the .options section and .gptab sections. Handle linking .mdebug section. * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase. * libelf.h (elf_symbol_type): Added mips_extr to tc_data union. * bfd-in.h: Added prototypes for routines in ecofflink.c (some are called by gas, so they are public). * bfd-in2.h: Rebuilt. * Makefile.in (BFD_LIBS): Added ecofflink.o. (CFILES): Added ecofflink.c. (ecofflink.o): New target. Rebuilt dependencies.
1993-11-18 * libelf.h (struct elf_backend_data): Added fieldsIan Lance Taylor1-0/+11
elf_backend_sym_is_global and elf_backend_final_write_processing. * elf32-target.h (elf32_bed): Added corresponding initializers. * elf64-target.h (elf64_bed): Likewise.
1993-11-09 * elfcode.h (elf_object_p): Rather than looking through an arrayIan Lance Taylor1-8/+11
of architectures, get the ELF EM_xxx code from the backend information. Let the generic ELF target match any EM_xxx code not matched by another ELF target. Call elf_backend_object_p to let the backend do more checks and set global information. * libelf.h (struct elf_backend_data): Added elf_machine_code and elf_backend_object_p fields. (struct bfd_elf_arch_map): Removed. (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare. * elf32-target.h, elf64-target.h: Initialize elf_machine_code field with ELF_MACHINE_CODE. Initialize elf_backend_object_p field with elf_backend_object_p (if it is defined). * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c, elf64-gen.c (ELF_MACHINE_CODE): Defined. * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping routines. (mips_elf_object_p): Set the right machine number. (mips_elf_ecoff_debug_swap): Defined. (elf_backend_object_p): Defined to be mips_elf_object_p. (elf_backend_ecoff_debug_swap): Defined to be mips_elf_ecoff_debug_swap. * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed. * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow for R_MIPS_26. Correct overflow detection requires matching the upper four bits of the destination against the PC. From Ted Lemon <mellon@pepper.ncd.com>. * elf32-hppa.c (elf_hppa_reloc_type_lookup): Return type should point to const data.
1993-11-09 * libelf.h: Added some comments.Ian Lance Taylor1-7/+68
(struct elf_backend_data): Added elf_backend_ecoff_debug_swap field. Removed unused write_relocs field. * elf32-target.h: Adjusted elf_backend_data initialization accordingly. * elf64-target.h: Corrected elf_backend_data initialization to fill in all fields and to set elf_64_p to 1.
1993-10-12 * elf32-mips.c: Extensive additions to do relocations and toIan Lance Taylor1-1/+5
handle MIPS specific sections. * libelf.h (elf_backend_data): Pass fourth argument to elf_backend_section_from_bfd_section to permit it to control the section index to use. (elf_obj_tdata): Add gp and gp_size fields. (elf_gp, elf_gp_size): New accessor macros. * elfcode.h: Removed a number of unused local variables. (elf_fake_sections): Clear section header before calling elf_backend_fake_sections, not after. (prep_headers): Return true at end. (elf_section_from_bfd_section): Pass retval argument to elf_backend_section_from_bfd_section. * elf32-hppa.c (elf32_hppa_backend_section_from_bfd_section): Accept and ignore new retval argument. * bfd.c: Include libelf.h. (bfd_set_gp_size): Handle ELF targets. * Makefile.in (bfd.o): Depends upon libelf.h. (elf32-mips.o): Depends upon $(INCDIR)/elf/mips.h.
1993-09-14 * elf32-i386.c (elf_howto_table): Add bfd_elf_generic_relocIan Lance Taylor1-4/+0
special function for all reloc entries. * elf32-target.h (TARGET_LITTLE_SYM): Add SEC_CODE to section_flags. * libelf.h (elf_symbol_type): Remove desc, type and other fields. * Makefile.in (elf32-*.o): These depend upon elf32-target.h.
1993-09-03Deleted some fields of elf*_symbol_type and elf_obj_tdata that were gettingKen Raeburn1-31/+4
set but not used. Merged elf*_symbol_type into a single elf_symbol_type.
1993-08-27removed some "#if 0" codeKen Raeburn1-4/+0
1993-08-25Merged in changes from Jeff Law and Pete Hoogenboom at Utah for PA ELFKen Raeburn1-1/+8
support. Compiles, not particularly well tested. See ChangeLog for details.
1993-08-20* elfcode.h (elf_build_phdrs): Unused function deleted.Ken Raeburn1-3/+13
(bfd_shdr_from_section): Ditto. (write_relocs): Don't change section contents for addend. (elf_locate_sh): Return type is now always elf_internal_shdr, since the other types were really aliases for this type anyways. Don't compile this function, since it is static and doesn't appear to be used in this file. (sym_is_global): Return non-zero for weak symbols. Abort if sec ptr is null. (swap_out_syms): Reorder tests so function symbols can be weak. (elf_slurp_symbol_table): Don't use BSF_EXPORT. (elf_slurp_reloca_table): Make RELOC_PROCESSING section smaller by extracting out some common code. Abort if BFD section symbol has null name. (elf_slurp_reloc_table): Translate ELF section symbols into BFD section symbols. Don't read section contents to fill in addend field. * Merged from OSF: Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) * libelf.h (struct Elf_Sym_Extra): New structure to contain ELF specific information for a symbol. Put in elf_sym_num, which gives the external symbol number in the elf object file, since local symbols must come before global symbols. (elf_sym_extra): New macro. (elf_symtab_map): Delete, in favor of using Elf_Sym_Extra. * elfcode.h (elf_map_symbols): Use Elf_Sym_Extra to map internal symbol number to external number. Store the address of the Elf_Sym_Extra field for the symbol in the udata field. (elf_write_object_contents): Use Elf_Sym_Extra to map out symbols. Sun Jun 20 16:30:11 1993 Michael Meissner (meissner@osf.org) * elfcode.h (elf_obj_tdata): Add field to count the size of the array of pointers to section symbols. (elf_map_symbols): Bump the max index of the section symbols so that we don't overwrite memory. Store the max index into the elf_obj_tdata field. Sat Jun 19 10:12:27 1993 Michael Meissner (meissner@osf.org) * elfcode.h (elf_obj_tdata): Add pointer to an array of pointers to the section symbols we created. Remove unused field internal_syms. (elf_map_symbols): Fill in array of pointers to section symbols. Only create section symbols for sections that have SEC_ALLOC set, and have non-zero size. (elf_symbol_from_bfd_symbol): If udata is NULL, and this is a section symbol, look up the section in the list of section symbols, and set the udata pointer appropriately. Otherwise, if udata is still NULL, fail an assertion, and use 0, instead of dropping core.
1993-08-06* libelf.h (NAME): Provide a default definition, that's neitherKen Raeburn1-1/+5
for 32 bits nor for 64. Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) * libelf.h (elf_hash): Change declaration to bfd_elf_hash, since that is what is in elf.c.
1993-07-26 * libelf.h (struct elf_backend_data): New field, maxpagesize.Ken Raeburn1-0/+2
(struct elf_obj_tdata): New field, phdr.
1993-07-20 * configure.in (*-*-netware, i[34]86-*-netware): New configs.Fred Fish1-16/+0
* Makefile.in (BFD32_BACKENDS): Add nlm.o, nlm32.o, nlm32-gen.o. * Makefile.in (BFD64_BACKENDS): Add nlm64.o, nlm64-gen.o. * Makefile.in (CFILES): Add nlm{32,64}.c, nlm{32,64}-gen.c. * Makefile.in (nlm.o, nlm{32,64}.o, nlm{32,64}-gen.o: New targets. * bfd-in2.h (INLINE): Defines moved here. * {aoutx.h, elf.c, elfcode.h}: Move INLINE defines to bfd-in2.h. * libelf.h (CAT4): Move define to bfd-in2.h. * bfd-in2.h (CAT4): Merge CAT4 macro with other CAT macros. * bfd-in2.h (union tdata): Add nlm_obj_data. * bfd-in2.h (enum target_flavour): Add bfd_target_nlm_flavour. * targets.c (bfd_nlm{32,64}_{big,little}_vec): Add prototypes. * targets.c (target_vector): Add bfd_nlm{32,64}_{big,little}_vec. * (libnlm.h, nlm.c, nlmcode.h, nlm{32,64}-gen.c, nlm{32,64}-target.h, nlm{32,64}.c, config/i386-nlm.mt): New files for NLM support.
1993-07-19* elf.c, elfcode.h, libelf.h: Serious reorganization.Ken Raeburn1-66/+88
Deleted `thunk' structure, merged into tdata, duplicate data eliminated. Rearranged functions, grouping by function. Broke up many functions in elfcode.h, re-ordered many parts of file writing to handle unpredictable state of section relocation table as provided by various applications. Still needs cleanup: Merge functions back together, split out data structure with only data that is used only when writing out object file. * elf.c (bfd_elf_generic_reloc): New function, taken from coff-mips.c. * elf32-sparc.c (elf_sparc_howto_table): Use it, to work around bfd_perform_relocation lossage.
1993-07-12(struct elf_obj_tdata): Add field `thunk'.Ken Raeburn1-0/+1
1993-07-06more prototypes, in libelf.hKen Raeburn1-8/+5
1993-06-30(CAT4): Added Saber-C (ANSI mode) version.Ken Raeburn1-0/+41
(bfd_elf64_*): New decls.
1993-06-24Thu Jun 24 17:25:51 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)Ken Raeburn1-6/+65
* elfcode.h (elf_new_section_hook): Do nothing for now. (elf_write_object_contents): Output common symbols the way ELF wants them. Wed Jun 23 16:20:07 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) * libelf.h (struct elf_obj_tdata and associated macros): Moved here from elfcode.h. A couple of size-specific structure pointers were changed to PTR; uses fixed appropriately. (elf32_symbol_type, elf64_symbol_type): Separated definitions. (bfd_elf_mkobject): Renamed from bfd_elf32_mkobject. (bfd_elf32_mkobject, bfd_elf64_mkobject, elf_mkobject): New temporary macros to ease name change. * elf.c (elf_read, elf_mkobject, elf_get_str_section, elf_string_from_elf_section, bfd_elf_find_section): Moved here from elfcode.h. * doc/Makefile.in (libbfd.h): Process elf.c too. * Makefile.in (elf.o): Note new dependencies. * elfcode.h: Lots of stuff moved elsewhere. Deleted some unused code, tweaked some debug hooks. (elf_slurp_reloca_table): Translate ELF section symbols into BFD section symbols.
1993-06-22Use new size-independent versions of elf internal data structures.Ken Raeburn1-9/+8
1993-06-15Second try at getting elfNAME macros right.Ken Raeburn1-6/+17
Under ANSI C, "32_" is not a valid pp-token...
1993-06-15(elfNAME, ElfNAME): Use CAT directly rather than going through NAME.Ken Raeburn1-3/+5
(bfd_elf32_new_section_hook): Declare.
1993-06-02elfcode.hKen Raeburn1-17/+54
1993-05-25Updated for new macro, type, and structure names.Ken Raeburn1-34/+56
Cleaned up some namespace pollution; renamed elf vectors.
1993-05-21Move printing from bfd to nm and add POSIX and SysV formats.David MacKenzie1-0/+2
1993-05-14expand comment about "global_sym" complaintKen Raeburn1-1/+5
1993-04-29copyright; gas changesKen Raeburn1-0/+39
1993-02-27revised elf supportKen Raeburn1-0/+37