aboutsummaryrefslogtreecommitdiff
path: root/bfd/libbfd.h
AgeCommit message (Collapse)AuthorFilesLines
2001-10-01bfd/Alan Modra1-4/+5
* bfd-in.h: Remove comments regarding generated files. * libbfd-in.h: Likewise. * libcoff-in.h: Likewise. * bfd-in2.h: Regenerate. * libbfd.h: Likewise. * libcoff.h: Likewise. bfd/doc/ * header.sed: New file, adds header to generated files. * Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and bfd.h, using above. Add missing elf.c dependecy for libbfd.h. * Makefile.in: Regenerate.
2001-09-18Touches most files in bfd/, so likely will be blamed for everything..Alan Modra1-14/+13
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-05 * elf64-alpha.c (SKIP_HOWTO): New.Richard Henderson1-7/+2
(elf64_alpha_howto_table): Use it to remove dead ECOFF relocs. Fix sizes of 16-bit mem format relocs. (elf64_alpha_reloc_map): Update to match. (elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate. (elf64_alpha_relax_without_lituse): Likewise. (elf64_alpha_check_relocs): Handle GPREL16. (elf64_alpha_relocate_section): Likewise. * reloc.c (BFD_RELOC_ALPHA_USER_*): Remove. (BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New. * bfd-in2.h, libbfd.h: Rebuild.
2001-08-29 * Makefile.am (elf32-h8300.lo): New target.Joern Rennecke1-0/+5
* config.bfd (h8300*-*-elf): New case. * configure.in (bfd_elf32_h8300_vec): New case. * elf.c (prep_headers): Add case for bfd_arch_h8300. * reloc.c (BFD_RELOC_H8_DIR16A8): New relocation. (BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise. (BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise. * targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration. * elf32-h8300.c: New file. * Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated.
2001-08-27 * config.bfd: Add powerpc64 target. Add powerpc64 vectors toAlan Modra1-0/+25
targ64_selvecs for 32 bit powerpc targets. * Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo. (BFD64_BACKENDS_CFILES): Add elf64-ppc.c. Run "make dep-am". * Makefile.in: Regenerate. * configure.in: Add elf64_powerpc vecs. * configure: Regenerate. * cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit. * elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target. * targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec. * elf64-ppc.c: New file. * reloc.c: Add powerpc64 relocs. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate.
2001-07-12sje patch for 32-bit IA-64 ELF relocs for HPUXJim Wilson1-0/+2
* reloc.c (bfd_reloc_code_type): Add IA64 relocs BFD_RELOC_IA64_LTOFF_FPTR32MSB and BFD_RELOC_IA64_LTOFF_FPTR32LSB * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elfxx-ia64.c (ia64_howto_table): Define how to handle new relocations. (elfNN_ia64_reloc_type_lookup): Handle new relocations. (elfNN_ia64_check_relocs): Likewise. (elfNN_ia64_install_value): Likewise. (elfNN_ia64_relocate_section): Likewise.
2001-05-28Add support for .uahword, .uaword and .uaxword pseudo opsNick Clifton1-0/+2
2001-05-23Add MIPS ELF64 relocsNick Clifton1-0/+11
2001-05-11 * merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffixJakub Jelinek1-0/+12
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-04-24Add OpenRISC supportNick Clifton1-0/+2
2001-04-13bfd/Jakub Jelinek1-0/+15
* libbfd-in.h (_bfd_merge_section): New. (_bfd_write_merged_section): New. (_bfd_merged_section_offset): New. * libbfd.h: Rebuilt. * linker.c (_bfd_generic_link_output_symbols): Handle discard_sec_merge. * aoutx.h (aout_link_write_symbols): Likewise. * pdp11.c (aout_link_write_symbols): Likewise. * elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section. (elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE sections. (elf_link_sec_merge_syms): New. (elf_link_input_bfd): Call _bfd_merged_section_offset and _bfd_write_merged_section. Handle discard_sec_merge. * elf-bfd.h (struct elf_link_hash_table): Add merge_info field. (struct bfd_elf_section_data): Likewise. * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and SEC_STRINGS section flags and entsize from their ELF counterparts. (_bfd_elf_link_hash_table_init): Initialize merge_info. (elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize from their BFD counterparts. * merge.c: New file. * Makefile.am: Add strtab.lo. * Makefile.in: Rebuilt. include/ * bfdlink.h (bfd_link_discard): Add discard_sec_merge. gas/ * config/obj-elf.c (obj_elf_change_section): Add entsize argument, handle SHF_MERGE and SHF_STRINGS. (obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS. (obj_elf_section): Allow additional argument specifying entity size. * write.c (adjust_reloc_syms): Keep relocations against local symbols in SEC_MERGE sections. ld/ * ldmain.c (main): Default to discard_sec_merge. * lexsup.c (OPTION_DISCARD_NONE): Define. (ld_options): Add --discard-none. (parse_args): Handle OPTION_DISCARD_NONE. * ldlang.c (wild_doit): SEC_MERGE should be set in the output section only if SEC_MERGE and SEC_STRINGS flags and entsize of all its input sections match.
2001-03-22 * reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT,Hans-Peter Nilsson1-0/+11
BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE, BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT, BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT, BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL, BFD_RELOC_CRIS_32_PLT_PCREL): New relocs. * bfd-in2.h, libbfd.h: Regenerate.
2001-03-08Update copyright noticesNick Clifton1-1/+2
2001-02-18Add PDP-11 supportNick Clifton1-0/+2
2001-02-10Add s390 supportNick Clifton1-0/+17
2001-02-07Change bfd_target_vector from an array to a pointerNick Clifton1-1/+1
2001-01-252001-01-25 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-22/+17
* bfd-in2.h: Fix formatting. * libbfd.h: Likewise.
2000-12-08Generalize DWARF2 and COFF support.Nick Clifton1-1/+2
2000-11-30Add support for x86_64-*-linux-gnu* targetNick Clifton1-1/+9
2000-11-16 * elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs.Richard Henderson1-3/+0
(allocate_dynrel_entries): Likewise. (elfNN_ia64_relocate_section): Likewise. Set REL addends correctly. (set_pltoff_entry): Likewise. (ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB (elfNN_ia64_reloc_type_lookup): Likewise. (elfNN_ia64_install_value): Likewise. (elfNN_ia64_relocate_section): Likewise. * reloc.c (BFD_RELOC_IA64_SEGBASE): Remove. (BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove.
2000-09-06Regenerate files using fixed aclocal install.Nick Clifton1-5/+5
2000-09-02Add .gnu.linkobce.wi. to the list of debug section names.Nick Clifton1-5/+5
Update generated files
2000-09-02* elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,Alexandre Oliva1-0/+5
R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New. (sh_reloc_map): Add new relocs. (sh_elf_check_relocs, sh_elf_link_hash_newfunc, sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol, sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New functions. (ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define. (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le, elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): New array constants. (elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry): New variables. (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset, elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset, elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset): Define. (elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry, elf_sh_link_hash_table): New structs. (sh_elf_link_hash_traverse, sh_elf_hash_table): New macros. (sh_elf_relocate_section, sh_elf_check_relocs): Handle new relocation types. (elf_backend_create_dynamic_sections, bfd_elf32_bfd_link_hash_table_create, elf_backend_adjust_dynamic_symbol, elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol, elf_backend_finish_dynamic_sections, elf_backend_want_got_plt, elf_backend_plt_readonly, elf_backend_want_plt_sym, elf_backend_got_header_size, elf_backend_plt_header_size): Define. * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT, BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC): New relocs. * bfd-in2.h, libbfd.h: Rebuilt.
2000-08-012000-07-31 Jason Eckhardt <jle@cygnus.com>Jason Eckhardt1-0/+32
* reloc.c (BFD_RELOC_860_*): New bfd relocs for i860. * bfd-in2.h, libbfd.h: Regenerate.
2000-07-20 * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.Hans-Peter Nilsson1-0/+5
(ALL_MACHINES_CFILES): Add cpu-cris.c. (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo. (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c. (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules. * Makefile.in: Rebuild. * aclocal.m4: Rebuild. * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris. * archures.c (enum bfd_architecture): Add bfd_arch_cris. (bfd_cris_arch): Declare. (bfd_archures_list): Add bfd_cris_arch. * bfd-in2.h: Rebuild. * config.bfd: (cris-*-*): New target. * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors. * configure: Rebuild. * elf.c (prep_headers): Add bfd_arch_cris. * libbfd.h: Rebuild. * libaout.h (enum machine_type): Add M_CRIS. * reloc.c: Add CRIS relocations. * targets.c (bfd_target bfd_elf32_cris_vec, cris_aout_vec): Declare. (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec. * cpu-cris.c, aout-cris.c, elf32-cris.c: New files. * po/POTFILES.in, po/bfd.pot: Regenerate.
2000-07-08Add sequence id field to asection.Alan Modra1-8/+8
Tidy comments and replace deprecated CONST with const.
2000-06-19Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add supportNick Clifton1-0/+3
for m68hc11 and m68hc12 processors.
2000-05-23 * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI,Richard Henderson1-0/+4
PCREL22, PCREL64I. Zero size of special relocs. (elf64_ia64_reloc_type_lookup): Likewise. (USE_BRL, oor_brl, oor_ip): New. (elf64_ia64_relax_section): New. (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I. (elf64_ia64_install_value): Likewise, plus PCREL21BI. (elf64_ia64_relocate_section): Likewise. (bfd_elf64_bfd_relax_section): New. * reloc.c (BFD_RELOC_IA64_PCREL21BI): New. (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New. * bfd-in2.h, libbfd.h: Regenerate.
2000-04-29Correctly check gcc version.Alan Modra1-3/+3
2000-04-21IA-64 ELF support.Jim Wilson1-0/+63
2000-04-08Add support for R_ARM_XPC25 and R_ARM_THM_XPC22 relocsNick Clifton1-0/+2
2000-04-07BFD and include/coff support for tic54x target.Timothy Wall1-0/+5
2000-04-05sh-dsp REPEAT support:Joern Rennecke1-0/+2
opcodes: * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4. Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT. (sh_arg_type): Add A_PC. (sh_table): Update entries using immediates. Add repeat. * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4. Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT. gas: * config/tc-sh.c (immediate): Delete. (sh_operand_info): Add immediate member. (parse_reg): Use A_PC for pc. (parse_exp): Add second argument 'op'. All callers changed. (parse_at): Expect pc to be coded as A_PC. Use immediate field in *op. (insert): Add fourth argument 'op'. All callers changed. (build_relax): Add second argument 'op'. All callers changed. (insert_loop_bounds): New function. (build_Mytes): Remove DISP_4. Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT. (assemble_ppi): Use immediate field in *operand. (sh_force_relocation): Handle BFD_RELOC_SH_LOOP_{START,END}. (md_apply_fix): Likewise. (tc_gen_reloc): Likewise. Check for a pcrel BFD_RELOC_SH_LABEL. include/coff: * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define. include/elf: * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. bfd: * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and BFD_RELOC_SH_LOOP_END. * elf32-sh.c (sh_elf_howto_tab): Change special_func to sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore. Add entries for R_SH_LOOP_START and R_SH_LOOP_END. (sh_elf_reloc_loop): New function. (sh_elf_reloc): No need to test for always-to-be-ignored relocs any more. (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}. (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}. * bfd-in2.h, libbfd.h: Regenerate.
2000-03-27ATMEL AVR microcontroller support.Alan Modra1-0/+16
2000-02-23Add IBM 370 support.Alan Modra1-0/+1
1999-12-10Revert previous patch.Nick Clifton1-3/+0
1999-12-10Change AR for ELF so that common symbols are not included in archive map.Nick Clifton1-0/+3
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-11-28Add new relocations for alpha explicit relocation supportMichael Meissner1-0/+7
1999-09-111999-09-11 Donn Terry <donn@interix.com>Ian Lance Taylor1-0/+11
* libbfd-in.h (_bfd_abort): Declare. (abort): Define. * bfd.c (_bfd_abort): New function. * libbfd.h: Rebuild.
1999-09-041999-09-04 Steve Chamberlain <sac@pobox.com>Ian Lance Taylor1-0/+6
* cpu-pj.c: New file. * elf32-pj.c: New file. * config.bfd (pj*): New cpu. (pj-*-*, pjl-*-*): New targets. * configure.in (bfd_elf32_pj_vec): New target vector. (bfd_elf32_pjl_vec): New target vector. * archures.c (bfd_arch_pj): Define. * elf.c (prep_headers): Handle bfd_arch_pj. * reloc.c: Define BFD_RELOC_PJ_* relocations. * targets.c (bfd_elf32_pj_vec, bfd_elf32_pjl_vec): Declare and add to target vector list. * Makefile.am: Rebuild dependencies. (ALL_MACHINES): Add cpu-pj.lo. (ALL_MACHINES_CFILES): Add cpu-pj.c. (BFD32_BACKENDS): Add elf32-pj.lo. (BFD32_BACKENDS_CFILES): Add elf32-pj.c. * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
1999-07-07rebuildIan Lance Taylor1-0/+1
1999-07-02 * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.Mark Mitchell1-1/+1
(_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter. * elf.c (_bfd_elf_find_nearest_line): Pass it. * elf32-arm.h (elf32_arm_find_nearest_line): Likewise. * elf32-mips.c (ABI_64_P): New macro. (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P. (_bfd_mips_elf_find_nearest_line): Adjust call to _bfd_dwarf2_find_nearest_line. * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. * libbfd.h: Regenerated.
1999-06-03 * libbfd.c (_bfd_generic_verify_endian_match): New function.Joern Rennecke1-0/+3
* libbfd-in.h (_bfd_generic_verify_endian_match): Declare. * libbfd.h: Regenerate. * coff-sh.c (sh_merge_private_data): Delete. (coff_bfd_merge_private_bfd_data): Change to _bfd_generic_verify_endian_match. (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
1999-06-02 * reloc.c (BFD_RELOC_MIPS_SUB): New relocation.Mark Mitchell1-0/+4
(BFD_RELOC_MIPS_GOT_PAGE): Likewise. (BFD_RELOC_MIPS_GOT_OFST): Likewise. (BFD_RELOC_MIPS_GOT_DISP): Likewise. * bfd-in2.h: Regenerated. * libbfd.h: Likewise. * elf32-mips.c (mips_info_to_howto_rela): New function. (USE_REL): Adjust for new conventions. (MINUS_ONE): New macro. (elf_mips_howto_table): Add R_MIPS_SUB. (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST, and MIPS_GOT_DISP. (mips_elf_final_write_processing): Set sh_link, not sh_info, for a .MIPS.content section. (_bfd_mips_elf_fake_sections): Treat all sections that begin with .MIPS.content as .MIPS.content sections. Set SHF_MNIPS_NOSTRIP for such section. (elf_info_to_howto): Define to mips_info_to_howto_rela. * elf64-mips.c (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST, and MIPS_GOT_DISP.
1999-05-27fix copyrightsIan Lance Taylor1-1/+2
1999-05-27rebuildIan Lance Taylor1-0/+1
1999-05-0319990502 sourceware importbinu_ss_19990502Richard Henderson1-0/+885