aboutsummaryrefslogtreecommitdiff
path: root/bfd/libcoff.h
AgeCommit message (Collapse)AuthorFilesLines
2001-09-18Touches most files in bfd/, so likely will be blamed for everything..Alan Modra1-322/+276
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-06-15Chnage styp_flags_to_sec_flags() to a boolean functionNick Clifton1-4/+5
2001-05-252001-05-25 H.J. Lu <hjl@gnu.org>H.J. Lu1-2/+20
* bfd-in2.h: Regenerated. * libcoff.h: Likewise.
2001-05-24Support for xcoff64Tom Rix1-18/+0
2001-03-08Update copyright noticesNick Clifton1-1/+2
2001-02-13* peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: DefineDJ Delorie1-1/+3
as _bfd_XXi_only_swap_filehdr_out. (pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set pe->force_minimum_alignment to TRUE. (pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to PEI_TARGET_SUBSYSTEM. (pe_print_private_bfd_data): Call _bfd_XX_print_private_bfd_data_common() instead of _bfd_pe_print_private_bfd_data_common(). (pe_bfd_copy_private_bfd_data): Call _bfd_XX_bfd_copy_private_bfd_data_common() instead of _bfd_pe_bfd_copy_private_bfd_data_common(). (coff_bfd_copy_private_section_data): Define as _bfd_XX_bfd_copy_private_section_data instead of _bfd_pe_bfd_copy_private_section_data. (coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead of a _bfd_pe_get_symbol_info. * peigen.c: Delete. * peXXigen.c: Renamed from peigen.c. (COFF_WITH_XX): Define this macro (will get expanded into COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being compiled as peigen.c or pepigen.c. [COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to define the canonical PEP structures and definitions. (_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in effect, enforce minimum file and section alignments. If extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN, so, by default, this is a no-op). * libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep. (_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map _bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to _bfd_pefoo if it's not defined. Use these macros to define coff swap macros. * libcoff.h (pe_tdata): Add members target_subsystem and force_minimum_alignment. * efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to COFF_WITH_pep. (PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM. * configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of peigen.lo. * coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep. (AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and PEPAOUTHDR. * Makefile.in (BFD64_BACKENDS): Mention pepigen.lo. (BFD64_BACKENDS_CFILES): Mention pepigen.c (peigen.c): Add rule to generate from peXXigen.c. (pepigen.c): Ditto. (pepigen.lo): List dependencies for pepigen.lo. * unwind-ia64.c (unw_decode_x1): Declare code arg with ATTRIBUTE_UNUSED. (unw_decode_x2): Ditto. (unw_decode_x3): Ditto. (unw_decode_x4): Ditto. * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ. Rename from PEPAOUTHDR.
2000-12-08Generalize DWARF2 and COFF support.Nick Clifton1-0/+3
2000-11-30Add support for x86_64-*-linux-gnu* targetNick Clifton1-2/+2
2000-11-272000-11-27 Philip Blundell <pb@futuretv.com>Phil Blundell1-0/+3
* libcoff-in.h (coff_tdata): Add `strings_written' flag. (obj_coff_strings_written): New accessor macro for above. * libcoff.h: Regenerate. * cofflink.c (_bfd_coff_final_link): Say that we wrote the strings. * coffcode.h (coff_write_object_contents): No need to write out the string table if it's already been done.
2000-07-08Add sequence id field to asection.Alan Modra1-18/+18
Tidy comments and replace deprecated CONST with const.
2000-06-16 * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.Nicholas Duffek1-0/+3
* libcoff-in.h (struct xcoff_tdata): Define xcoff64 field. * libcoff.h (struct xcoff_tdata): Define xcoff64 field.
2000-04-29 * libcoff.h: Sigh, whitespace differences after 'make headers'.Clinton Popetz1-2/+2
2000-04-26 Add XCOFF64 support.Clinton Popetz1-0/+8
bfd: * Makefile.am (coff64-rs6000.lo): New rule. * Makefile.in: Regenerate. * coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data, xcoff_is_local_label_name, xcoff_rtype2howto, xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p, xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap, xcoff_write_archive_contents): No longer static, and prefix with _bfd_. (NO_COFF_SYMBOLS): Define. (xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in, xcoff64_swap_aux_out): New functions; handle xcoff symbol tables internally. (MINUS_ONE): New macro. (xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS relocation. (coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in, coff_SWAP_aux_out): Map to the new functions. * coff64-rs6000.c: New file. * libcoff.h (bfd_coff_backend_data): Add new fields _bfd_coff_force_symnames_in_strings and _bfd_coff_debug_string_prefix_length. (bfd_coff_force_symnames_in_strings, bfd_coff_debug_string_prefix_length): New macros for above fields. * coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic. Set machine to 620 for XCOFF64. Use bfd_coff_swap_sym_in instead of using coff_swap_sym_in directly. (FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64. (coff_set_flags) Set magic for XCOFF64. (coff_compute_section_file_positions): Add symbol name length to string section length if bfd_coff_debug_string_prefix_length is true. (coff_write_object_contents): Don't do reloc overflow for XCOFF64. (coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of using coff_swap_lineno_in directly. (bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings and _bfd_coff_debug_string_prefix_length fields. * coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force symbol names into strings table when bfd_coff_force_symnames_in_strings is true. * coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR, SET_RELOC_VADDR): New macros. (coff_swap_reloc_in, coff_swap_reloc_out): Use above macros. (coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C code. (coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64 changes within RS6000COFF_C specific code. (coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC, MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO. * reloc.c (bfd_perform_relocation, bfd_install_relocation): Extend existing hack on target name. * xcofflink.c (XCOFF_XVECP): Extend existing hack on target name. * coff-tic54x.c (ticof): Keep up to date with new fields in bfd_coff_backend_data. * config.bfd: Add bfd_powerpc_64_arch to targ_arch and define targ_selvecs to include rs6000coff64_vec for rs6000. * configure.in: Add rs6000coff64_vec case. * cpu-powerpc.c: New bfd_arch_info_type. gas: * as.c (parse_args): Allow md_parse_option to override -a listing option. * config/obj-coff.c (add_lineno): Change type of offset parameter from "int" to "bfd_vma." * config/tc-ppc.c (md_pseudo_table): Add "llong" and "machine." (ppc_mach, ppc_subseg_align, ppc_target_format): New. (ppc_change_csect): Align correctly for XCOFF64. (ppc_machine): New function, which discards "ppc_machine" line. (ppc_tc): Cons for 8 when code is 64 bit. (md_apply_fix3): Don't check operand->insert. Handle 64 bit relocations. (md_parse_option): Handle -a64 and -a32. (ppc_xcoff64): New. * config/tc-ppc.h (TARGET_MACH): Define. (TARGET_FORMAT): Move to function. (SUB_SEGMENT_ALIGN): Use ppc_subseg_align. include: * include/coff/rs6k64.h: New file. opcodes: * configure.in: Add bfd_powerpc_64_arch. * disassemble.c (disassembler): Use print_insn_big_powerpc for 64 bit code.
1999-09-07 * coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field.Ian Lance Taylor1-0/+2
(bfd_coff_filnmlen): Define. (bfd_coff_std_swap_table): Initialize new field. * coffgen.c (coff_fix_symbol_name): Use bfd_coff_filnmlen rather than FILNMLEN. (coff_write_symbols): Likewise. (coff_get_normalized_symtab): Likewise. * coff-sh.c (bfd_coff_small_swap_table): Initialize new field. * libcoff.h: Rebuild.
1999-09-071999-09-06 Donn Terry <donn@interix.com>Ian Lance Taylor1-1/+3
* libcoff-in.h (struct pei_section_tdata): Add pe_flags field. * coffcode.h (coff_set_alignment_hook): Set pe_flags field if COFF_WITH_PE. * libcoff.h: Rebuild.
1999-09-071999-09-06 Donn Terry <donn@interix.com>Ian Lance Taylor1-3/+5
* coffcode.h (sec_to_styp_flags): Write separate COFF_WITH_PE version. Move COFF_WITH_PE specific code to new version. (stype_to_sec_flags): Likewise. Add section parameter. * coffgen.c (make_a_section_from_file): Set target_index before calling styp_to_sec_flags. Pass section to styp_to_sec_flags. * libcoff.h: Rebuild.
1999-08-181999-08-18 Donn Terry <donn@interix.com>Ian Lance Taylor1-1/+4
* coff-i386.c (coff_i386_reloc): Handle R_IMAGEBASE. (RTYPE2HOWTO): Return NULL if reloc type is out of range. (coff_i386_rtype_to_howto): Likewise. * coffcode.h (coff_slurp_symbol_table): Change a -2 to N_DEBUG. Completely ignore symbols which are all zero. (dummy_reloc16_estimate): Add return 0. * cofflink.c (_bfd_coff_link_input_bfd): Rename inner scope variable copy to name_copy to avoid shadowing outer scope variable. * libcoff-in.h (coff_data_type): Change raw_syment_count field from unsigned int to unsigned long. Add timestamp field. * libcoff.h: Rebuild. Also comment changes.
1999-08-091999-08-08 Mark Elbrecht <snowball3@bigfoot.com>Ian Lance Taylor1-1/+36
* libcoff-in.h (struct coff_section_alignment_entry): Define. * coffcode.h (coff_set_custom_section_alignment): New static function. (coff_section_alignment_table): New static array. (coff_new_section_hook): Use coff_set_customer_section_alignment. * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define. * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define. * libcoff.h: Rebuild.
1999-08-05 Based on patches from Donn Terry <donn@interix.com>:Ian Lance Taylor1-3/+19
* coffcode.h (enum coff_symbol_classification): Define. (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to _bfd_coff_classify_symbol. Change return type. (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global. (coff_slurp_symbol_table): Use coff_classify_symbol. (coff_classify_symbol): New static function. (coff_sym_is_global): Never define. (bfd_coff_std_swap_table): Initialize with coff_classify_symbol. * cofflink.c (coff_link_check_ar_symbols): Use bfd_coff_classify_symbol rather than bfd_coff_sym_is_global. (coff_link_add_symbols): Likewise. (_bfd_coff_link_input_bfd): Likewise. * coff-sh.c (bfd_coff_small_swap_table): Initialize with coff_classify_symbol. * libcoff.h: Rebuild.
1999-07-241999-07-23 Donn Terry <donn@interix.com>Ian Lance Taylor1-0/+5
* libcoff-in.h (coff_link_hash_entry): Add coff_link_hash_flags field, and define COFF_LINK_HASH_PE_SECTION_SYMBOL. * cofflink.c (coff_link_add_symbols): If PE, handle section symbols specially. * libcoff.h: Rebuild.
1999-05-0319990502 sourceware importbinu_ss_19990502Richard Henderson1-0/+888