aboutsummaryrefslogtreecommitdiff
path: root/bfd/libelf.h
AgeCommit message (Collapse)AuthorFilesLines
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