aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2010-06-29remove maxq-coff portAlan Modra1-0/+16
2010-06-28 * compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSEDAlan Modra1-0/+5
to silence gcc warning.
2010-06-27 * elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data.Alan Modra1-0/+5
(group_sections): Likewise.
2010-06-27fix set but unused variable warningsAlan Modra1-0/+105
2010-06-252010-06-25 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+5
* vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with its flags. Create an absolute section if needed.
2010-06-252010-06-25 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+10
* vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of sections. Mark .vmsdebug section as SEC_DEBUGGING. Do not create dummy psect anymore. Adjust. (_bfd_vms_write_eeom): Adjust (use target_index instead of index) (_bfd_vms_write_etir): Ditto. (start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of section name. Adjust.
2010-06-252010-06-25 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+4
* vms-alpha.c (alpha_vms_write_exec): Set linktime field.
2010-06-25include/elf/Alan Modra1-0/+8
* ppc64.h (R_PPC64_LO_DS_OPT): Define. bfd/ * elf64-ppc.c (toc_skip_enum): Define. (ppc64_elf_edit_toc): Use two low bits of skip array as markers. Optimize largetoc sequences. (adjust_toc_syms): Update for skip array change. (ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT. ld/ * emultempl/ppc64elf.em (prelim_size_sections): New function. (ppc_before_allocation): Use it. Size sections before toc edit too.
2010-06-25 * elf64-ppc.c (is_static_defined): New function.Alan Modra1-1/+15
(get_tls_mask, ppc_type_of_stub): Use it here. (ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input. (ppc64_elf_tls_setup): Typo fix. (adjust_toc_syms): Correctly handle symbols defined past the end of the toc. Move syms on removed entries to next entry rather than to start of toc. (ppc64_elf_edit_toc): Likewise. Ensure we only attempt to edit ppc64 input. Allocate one extra word in skip array. Honour info->keep_memory when reading relocs if we can. Adjust toc relocs after adjusting symbols.
2010-06-23 * archive64.c (bfd_elf64_archive_write_armap): Fix buffer overrunNathan Sidwell1-0/+5
when scaning map.
2010-06-172010-06-17 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+8
* Makefile.am (BFD32_BACKENDS_CFILES): Move vms-alpha.c to ... (BFD64_BACKENDS_CFILES): ... here. (BFD32_BACKENDS): Move vms-alpha.lo to ... (BFD64_BACKENDS): ... here. * Makefile.in: Regenerate.
2010-06-16bfd:Joseph Myers1-0/+12
* elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2. * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type, elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes, elf32_tic6x_merge_private_bfd_data): New. (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section, elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor): Define. * elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare. binutils: * readelf.c (display_tic6x_attribute, process_tic6x_specific): New. (process_arch_specific): Call process_tic6x_specific for EM_TI_C6000. gas: * config/tc-tic6x.c: Include elf/tic6x.h. (tic6x_arch_attribute, tic6x_seen_insns): New. (tic6x_arch_table, tic6x_arches): Add attribute values. (tic6x_use_arch): Handle attribute settings. (tic6x_attributes_set_explicitly, s_tic6x_c6xabi_attribute, tic6x_attribute_table, tic6x_attributes, tic6x_convert_symbolic_attribute): New. (md_pseudo_table): Add c6xabi_attribute. (md_assemble): Set tic6x_seen_insns and tic6x_arch_attribute. (tic6x_set_attribute_int, tic6x_set_attributes): New. (tic6x_end): Call tic6x_set_attributes. * config/tc-tic6x.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define. (tic6x_convert_symbolic_attribute): Declare. gas/testsuite: * gas/elf/elf.exp: Set target_machine for tic6x-*-*. * gas/elf/section2.e-tic6x, gas/tic6x/attr-arch-directive-1.d, gas/tic6x/attr-arch-directive-1.s, gas/tic6x/attr-arch-directive-2.d, gas/tic6x/attr-arch-directive-2.s, gas/tic6x/attr-arch-directive-3.d, gas/tic6x/attr-arch-directive-3.s, gas/tic6x/attr-arch-directive-4.d, gas/tic6x/attr-arch-directive-4.s, gas/tic6x/attr-arch-directive-5.d, gas/tic6x/attr-arch-directive-5.s, gas/tic6x/attr-arch-opts-c62x.d, gas/tic6x/attr-arch-opts-c64x+.d, gas/tic6x/attr-arch-opts-c64x.d, gas/tic6x/attr-arch-opts-c674x.d, gas/tic6x/attr-arch-opts-c67x+.d, gas/tic6x/attr-arch-opts-c67x.d, gas/tic6x/attr-arch-opts-none-1.d, gas/tic6x/attr-arch-opts-none-2.d, gas/tic6x/attr-arch-opts-override-1.d, gas/tic6x/attr-arch-opts-override-2.d, gas/tic6x/empty.s: New. include/elf: * tic6x-attrs.h: New. * tic6x.h: Include elf/tic6x-attrs.h for attribute table. (C6XABI_Tag_CPU_arch_none, C6XABI_Tag_CPU_arch_C62X, C6XABI_Tag_CPU_arch_C67X, C6XABI_Tag_CPU_arch_C67XP, C6XABI_Tag_CPU_arch_C64X, C6XABI_Tag_CPU_arch_C64XP, C6XABI_Tag_CPU_arch_C674X): Define. ld: * emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Define. ld/testsuite: * ld-elf/orphan3.d: Allow section names starting '_'. * ld-tic6x/attr-arch-c62x-c62x.d, ld-tic6x/attr-arch-c62x-c64x+.d, ld-tic6x/attr-arch-c62x-c64x.d, ld-tic6x/attr-arch-c62x-c674x.d, ld-tic6x/attr-arch-c62x-c67x+.d, ld-tic6x/attr-arch-c62x-c67x.d, ld-tic6x/attr-arch-c62x.s, ld-tic6x/attr-arch-c64x+-c62x.d, ld-tic6x/attr-arch-c64x+-c64x+.d, ld-tic6x/attr-arch-c64x+-c64x.d, ld-tic6x/attr-arch-c64x+-c674x.d, ld-tic6x/attr-arch-c64x+-c67x+.d, ld-tic6x/attr-arch-c64x+-c67x.d, ld-tic6x/attr-arch-c64x+.s, ld-tic6x/attr-arch-c64x-c62x.d, ld-tic6x/attr-arch-c64x-c64x+.d, ld-tic6x/attr-arch-c64x-c64x.d, ld-tic6x/attr-arch-c64x-c674x.d, ld-tic6x/attr-arch-c64x-c67x+.d, ld-tic6x/attr-arch-c64x-c67x.d, ld-tic6x/attr-arch-c64x.s, ld-tic6x/attr-arch-c674x-c62x.d, ld-tic6x/attr-arch-c674x-c64x+.d, ld-tic6x/attr-arch-c674x-c64x.d, ld-tic6x/attr-arch-c674x-c674x.d, ld-tic6x/attr-arch-c674x-c67x+.d, ld-tic6x/attr-arch-c674x-c67x.d, ld-tic6x/attr-arch-c674x.s, ld-tic6x/attr-arch-c67x+-c62x.d, ld-tic6x/attr-arch-c67x+-c64x+.d, ld-tic6x/attr-arch-c67x+-c64x.d, ld-tic6x/attr-arch-c67x+-c674x.d, ld-tic6x/attr-arch-c67x+-c67x+.d, ld-tic6x/attr-arch-c67x+-c67x.d, ld-tic6x/attr-arch-c67x+.s, ld-tic6x/attr-arch-c67x-c62x.d, ld-tic6x/attr-arch-c67x-c64x+.d, ld-tic6x/attr-arch-c67x-c64x.d, ld-tic6x/attr-arch-c67x-c674x.d, ld-tic6x/attr-arch-c67x-c67x+.d, ld-tic6x/attr-arch-c67x-c67x.d, ld-tic6x/attr-arch-c67x.s: New.
2010-06-15 * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Define.Joseph Myers1-0/+13
(struct elf_backend_data): Update comment on obj_attrs_order. * elf-attrs.c (vendor_obj_attr_size, vendor_set_obj_attr_contents, _bfd_elf_copy_obj_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE instead of hardcoded 4. * elf32-arm.c (elf32_arm_obj_attrs_order): Use LEAST_KNOWN_OBJ_ATTRIBUTE and LEAST_KNOWN_OBJ_ATTRIBUTE + 1 instead of hardcoded 4 and 5. (elf32_arm_merge_eabi_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE instead of hardcoded 4.
2010-06-14 * elf32-h8300.c (elf_symbol_leading_char): Define.Kevin Buettner1-0/+4
2010-06-11bfd/Jan Kratochvil1-0/+4
* vms-alpha.c (_bfd_vms_write_egsd): Make sname const.
2010-06-112010-06-11 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+5
* vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute sections to 0.
2010-06-112010-06-11 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+4
* vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW.
2010-06-112010-06-11 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+13
* vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const. Adjust cast. (_bfd_vms_output_dump): Make DATA argument const, adjust cast. * vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust. * vms-alpha.c (evax_section_flags): Make it const. (vms_secflag_by_name): Remove unused ABFD argument. Make SECTION_FLAGS and NAME arguments const. Clarify comment. (vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const. (_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name. (_bfd_vms_write_egsd): Remove useless cast.
2010-06-102010-06-10 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+7
* config.bfd: Remove #if/#endif so that som can be compiled on any host. * targets.c (_bfd_target_vector): Remove #if/#endif so that som can be used on any host.
2010-06-10bfd/Tristan Gingold1-0/+52
2010-06-10 Tristan Gingold <gingold@adacore.com> * som.c: Can now be compiled on any host. Include bfd headers instead of system one. (som_compute_checksum): Parameter is now a pointer to a som_external_header structure. Adjust. (struct section_to_type): Field section is now const. (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional definition. (R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto. (R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto. (som_swap_clock_in, som_swap_clock_out): New functions. (som_swap_header_in, som_swap_header_out): Likewise. (som_swap_space_dictionary_in): Likewise. (som_swap_space_dictionary_out): Likewise. (som_swap_subspace_dictionary_in): Likewise. (som_swap_subspace_dictionary_record_out): Likewise. (som_swap_aux_id_in, som_swap_aux_id_out): Likewise. (som_swap_string_auxhdr_out): Likewise. (som_swap_compilation_unit_out): Likewise. (som_swap_exec_auxhdr_in): Likewise. (som_swap_exec_auxhdr_out): Likewise. (som_swap_lst_header_in): Likewise. (som_object_setup): Adjust parameter type using bfd types. (setup_sections): Likewise. Ditto for object file types. Use intermediate variables for external representation and use the swap functions to convert. (som_object_p): Ditto. Remove #ifdef/#endif on always defined macros. (som_prep_headers): Likewise. (som_write_symbol_strings): Likewise. (som_begin_writing): Likewise. (som_finish_writing): Likewise. (som_build_and_write_symbol_table): Likewise. (bfd_section_from_som_symbol): Likewise. (som_slurp_symbol_table): Likewise. (som_bfd_print_private_bfd_data): Likewise. (bfd_som_attach_aux_hdr): Likewise. Clear the padding. (bfd_som_attach_compilation_unit): Likewise. (som_bfd_count_ar_symbols): Likewise. (som_bfd_fill_in_ar_symbols): Likewise. (som_slurp_armap): Likewise. (som_bfd_ar_write_symbol_stuff): Likewise. (som_write_armap): Likewise. Use _bfd_ar_spacepad instead of sprintf to write header fields. * som.h: Include bfd headers instead of system one. (FILE_HDR_SIZE, AUX_HDR_SIZE): Removed. (struct somdata): Use bfd structures instead of system ones. (struct som_section_data_struct): Likewise. (struct som_subspace_dictionary_record): Removed (now in include/som/internal.h) gas/ 2010-06-10 Tristan Gingold <gingold@adacore.com> * config/obj-som.h: Includes som/reloc.h
2010-06-102010-06-10 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+5
* targets.c (bfd_target_list): Remove hp/ux compiler work-around as bfd requires an ANSI-C compiler.
2010-06-092010-06-09 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+5
* bfdio.c (bfd_bread): Fix the code to prevent reading past the end of archive members.
2010-06-082010-06-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+5
* som.c (som_bfd_free_cached_info): Do not free relocations as they were allocated with bfd_zalloc.
2010-06-082010-06-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+5
* vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment for the first block.
2010-06-082010-06-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+8
* vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function. * libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare. * libbfd.h: Regenerate. * elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS. (bfd_elfNN_mkarchive): Ditto.
2010-06-022010-06-02 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+4
* vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant.
2010-06-01Sync toplevel files from GCC.Ralf Wildenhues1-0/+4
/: Sync from GCC: 2010-05-05 Sebastian Pop <sebastian.pop@amd.com> * configure.ac: Allow all the versions greater than 0.10 of PPL. * configure: Regenerated. 2010-04-20 Eric Botcazou <ebotcazou@adacore.com> * configure.ac (BUILD_CONFIG): Redirect output to /dev/null. * configure: Regenerate. 2010-04-17 Ralf Corsépius <ralf.corsepius@rtems.org> * configure.ac (*-*-rtems*): Add target-libiberty to $skipdirs. * configure: Regenerate. 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx separately. * configure: Regenerate. 2010-04-13 Steve Ellcey <sje@cup.hp.com> * configure: Regenerate after change to elf.m4. 2010-04-02 Sebastian Pop <sebastian.pop@amd.com> * configure.ac: Add brackets around AC_TRY_COMPILE alternative. * configure: Regenerated. 2010-04-02 Sebastian Pop <sebastian.pop@amd.com> * configure.ac: Print "buggy but acceptable" when CLooG revision is less than 9. * configure: Regenerated. config/: Sync from GCC: 2010-04-13 Steve Ellcey <sje@cup.hp.com> * elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms. 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * stdint.m4 (GCC_HEADER_STDINT): Don't typedef uint8_t etc. if corresponding macros already exist. bfd/: * configure: Regenerate.
2010-06-01bfd/Tristan Gingold1-0/+8
2010-06-01 Tristan Gingold <gingold@adacore.com> * vms-alpha.c (struct vms_private_data_struct): Add transfer_address field. Remove unused dst_info field. (alpha_vms_write_exec): Use transfer_address. (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE. (alpha_vms_bfd_final_link): Set transfer_address. ld/ 2010-06-01 Tristan Gingold <gingold@adacore.com> * scripttempl/alphavms.sc: Add comments. Move $LINK$ to the readonly output-section. Handle LIB$INITIALIZE and sections created by gcc. * emultempl/vms.em (vms_place_orphan): Add comments.
2010-05-312010-05-31 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-1/+24
* vms-lib.c (credat_lo, credat_hi): New fields. (vms_read_block): Adjust comments. (vms_write_block): New function. (_bfd_vms_lib_archive_p): Decode majorid once. Replace some hard-coded values with constants. Set credat_lo and credat_hi. (_bfd_vms_lib_mkarchive): Add argument kind. Set ver, mhd_size and type according to kind. (_bfd_vms_lib_alpha_mkarchive): New function. (struct lib_index): Renamed from struct vms_index (lib_index_cmp): Renamed from vms_index_cmp. Adjusted. (get_idxlen): Type of idx argument adjusted. Add is_elfidx argument and handle it. (vms_write_index): Adjust argument idx. Handle elf indexes. (_bfd_vms_lib_build_map): Adjust type of arguments modules and res. (_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and use it. Handle elf indexes. Set credat. * libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ... (_bfd_vms_lib_alpha_mkarchive): ... this. * libbfd.h: Regenerated. * vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.
2010-05-282010-05-28 Sterling Augustine <sterling@tensilica.com>Sterling Augustine1-0/+6
* elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount of code to change the bits in the instructions to match the changes in the relocations. Declare dest_addr and sym_sec to help.
2010-05-28bfd/Jan Kratochvil1-0/+6
Workaround GCC PR middle-end/4210. * vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2] and val[3].
2010-05-272010-05-27 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+12
* vms-misc.c: Define __NEW_STARLET. Remove trailing spaces. (VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros. (vms_time_to_time_t): Use them instead of local const. (vms_time_t_to_vms_time): New function. (vms_get_time): Likewise. (vms_raw_get_time): Likewise. * vms.h (vms_time_t_to_vms_time): New declaration. (vms_get_time): Likewise. (vms_raw_get_time): Likewise.
2010-05-262010-05-26 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+9
* vms-alpha.c: Update comments. (alpha_vms_write_exec): Set lnkflags. Write the GST. (alpha_vms_link_output_symbol): New function. (alpha_vms_bfd_final_link): Generate the VMS symbol table. Set dst_section private field. (alpha_vms_bfd_final_link): Remove code that set dst_section.
2010-05-262010-05-25 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+30
* bfdio.c: Declare and define _bfd_memory_iovec. (bfd_bread): Move code for BFD_IN_MEMORY... (bfd_bwrite): ... Ditto ... (bfd_tell): ... Ditto ... (bfd_flush): ... Ditto ... (bfd_stat): ... Ditto ... (bfd_seek): ... Ditto ... (bfd_get_size): ... Ditto ... (bfd_mmap): ... Ditto ... (memory_bread): ... to these new functions. (memory_bwrite): Ditto. (memory_btell): Ditto. (memory_bseek): Ditto. (memory_bflush): Ditto. (memory_bstat): Ditto. (memory_bmmap): Ditto. (memory_bclose): New function. * peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY. * xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto. * opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case. (bfd_make_writable): Use _bfd_memory_iovec. * elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec. * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use _bfd_memory_iovec. (alpha_ecoff_openr_next_archived_file): Use proxy_origin instead of origin. * libbfd.h: Regenerate.
2010-05-252010-05-21 Daniel Jacobowitz <dan@codesourcery.com>Nick Clifton1-0/+95
Joseph Myers <joseph@codesourcery.com> Andrew Stubbs <ams@codesourcery.com> bfd/ * config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs. * configure.in: Handle FDPIC vectors. * elf32-sh-relocs.h: Add FDPIC and movi20 relocations. * elf32-sh.c (DEFAULT_STACK_SIZE): Define. (SYMBOL_FUNCDESC_LOCAL): Define. Use it instead of SYMBOL_REFERENCES_LOCAL for function descriptors. (fdpic_object_p): New. (sh_reloc_map): Add FDPIC and movi20 relocations. (sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid range. (struct elf_sh_plt_info): Add got20 and short_plt. Update all definitions. (FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define. (fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New. (FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define. (fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le) (fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts): New. (get_plt_info): Handle FDPIC. (MAX_SHORT_PLT): Define. (get_plt_index, get_plt_offset): Handle short_plt. (union gotref): New. (struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to got_type and adjust all uses. Add GOT_FUNCDESC. (struct sh_elf_obj_tdata): Add local_funcdesc. Rename local_got_tls_type to local_got_type. (sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type. All users changed. (sh_elf_local_funcdesc): Define. (struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p, and srofixup. (sh_elf_link_hash_newfunc): Initialize new fields. (sh_elf_link_hash_table_create): Set fdpic_p. (sh_elf_omit_section_dynsym): New. (create_got_section): Create .got.funcdesc, .rela.got.funcdesc and .rofixup. (allocate_dynrelocs): Allocate local function descriptors and space for R_SH_FUNCDESC-related relocations, and for rofixups. Handle GOT_FUNCDESC. Create fixups. Handle GOT entries which require function descriptors. (sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize. (sh_elf_modify_program_headers): New. (sh_elf_size_dynamic_sections): Allocate function descriptors for local symbols. Allocate .got.funcdesc contents. Allocate rofixups. Handle local GOT entries of type GOT_FUNCDESC. Create fixups for local GOT entries. Ensure that FDPIC libraries always have a PLTGOT entry in the .dynamic section. (sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc) (sh_elf_add_rofixup, sh_elf_osec_to_segment) (sh_elf_osec_readonly_p, install_movi20_field): New functions. (sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC, R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC. Use sh_elf_got_offset and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_. Add rofixup read-only section warnings. Handle undefined weak symbols. Generate fixups for R_SH_DIR32 and GOT entries. Check for cross-segment relocations and clear EF_SH_PIC. Handle 20-bit relocations. Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE. (sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20, R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC. Handle 20-bit relocations. (sh_elf_copy_indirect_symbol): Copy function descriptor reference counts. (sh_elf_check_relocs): Handle new relocations. Make symbols dynamic for FDPIC relocs. Account for rofixups. Error for FDPIC symbol mismatches. Allocate a GOT for R_SH_DIR32. Allocate fixups for R_SH_DIR32. (sh_elf_copy_private_data): Copy PT_GNU_STACK size. (sh_elf_merge_private_data): Copy initial flags. Do not clobber non-mach flags. Set EF_SH_PIC for FDPIC. Reject FDPIC mismatches. (sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries here. Rename sgot to sgotplt and srel to srelplt. Handle short_plt, FDPIC descriptors, and got20. Create R_SH_FUNCDESC_VALUE for FDPIC. Use install_movi20_field. Rename srel to srelgot. Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE. (sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup. Do not fill in reserved GOT entries for FDPIC. Correct DT_PLTGOT. Rename sgot to sgotplt. Assert that the right number of rofixups and dynamic relocations were allocated. (sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New. (elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym. (elf_backend_can_make_relative_eh_frame) (elf_backend_can_make_lsda_relative_eh_frame) (elf_backend_encode_eh_address): Define. (TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM) (TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed): Redefine for FDPIC vector. * reloc.c: Add SH FDPIC and movi20 relocations. * targets.c (_bfd_target_vector): Add FDPIC vectors. * configure, bfd-in2.h, libbfd.h: Regenerated. binutils/ * readelf.c (get_machine_flags): Handle EF_SH_PIC and EF_SH_FDPIC. gas/ * config/tc-sh.c (sh_fdpic): New. (sh_check_fixup): Handle relocations on movi20. (parse_exp): Do not reject PIC operators here. (build_Mytes): Check for unhandled PIC operators here. Use sh_check_fixup for movi20. (enum options): Add OPTION_FDPIC. (md_longopts, md_parse_option, md_show_usage): Add --fdpic. (sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations. (sh_elf_final_processing): Handle --fdpic. (sh_uclinux_target_format): New. (sh_parse_name): Handle FDPIC relocation operators. * config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX. (sh_uclinux_target_format): Declare for TE_UCLINUX. * configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set em=uclinux. * doc/c-sh.texi (SH Options): Document --fdpic. gas/testsuite/ * gas/sh/basic.exp: Run new tests. Handle uClinux like Linux. * gas/sh/fdpic.d: New file. * gas/sh/fdpic.s: New file. * gas/sh/reg-prefix.d: Force big-endian. * gas/sh/sh2a-pic.d: New file. * gas/sh/sh2a-pic.s: New file. * lib/gas-defs.exp (is_elf_format): Include sh*-*-uclinux*. include/elf/ * sh.h (EF_SH_PIC, EF_SH_FDPIC): Define. (R_SH_FIRST_INVALID_RELOC_6, R_SH_LAST_INVALID_RELOC_6): New. Adjust other invalid ranges. (R_SH_GOT20, R_SH_GOTOFF20, R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20) (R_SH_GOTOFFFUNCDESC, R_SH_GOTOFFFUNCDESC20, R_SH_FUNCDESC) (R_SH_FUNCDESC_VALUE): New. ld/ * Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o. (eshelf_fd.c, eshlelf_fd.c): New rules. * Makefile.in: Regenerate. * configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd emulations. * emulparams/shelf_fd.sh: New file. * emulparams/shlelf_fd.sh: New file. * emulparams/shlelf_linux.sh: Update comment. ld/testsuite/ * ld-sh/sh.exp: Handle uClinux like Linux. * lib/ld-lib.exp (is_elf_format): Include sh*-*-uclinux*. * ld-sh/fdpic-funcdesc-shared.d: New file. * ld-sh/fdpic-funcdesc-shared.s: New file. * ld-sh/fdpic-funcdesc-static.d: New file. * ld-sh/fdpic-funcdesc-static.s: New file. * ld-sh/fdpic-gotfuncdesc-shared.d: New file. * ld-sh/fdpic-gotfuncdesc-shared.s: New file. * ld-sh/fdpic-gotfuncdesc-static.d: New file. * ld-sh/fdpic-gotfuncdesc-static.s: New file. * ld-sh/fdpic-gotfuncdesci20-shared.d: New file. * ld-sh/fdpic-gotfuncdesci20-shared.s: New file. * ld-sh/fdpic-gotfuncdesci20-static.d: New file. * ld-sh/fdpic-gotfuncdesci20-static.s: New file. * ld-sh/fdpic-goti20-shared.d: New file. * ld-sh/fdpic-goti20-shared.s: New file. * ld-sh/fdpic-goti20-static.d: New file. * ld-sh/fdpic-goti20-static.s: New file. * ld-sh/fdpic-gotofffuncdesc-shared.d: New file. * ld-sh/fdpic-gotofffuncdesc-shared.s: New file. * ld-sh/fdpic-gotofffuncdesc-static.d: New file. * ld-sh/fdpic-gotofffuncdesc-static.s: New file. * ld-sh/fdpic-gotofffuncdesci20-shared.d: New file. * ld-sh/fdpic-gotofffuncdesci20-shared.s: New file. * ld-sh/fdpic-gotofffuncdesci20-static.d: New file. * ld-sh/fdpic-gotofffuncdesci20-static.s: New file. * ld-sh/fdpic-gotoffi20-shared.d: New file. * ld-sh/fdpic-gotoffi20-shared.s: New file. * ld-sh/fdpic-gotoffi20-static.d: New file. * ld-sh/fdpic-gotoffi20-static.s: New file. * ld-sh/fdpic-plt-be.d: New file. * ld-sh/fdpic-plt-le.d: New file. * ld-sh/fdpic-plt.s: New file. * ld-sh/fdpic-plti20-be.d: New file. * ld-sh/fdpic-plti20-le.d: New file. * ld-sh/fdpic-stack-default.d: New file. * ld-sh/fdpic-stack-size.d: New file. * ld-sh/fdpic-stack.s: New file.
2010-05-25 PR ld/11624Nick Clifton1-0/+16
* archive.c (_bfd_calloc_wrapper): New function. (_bfd_add_bfd_to_archive_cache): Use it. * configure.in: Add alpha*-*-*vms* to list of natives. * configure: Regenerate. * vms-misc.c: Define globalref if necessary. (vms_convert_to_var_unix_filename): Rename to _bfd_vms_convert_to_var_unix_filename and export. * vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename. * vms-alpha.c (vms_close_and_cleanup): Update invocation of vms_convert_to_var_unix_filename.
2010-05-242010-05-24 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-5/+2
* vms-alpha.c (add_symbol_entry): New function extrated from ... (add_symbol): ... adjusted.
2010-05-242010-05-24 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+8
* vms-alpha.c (struct vms_private_data_struct): Add section_max field. (_bfd_vms_slurp_egsd): Put PSC into the sections array. (vms_new_section_hook): Do not put section in the sections array.
2010-05-242010-05-24 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+7
* vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation. (alpha_vms_write_exec): Add a comment. (_bfd_vms_write_egsd): Ditto. (alpha_vms_convert_symbol): Remove a blank line.
2010-05-212010-05-21 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+5
* vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section for the GST.
2010-05-212010-05-21 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+6
* vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and SEC_LOAD if isect has data. (vms_get_symbol_info): Refine the condition for 'T' type.
2010-05-182010-05-18 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+10
* vms-alpha.c (_bfd_vms_write_emh): New function. (_bfd_vms_write_lmn): New function. (_bfd_vms_write_eeom): Moved. (hash_string): Likewise. (_bfd_vms_length_hash_symbol): Likewise. (_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh and _bfd_vms_write_lmn, and call these functions.
2010-05-182010-05-18 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+6
* vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L. Add details in the messages. (evax_bfd_print_image): Change message.
2010-05-18Implement generic SHF_EXCLUDE.H.J. Lu1-0/+10
bfd/ 2010-05-18 H.J. Lu <hongjiu.lu@intel.com> PR gas/11600 * elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE (elf_fake_sections): Likewise. * elf32-i370.c (i370_elf_section_from_shdr): Don't handle SHF_EXCLUDE here. * elf32-ppc.c (ppc_elf_fake_sections): Likewise. binutils/ 2010-05-18 H.J. Lu <hongjiu.lu@intel.com> PR gas/11600 * readelf.c (get_elf_section_flags): Treat SHF_EXCLUDE as a generic flag. binutils/testsuite/ 2010-05-18 H.J. Lu <hongjiu.lu@intel.com> PR gas/11600 * binutils-all/objcopy.exp: Run exclude-1a and exclude-1b for ELF targets. * binutils-all/exclude-1.s: New. * binutils-all/exclude-1a.d: Likewise. * binutils-all/exclude-1b.d: Likewise. gas/ 2010-05-18 H.J. Lu <hongjiu.lu@intel.com> PR gas/11600 * obj-elf.c (obj_elf_change_section): Handle SHF_EXCLUDE. (obj_elf_parse_section_letters): Likewise. (obj_elf_section_word): Likewise. * config/tc-ppc.c (ppc_section_letter): Removed. (ppc_section_word): Likewise. * config/tc-ppc.h (ppc_section_letter): Likewise. (ppc_section_word): Likewise. (md_elf_section_letter): Likewise. (md_elf_section_word): Likewise. * doc/as.texinfo: Document `e' and `#exclude'. gas/testsuite/ 2010-05-18 H.J. Lu <hongjiu.lu@intel.com> PR gas/11600 * gas/elf/elf.exp: Run section8. * gas/elf/section8.d: New. * gas/elf/section8.s: Likewise. include/elf/ 2010-05-18 H.J. Lu <hongjiu.lu@intel.com> PR gas/11600 * common.h (SHF_EXCLUDE): New. * i370.h (SHF_EXCLUDE): Removed. * or32.h (SHF_EXCLUDE): Likewise. * ppc.h (SHF_EXCLUDE): Likewise. * sparc.h (SHF_EXCLUDE): Likewise. ld/testsuite/ 2010-05-18 H.J. Lu <hongjiu.lu@intel.com> PR gas/11600 * ld-elf/exclude3.s: New. * ld-elf/exclude3a.d: Likewise. * ld-elf/exclude3b.d: Likewise. * ld-elf/exclude3c.d: Likewise.
2010-05-17Reformat last entry to avoid too long line.Tristan Gingold1-2/+2
2010-05-17bfd/Tristan Gingold1-0/+8
2010-05-17 Tristan Gingold <gingold@adacore.com> * vms-alpha.c: Include esgps.h and eidc.h. (_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records. (evax_bfd_print_egsd_flags): New function, extracted from ... (evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags. Handles EGSD__C_SPSC and EGSD__C_IDC. include/vms: 2010-05-17 Tristan Gingold <gingold@adacore.com> * eidc.h: New file. * esgps.h: New file.
2010-05-142010-05-14 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+6
* vms-alpha.c (alpha_vms_object_p): Accept header size of 0. (_bfd_vms_get_object_record): Handle align byte only in the foreign case.
2010-05-142010-05-14 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+27
* vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function. * libbfd-in.h (_bfd_vms_lib_ia64_archive_p): Add prototype. * libbfd.h: Regenerate. * configure.in (havevecs): Define HAVE_all_vecs when --enable-targets=all is set. Use AC_SUBST on it. (tdefaults): Do not add havevecs. (bfd_elf64_ia64_vms_vec): Add vms-lib.lo and vms-misc.lo * configure: Regenerate. * Makefile.am (HAVEVECS): New variable. (INCLUDES): Add HAVEVECS. * Makefile.in: Regenerate. * elfxx-ia64.c (INCLUDE_IA64_VMS): New macro, defined if vms target is selected. Add #ifdef/#endif around vms specific code. (bfd_elfNN_archive_p, bfd_elfNN_archive_slurp_armap, bfd_elfNN_archive_slurp_extended_name_table, bfd_elfNN_archive_construct_extended_name_table, bfd_elfNN_archive_truncate_arname, bfd_elfNN_archive_write_armap, bfd_elfNN_archive_read_ar_hdr, bfd_elfNN_archive_write_ar_hdr, bfd_elfNN_archive_openr_next_archived_file, bfd_elfNN_archive_get_elt_at_index, bfd_elfNN_archive_generic_stat_arch_elt, bfd_elfNN_archive_update_armap_timestamp): Define to use vms archives.
2010-05-112010-05-10 Andrew Stubbs <ams@codesourcery.com>Nick Clifton1-0/+5
gas/ * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use. gas/testsuite/ * gas/arm/attr-cpu-directive.d: Add Tag_DIV_use. * gas/arm/attr-default.d: Likewise. * gas/arm/attr-march-armv1.d: Likewise. * gas/arm/attr-march-armv2.d: Likewise. * gas/arm/attr-march-armv2a.d: Likewise. * gas/arm/attr-march-armv2s.d: Likewise. * gas/arm/attr-march-armv3.d: Likewise. * gas/arm/attr-march-armv3m.d: Likewise. * gas/arm/attr-march-armv4.d: Likewise. * gas/arm/attr-march-armv4t.d: Likewise. * gas/arm/attr-march-armv4txm.d: Likewise. * gas/arm/attr-march-armv4xm.d: Likewise. * gas/arm/attr-march-armv5.d: Likewise. * gas/arm/attr-march-armv5t.d: Likewise. * gas/arm/attr-march-armv5te.d: Likewise. * gas/arm/attr-march-armv5tej.d: Likewise. * gas/arm/attr-march-armv5texp.d: Likewise. * gas/arm/attr-march-armv5txm.d: Likewise. * gas/arm/attr-march-armv6-m.d: Likewise. * gas/arm/attr-march-armv6.d: Likewise. * gas/arm/attr-march-armv6j.d: Likewise. * gas/arm/attr-march-armv6k.d: Likewise. * gas/arm/attr-march-armv6kt2.d: Likewise. * gas/arm/attr-march-armv6t2.d: Likewise. * gas/arm/attr-march-armv6z.d: Likewise. * gas/arm/attr-march-armv6zk.d: Likewise. * gas/arm/attr-march-armv6zkt2.d: Likewise. * gas/arm/attr-march-armv6zt2.d: Likewise. * gas/arm/attr-march-armv7-a.d: Likewise. * gas/arm/attr-march-armv7.d: Likewise. * gas/arm/attr-march-armv7a.d: Likewise. * gas/arm/attr-march-iwmmxt.d: Likewise. * gas/arm/attr-march-iwmmxt2.d: Likewise. * gas/arm/attr-march-marvell-f.d: Likewise. * gas/arm/attr-march-xscale.d: Likewise. * gas/arm/attr-mcpu.d: Likewise. * gas/arm/attr-mfpu-arm1020e.d: Likewise. * gas/arm/attr-mfpu-arm1020t.d: Likewise. * gas/arm/attr-mfpu-arm1136jf-s.d: Likewise. * gas/arm/attr-mfpu-arm1136jfs.d: Likewise. * gas/arm/attr-mfpu-arm7500fe.d: Likewise. * gas/arm/attr-mfpu-fpa.d: Likewise. * gas/arm/attr-mfpu-fpa10.d: Likewise. * gas/arm/attr-mfpu-fpa11.d: Likewise. * gas/arm/attr-mfpu-fpe.d: Likewise. * gas/arm/attr-mfpu-fpe2.d: Likewise. * gas/arm/attr-mfpu-fpe3.d: Likewise. * gas/arm/attr-mfpu-maverick.d: Likewise. * gas/arm/attr-mfpu-neon-fp16.d: Likewise. * gas/arm/attr-mfpu-neon.d: Likewise. * gas/arm/attr-mfpu-softfpa.d: Likewise. * gas/arm/attr-mfpu-softvfp+vfp.d: Likewise. * gas/arm/attr-mfpu-softvfp.d: Likewise. * gas/arm/attr-mfpu-vfp.d: Likewise. * gas/arm/attr-mfpu-vfp10-r0.d: Likewise. * gas/arm/attr-mfpu-vfp10.d: Likewise. * gas/arm/attr-mfpu-vfp3.d: Likewise. * gas/arm/attr-mfpu-vfp9.d: Likewise. * gas/arm/attr-mfpu-vfpv2.d: Likewise. * gas/arm/attr-mfpu-vfpv3-d16.d: Likewise. * gas/arm/attr-mfpu-vfpv3.d: Likewise. * gas/arm/attr-mfpu-vfpv4-d16.d: Likewise. * gas/arm/attr-mfpu-vfpv4.d: Likewise. * gas/arm/attr-mfpu-vfpxd.d: Likewise. * gas/arm/attr-order.d: Likewise. * gas/arm/attr-override-cpu-directive.d: Likewise. * gas/arm/attr-override-mcpu.d: Likewise. * gas/arm/eabi_attr_1.d: Likewise. ld/testsuite/ * ld-arm/attr-merge-2.attr: Add Tag_DIV_use. * ld-arm/attr-merge-2a.s: Likewise. * ld-arm/attr-merge-2b.s: Likewise. * ld-arm/attr-merge-3a.s: Likewise. * ld-arm/attr-merge-3b.s: Likewise. * ld-arm/attr-merge-4.attr: Likewise. * ld-arm/attr-merge-5.attr: Likewise. * ld-arm/attr-merge-6.attr: Likewise. * ld-arm/attr-merge-7.attr: Likewise. * ld-arm/attr-merge-arch-1.attr: Likewise. * ld-arm/attr-merge-arch-2.attr: Likewise. * ld-arm/attr-merge-unknown-2.d: Likewise. * ld-arm/attr-merge-unknown-2r.d: Likewise. * ld-arm/attr-merge-unknown-3.d: Likewise. * ld-arm/attr-merge-vfp-1.d: Likewise. * ld-arm/attr-merge-vfp-1r.d: Likewise. * ld-arm/attr-merge-vfp-2.d: Likewise. * ld-arm/attr-merge-vfp-2r.d: Likewise. * ld-arm/attr-merge-vfp-3.d: Likewise. * ld-arm/attr-merge-vfp-3r.d: Likewise. * ld-arm/attr-merge-vfp-4.d: Likewise. * ld-arm/attr-merge-vfp-4r.d: Likewise. * ld-arm/attr-merge-vfp-5.d: Likewise. * ld-arm/attr-merge-vfp-5r.d: Likewise. * ld-arm/attr-merge-wchar-00-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-00.d: Likewise. * ld-arm/attr-merge-wchar-02-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-02.d: Likewise. * ld-arm/attr-merge-wchar-04-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-04.d: Likewise. * ld-arm/attr-merge-wchar-20-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-20.d: Likewise. * ld-arm/attr-merge-wchar-22-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-22.d: Likewise. * ld-arm/attr-merge-wchar-24-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-40-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-40.d: Likewise. * ld-arm/attr-merge-wchar-42-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-44-nowarn.d: Likewise. * ld-arm/attr-merge-wchar-44.d: Likewise. * ld-arm/attr-merge.attr: Likewise. 2010-04-07 Jie Zhang <jie@codesourcery.com> gas/ * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_ABI_HardFP_use to 1 if a single precision FPU is selected. gas/testsuite/ * gas/arm/attr-mfpu-vfpxd.d: New test. bfd/ * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge Tag_ABI_HardFP_use correctly. ld/testsuite/ * ld-arm/attr-merge-vfp-6.d: New test. * ld-arm/attr-merge-vfp-6r.d: New test. * ld-arm/attr-merge-vfpv3xd.s: New test. * ld-arm/arm-elf.exp: Add attr-merge-vfp-6 and attr-merge-vfp-6r. 2010-05-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * arm-dis.c (thumb_opcodes): Update ldmia entry to use new %W format. (print_insn_thumb16): Add support for new %W format. * gas/arm/thumb32.d: Fix expected disassembly of ldmia instruction.
2010-05-11 * coffcode.h (coff_write_object_contents): Enclose all occurrencesAlan Modra1-0/+5
of hasdebug and is_reloc_section in #ifdef COFF_IMAGE_WITH_PE.