aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-ia64.c
AgeCommit message (Collapse)AuthorFilesLines
2001-09-20coordinate info->symbolic and info->allow_shlib_undefinedNick Clifton1-3/+5
2001-09-18Touches most files in bfd/, so likely will be blamed for everything..Alan Modra1-56/+66
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-08-23 * elf-bfd.h (enum elf_reloc_type_class): New.Jakub Jelinek1-21/+30
(struct elf_backend_data): Add elf_backend_reloc_type_class. (_bfd_elf_reloc_type_class): New. * elfxx-target.h (elf_backend_reloc_type_class): Define. (elfNN_bed): Add elf_backend_reloc_type_class. * elf.c (_bfd_elf_reloc_type_class): New. * elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc is against read-only section. (elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of looking up section names for DT_TEXTREL. (elf_i386_reloc_type_class): New. (elf_backend_reloc_type_class): Define. * elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the reloc is against read-only section. (elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of looking up section names for DT_TEXTREL. (elf32_sparc_reloc_type_class): New. (elf_backend_reloc_type_class): Define. * elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the reloc is against read-only section. (sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of looking up section names for DT_TEXTREL. (sparc64_elf_reloc_type_class): New. (elf_backend_reloc_type_class): Define. * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field. (elfNN_ia64_hash_table_create): Clear ia64_info. (get_reloc_section): Set DF_TEXTREL if the reloc is against read-only section. (elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag instead of looking up section names for DT_TEXTREL. (elfNN_ia64_reloc_type_class): New. (elf_backend_reloc_type_class): Define. * elflink.h (size_dynamic_sections): Add spare DT_NULL tags. (struct elf_link_sort_rela): New. (elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New. (elf_bfd_final_link): Call elf_link_sort_relocs. Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if necessary. * bfdlink.h (struct bfd_link_info): Add combreloc and spare_dynamic_tags fields. * emultempl/elf32.em (place_orphan): Place orphan .rel* sections into .rel.dyn resp. .rela.dyn if combreloc. (get_script): If .x linker script is equal to .xn, only put it once into the binary. Add .xc and .xsc scripts. (parse_args): Handle -z combreloc and -z nocombreloc. * scripttempl/elf.sc (.rela.sbss): Fix a typo. For .xc and .xsc scripts put all .rel* or .rela* input sections but .rel*.plt and PLT-like sections into .rel.dyn resp. .rela.dyn. * genscripts.sh (GENERATE_COMBRELOC_SCRIPT): Set if SCRIPT_NAME is elf. Strip trailing whitespace from script. Generate .xc and .xsc scripts if requested. * ldmain.c (main): Initialize link_info.combreloc and link_info.spare_dynamic_tags. * lexsup.c (OPTION_SPARE_DYNAMIC_TAGS): Define. (ld_options): Add --spare-dynamic-tags option. (parse_args): Likewise. * ld.texinfo: Document -z combreloc and -z nocombreloc. * ldint.texinfo: Document .xc and .xsc linker scripts. * NEWS: Add notes about -z combreloc and SHF_MERGE.
2001-08-17 * bfd.c (bfd_get_gp_size): Return an unsigned int.Alan Modra1-1/+1
(bfd_set_gp_size): Make param unsigned. * bfd-in2.h: Regenerate. * elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather than calling bfd_get_gp_size. * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise. * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
2001-08-17 * coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED toAlan Modra1-3/+18
silence warning. * coffgen.c (coff_print_symbol): Fix warnings. (coff_find_nearest_line): Likewise. * cofflink.c (_bfd_coff_link_input_bfd): Likewise. * coff-alpha.c (alpha_convert_external_reloc): Likewise. * format.c (bfd_check_format_matches): Likewise. (bfd_set_format): Likewise. * coff-ia64.c: Add missing prototypes. * elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend signed to silence warnings. (elf64_alpha_relocate_section): Likewise. (elf64_alpha_find_reloc_at_ofs): Fix warnings. (elf64_alpha_add_symbol_hook): Likewise. (elf64_alpha_final_link): Likewise. (elf64_alpha_relax_section): Remove redundant assign to info.gotent. (elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args. (elf64_alpha_size_got_sections): Likewise. * elfxx-ia64.c: Add missing prototypes. (elfNN_ia64_relocate_section): Fix warning. (elfNN_ia64_unwind_entry_compare): Make params const.
2001-07-12sje patch for 32-bit IA-64 ELF relocs for HPUXJim Wilson1-0/+10
* 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-25monterey updatesTimothy Wall1-23/+20
2001-05-11 * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwindJakub Jelinek1-3/+17
sections as well. (elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO to .gnu.linkonce.t.FOO text section. * readelf.c (process_unwind): Print all unwind sections, not just one. * config/tc-ia64.c (special_linkonce_name): New. (make_unw_section): Map .gnu.linkonce.t.FOO text section into .gnu.linkonce.ia64unw{,i}.FOO. (ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO. (dot_endp): Add comment about it. * elf/ia64.h (ELF_STRING_ia64_unwind_once): Define. (ELF_STRING_ia64_unwind_info_once): Define. * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put .gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind* output sections. * emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-04-302000-04-27 H.J. Lu <hjl@gnu.org>H.J. Lu1-1/+2
* elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1 only for ELF_LINK_FORCED_LOCAL. * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise. * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL if the symbol has hidden or internal visibility.
2001-02-27Update elf64 aix5 comments.Timothy Wall1-16/+5
2001-02-22ia64-*-aix* support.Timothy Wall1-13/+192
2001-02-13 * elfxx-ia64.c (elfNN_ia64_final_link): Set __gp if requiredRichard Henderson1-0/+7
and not user provided.
2001-02-10 * elfxx-ia64.c (is_unwind_section_name): New function. ReturnsRichard Henderson1-27/+110
true if section name is an unwind table section name. (elfNN_ia64_additional_program_headers): Count each unwind section separately. (elfNN_ia64_modify_segment_map): Install one unwind program header for each unwind separate section. Note: normally the linker script merges the unwind sections that go into a single segment, so this still generates at most one unwind program header per segment. * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Accept any section name for SHT_IA_64_UNWIND, not just .IA_64.unwind. (elfNN_ia64_fake_sections): Mark sections with names that start with .IA_64.unwind but not with .IA_64.unwind_info as an IA-64 unwind section. * elfxx-ia64.c (elfNN_ia64_final_write_processing): New function. Use it to make sh_info in unwind section point to the text section it applies to.
2001-02-072001-02-06 H.J. Lu <hjl@gnu.org>H.J. Lu1-2/+6
* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and internal symbols are not dynamic. * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
2001-01-27 * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Return falseRichard Henderson1-0/+2
for non-default visibility. * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise, but delete ugly macro and replace with pretty function.
2001-01-232001-01-23 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-1/+0
* coff64-rs6000.c: Fix formatting. * coff-arm.c: Likewise. * coffgen.c: Likewise. * cofflink.c: Likewise. * coff-mcore.c: Likewise. * coff-mips.c: Likewise. * coff-pmac.c: Likewise. * coff-ppc.c: Likewise. * coff-rs6000.c: Likewise. * elf32.c: Likewise. * elf32-fr30.c: Likewise. * elf32-i370.c: Likewise. * elf32-i860.c: Likewise. * elf32-m32r.c: Likewise. * elf32-m68k.c: Likewise. * elf32-mcore.c: Likewise. * elf32-ppc.c: Likewise. * elf32-sh.c: Likewise. * elf32-v850.c: Likewise. * elf64-alpha.c: Likewise. * elf64-sparc.c: Likewise. * elflink.c: Likewise. * elflink.h: Likewise. * elf-m10200.c: Likewise. * elf-m10300.c: Likewise. * elfxx-ia64.c: Likewise.
2001-01-032001-01-03 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-23/+21
* ecoffswap.h: Fix formatting. * elf-bfd.h: Likewise. * elfarm-nabi.c: Likewise. * elfarm-oabi.c: Likewise. * elfcode.h: Likewise. * elfcore.h: Likewise. * elflink.c: Likewise. * elflink.h: Likewise. * elfxx-ia64.c: Likewise. * elfxx-target.h: Likewise.
2000-12-12Eliminate ia64 compiler warnings. Fix ia64 gas testsuite again.Jim Wilson1-1/+1
* elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *. * config/tc-ia64.h (ia64_init): Add prototype. * gas/ia64/dv-imply.d, gas/ia64/dv-mutex.d, gas/ia64/dv-safe.d, gas/ia64/dv-srlz.d, gas/ia64/opc-m.d: Update. * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode argument. * ia64_gen.c (insert_deplist): Cast sizeof result to int. (print_dependency_table): Print NULL if semantics field not set. (insert_opcode_dependencies): Mark cmp parameter as unused. (print_main_table): Use fprintf_vma to print long long fields. (main): Mark argv paramter as unused. Convert to old style definition. * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int. * ia64-asmtab.c: Regnerate.
2000-11-22Eliminate compiler warnings from IA-64 port.Jim Wilson1-25/+20
* coff-ia64.c (howto_table): Use EMPTY_HOWTO. (in_reloc_p): Add ATTRIBUTE_UNUSED to unused parameters. * cpu-ia64-opc.c (ins_rsvd, ext_rsvd, ins_const, ext_const): Likewise. (ins_imms_scaled): Initialize sign_bit at function entry. (elf64_ia64_operands): Add missing initializers. * elfxx-ia64.c (elfNN_ia64_reloc, elfNN_ia64_reloc_type_lookup, elfNN_ia64_info_to_howto, elfNN_ia64_fake_sections, elfNN_ia64_add_symbol_hook, elfNN_ia64_is_local_label_name, elfNN_ia64_local_hash_table_init, get_fptr, get_pltoff, elfNN_ia64_adjust_dynamic_symbol): Add ATTRIBUTE_UNUSED for unused parameters. (elfNN_ia64_info_to_howto): Initialize free_relocs, free_contents, and free_extsyms at function entry. (elfNN_add_symbol_hook): Add unsigned cast to bfd_get_gp_size result. (elfNN_ia64_create_dynamic_sections): Delete unused local h. (get_got): Delete unused local srel. (elfNN_ia64_check_relocs): Initialize dynrel_type when declared. (elfNN_ia64_relocate_section): Delete unused local dynindx.
2000-11-18Fix DT_INIT ABI violation, it is an offset not a function pointer.Jim Wilson1-91/+0
* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Don't create pltoff entries for DT_INIT and DT_FINI. (elfNN_ia64_final_link): Don't set DT_INIT/FINI entries. (elfNN_ia64_finish_dynamic_sections): Don't fill in DT_INIT/FINI entries.
2000-11-16 * elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs.Richard Henderson1-46/+76
(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-11-08 * elf64-ia64.c (elf64_ia64_final_link): New local unwind_output_sec.Richard Henderson1-20/+24
Set it before bfd_elf64_bfd_final_link call. Use it after the call. * section.c (bfd_set_section_contents): Call memcpy if section->contents set and location not equal to contents plus offset.
2000-11-07ia64-hpux patches from Steve Ellcey.Jim Wilson1-0/+4189
* archures.c: (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32) Add defines to differentiate elf32 and elf64 on ia64. * bfd-in2.h: Regenerate. * config.bfd: Add target for "ia64*-*-hpux*". * configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch. * configure: Regenerate. * cpu-ia64.c (bfd_ia64_elf32_arch) Add elf32 arch info structure. * targets.c: Add bfd_target bfd_elf32_ia64_big_vec. * Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects from elfxx-ia64.c. Add depenency rules for making elf32-ia64.lo. * Makefile.in: Regnerate. * elf64-ia64.c: Deleted * elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c.