aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
AgeCommit message (Collapse)AuthorFilesLines
2000-04-26 Add XCOFF64 support.Clinton Popetz1-8/+38
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.
2000-04-18Bfd support for generating IA-64 EFI binaries.Jim Wilson1-0/+17
* Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo. (BFD64_BACKENDS_CFILES): Mention coff-ia64.c (coff-ia64.lo): Add dependency. * Makefile.in: Regenerate. * coff-ia64.c: New file. * efi-app-ia32.c: Ditto. * efi-app-ia64.c: Ditto. ...
2000-04-18Clean up load page support for tic54x.Timothy Wall1-0/+7
2000-04-11Mods to allow compilation of BFD all targets.Timothy Wall1-0/+1
2000-04-07BFD and include/coff support for tic54x target.Timothy Wall1-7/+84
2000-04-07SEC_BLOCK, SEC_CLINK, and C_STATLAB added (TI COFF support).Timothy Wall1-1/+25
2000-03-01Fix building with --enable-targets=allNick Clifton1-1/+1
2000-02-28Add WinCE support.Nick Clifton1-1/+38
2000-02-19* coffcode.h (coff_set_arch_mach_hook): Use free(), because thereGeoffrey Keating1-5/+5
is no bfd_free(). Revert bfd_free part of previous change.
2000-02-19* coffcode.h (coff_set_arch_mach_hook): Don't use variable-sizeGeoffrey Keating1-6/+12
arrays. (coff_compute_section_file_positions): Use bfd_free to pair bfd_malloc. (coff_write_object_contents): Likewise. * coff-rs6000.c (xcoff_howto_table_16): New variable. (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs.
2000-02-10Add hooks to support TI COFF handling.Timothy Wall1-0/+4
2000-01-24Remove use of a GCC extension when allocating local arrays.Nick Clifton1-5/+26
2000-01-13Applied Tim Wall's patch to replace RELSZ and friends with bfd_coff_relsz andNick Clifton1-38/+42
friends.
1999-09-131999-09-13 Donn Terry <donn@interix.com>Ian Lance Taylor1-92/+176
* coffcode.h (styp_to_sec_flags): Further refinement of COMDAT handling to support both GNU and MS objects.
1999-09-131999-09-13 Donn Terry <donn@interix.com>Ian Lance Taylor1-0/+3
* coffcode.h (coff_write_object_contents): Don't check reloc_count when determining whether to set F_RELFLG.
1999-09-111999-09-11 Donn Terry <donn@interix.com>Ian Lance Taylor1-5/+3
* config.bfd (i[3456]86-*-interix*): Set targ_cflags to -DSTRICT_PE_FORMAT. * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather than __INTERIX. (coff_classify_symbol): Re-revert 1999-08-08 patch if STRICT_PE_FORMAT.
1999-09-111999-09-11 Donn Terry <donn@interix.com>Ian Lance Taylor1-0/+2
* coffcode.h (coff_mkobject_hook): Set timestamp field in coff_data_type to f_timdat. * peicode.h (pe_mkobject_hook): Likewise.
1999-09-111999-09-11 Donn Terry <donn@interix.com>Ian Lance Taylor1-4/+18
* coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG to the reverse of IMAGE_FILE_DEBUG_STRIPPED. (coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if there is no SEC_DEBUGGING section. * peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
1999-09-11 * coff-ppc.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.Ian Lance Taylor1-31/+0
1999-09-11 Donn Terry <donn@interix.com> * coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE special handling.
1999-09-111999-09-11 Donn Terry <donn@interix.com>Ian Lance Taylor1-2/+10
* coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such symbols named .bf.
1999-09-07 * coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field.Ian Lance Taylor1-4/+4
(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-07reformat for 80 column screenIan Lance Taylor1-88/+92
1999-09-071999-09-06 Donn Terry <donn@interix.com>Ian Lance Taylor1-34/+122
* coffcode.h (sort_by_secaddr): New static function if COFF_IMAGE_WITH_PE. (coff_compute_section_file_positions): If COFF_IMAGE_WITH_PE, sort sections by VMA when assigning target_index values. Always set virt_size.
1999-09-07remove unneeded ifdefsIan Lance Taylor1-2/+0
1999-09-071999-09-06 Donn Terry <donn@interix.com>Ian Lance Taylor1-23/+21
* 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-2/+3
* coffcode.h (coff_set_custom_section_alignment): Add const to declaration to match definition. (coff_write_object_contents): Don't set F_AR32W(R)? if COFF_WITH_PE.
1999-09-071999-09-06 Donn Terry <donn@interix.com>Ian Lance Taylor1-50/+256
* 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-7/+23
* 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-22/+70
* 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-081999-08-08 Mumit Khan <khan@xraylith.wisc.edu>Ian Lance Taylor1-0/+10
* section.c (SEC_SHARED): Define. * coffcode.h (sec_to_styp_flags): Handle SEC_SHARED. (styp_to_sec_flags): Likewise. * peicode.h (coff_swap_scnhdr_out): Likewise. * bfd-in2.h: Rebuild. 1999-08-08 Ian Lance Taylor <ian@zembu.com> * coffcode.h (coff_classify_symbol): Comment out part of 1999-08-05 change which breaks cygwin DLLs.
1999-08-05 Based on patches from Donn Terry <donn@interix.com>:Ian Lance Taylor1-55/+138
* 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-221999-07-21 Mark Elbrecht <snowball3@bigfoot.com>Ian Lance Taylor1-0/+11
* coffcode.h (styp_to_sec_flags): If COFF_LONG_SECTION_NAMES and COFF_SUPPORT_GNU_LINKONCE, mark sections whose names begin with .gnu.linkonce with SEC_LINKONCE and SEC_LINK_DUPLICATES_DISCARD. * coff-go32.c: (COFF_LONG_SECTION_NAMES): Define. (COFF_SUPPORT_GNU_LINKONCE): Define. * coff-stgo32.c: (COFF_LONG_SECTION_NAMES): Define. (COFF_SUPPORT_GNU_LINKONCE): Define.
1999-07-19Add new field to bfd_target structure.Nick Clifton1-0/+94
Initialise this field for all known bfd targets. Add new search function to targets.c
1999-07-12 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSEDIan Lance Taylor1-40/+40
as appropriate. Use EMPTY_HOWTO as appropriate. Fill in structure initializations. Add casts. * reloc.c (EMPTY_HOWTO): Define. * bfd-in2.h: Rebuild. * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless comparisons against 0. * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change previous_ibfd_e_flags to unsigned long. * vms.h (struct vms_private_data_struct): Change section_count to unsigned. * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned. (_bfd_vms_write_gsd): Change symnum to unsigned. * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned. * vms-tir.c (etir_sta): Change psect to unsigned. (alloc_section): Change idx to unsigned. (tir_sta, tir_ctl): Change psect to unsigned. (_bfd_vms_write_tir): Change len and before to bfd_size_type. * vms.c (priv_section_count): Change to unsigned.
1999-07-05Add support for arm v5 architectures.Nick Clifton1-0/+3
1999-06-02Mark Salter <msalter@cygnus.com>Richard Henderson1-0/+3
* coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if COFF_WITH_PE defined.
1999-05-19Use renamed ARM cpu flag bitsNick Clifton1-6/+8
1999-05-11 * ecoff.c (_bfd_ecoff_write_armap): give the symtab element aDJ Delorie1-0/+28
reasonable mode until "ar x" is smart enough to skip it (fixes gcc/libgcc.a builds on mips-ecoff targets * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed to work. Hack to support MS import libraries, which use different COMDAT types than GNU. (coff_slurp_symbol_table): C_SECTION symbols are local; they refer to implied zero-length sections (see peicode below) * coffgen.c (coff_get_normalized_symtab): Properly read long MS filename symbols, which use one *or more* auxents. * coffswap.h (coff_swap_aux_in): ditto * peicode.h (coff_swap_sym_in): Build the implied zero-length sections
1999-05-0319990502 sourceware importbinu_ss_19990502Richard Henderson1-0/+4318