aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-02-11bfd/Richard Sandiford2-220/+247
* elfxx-mips.c (mips_got_entry): Update comment above tls_type entry to say that each structure represents only one type of TLS reference. (GOT_TLS_TYPE): New define. (mips_elf_link_hash_entry): Temporarily split tls_type and tls_got_offset into two variables each. (mips_elf_link_hash_newfunc): Update accordingly. (mips_elf_got_entry_eq, mips_elf_got_entry_hash) (mips_elf_multi_got_entry_eq): Require the tls_type to be the same. (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions. (mips_tls_got_relocs): Use a switch statement. (mips_elf_count_global_tls_entries): Handle the new hash entry fields. (mips_elf_initialize_tls_slots): Use a switch statement. Avoid local "offset" variable. (mips_tls_got_index): Remove r_type argument and assert. Remove code that handled entries with two TLS types; always use the original got_index instead. (mips_tls_single_got_index): New function. (mips_elf_local_got_index): Use entry->tls_type to check for TLS entries. Use mips_tls_single_got_index. Update call to mips_tls_got_index. (mips_elf_global_got_index): Use mips_elf_reloc_tls_type. Use p->tls_type to check for TLS entries. Update call to mips_tls_got_index. Use mips_tls_single_got_index. (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type. Use entry.tls_type to check for TLS entries. (mips_elf_record_global_got_symbol): Replace tls_flag argument with r_type argument. Use mips_elf_reloc_tls_type. Set up the new hash entry fields. (mips_elf_record_local_got_symbol): Replace tls_flag argument with r_type argument. Use mips_elf_reloc_tls_type and mips_tls_got_entries. Remove code that handled entries with multiple TLS types. (mips_elf_make_got_per_bfd): Use mips_tls_got_entries. (mips_elf_initialize_tls_index): Handle new hash entry fields. Use equality rather than masks when checking for specific TLS types. Use mips_tls_got_entries. Remove code that handled entries with multiple TLS types. (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of testing the hash table entry. (_bfd_mips_elf_check_relocs): Update calls to mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol. (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type. (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
2013-02-11bfd/Richard Sandiford20-103/+108
* elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to... (mips_elf_got_entry_hash): ...this, deleting the old version. (mips_elf_create_got_info): Use mips_elf_got_entry_hash for both types of GOT. ld/testsuite/ * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got, ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsbin-o32.got, ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got, ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got, ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got, ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-o32-ver.got: Adjust GOT layout for new got_entry hash function.
2013-02-11bfd/Richard Sandiford2-77/+40
* elfxx-mips.c (mips_elf_create_got_info): New function. (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it. (mips_elf_create_got_section): Likewise.
2013-02-11bfd/Richard Sandiford2-2/+7
* elfxx-mips.c (mips_elf_record_local_got_symbol): Always set gotidx to -1.
2013-02-11bfd/Richard Sandiford2-3/+5
* elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
2013-02-11bfd/Richard Sandiford2-13/+14
* elfxx-mips.c (mips_got_info): Move global_gotsym to... (mips_elf_link_hash_table): ...here. Update rest of file accordingly.
2013-02-11bfd/Richard Sandiford5-4/+26
* elfxx-mips.c (mips_elf_count_global_tls_entries) (mips_elf_count_global_tls_relocs): Don't count indirect or warning symbols. (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right number of TLS entries were allocated. ld/testsuite/ * ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.got: Remove unused GOT entries.
2013-02-11bfd/Richard Sandiford2-4/+4
* elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
2013-02-11bfd/Richard Sandiford2-3/+8
* elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count if there are TLS relocations.
2013-02-11bfd/Richard Sandiford2-4/+5
* elfxx-mips.c (mips_elf_recreate_got): Remove free. (mips_elf_resolve_final_got_entries): Remove bogus comment.
2013-02-11 * descriptors.cc (Descriptors::close_all): New function.Ian Lance Taylor4-2/+49
* descriptors.h (class Descriptors): Declare close_all. (close_all_descriptors): New inline function. * plugin.cc: Include "descriptors.h". (Plugin_manager::cleanup): Call close_all_descriptors.
2013-02-112013-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>Richard Earnshaw5-2/+35
* arm-dis.c: Update strht pattern. * gas/arm/archv6t2.s: Add strht and ldrht tests. * gas/arm/archv6t2.d: Add disassembly patterns for the above.
2013-02-11 * elfcode.h (elf_checksum_contents): Free contents.Alan Modra24-168/+172
* elf-bfd.h (_bfd_elf_link_hash_table_free): Declare. * elflink.c (_bfd_elf_link_hash_table_free): New function. (elf_final_link_free): New function, extracted from.. (bfd_elf_final_link): ..here. Always call _bfd_elf_write_section_eh_frame_hdr. * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to _bfd_elf_link_hash_table_free. * libbfd-in.h (_bfd_merge_sections_free): Declare. * libbfd.h: Regenerate. * merge.c (_bfd_merge_sections_free): New function. * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free hdr_info->array. * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call _bfd_elf_link_hash_table_free. * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise. * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise. * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise. * elf32-i386.c (elf_i386_link_hash_table_free): Likewise. * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise. * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise. * elf32-metag.c (elf_metag_link_hash_table_free): Likewise. * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise. * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise. * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise. * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise. * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise. * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise. * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete. (bfd_elf32_bfd_link_hash_table_free): Don't define. * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete. (bfd_elf32_bfd_link_hash_table_free): Dont' define.
2013-02-11 * ldlang.c (get_init_priority): Comment typo.Alan Modra2-4/+9
(lang_finish): Free link_info.hash and lang_definedness_table. (lang_end): Delete lang_definedness_table comment.
2013-02-11*** empty log message ***gdbadmin1-1/+1
2013-02-10 PR ld/15130Alan Modra2-1/+6
* ld.texinfo (-rpath-link): Typo fix.
2013-02-10daily updateAlan Modra1-1/+1
2013-02-10gdb/testsuite/Jan Kratochvil2-0/+5
* gdb.python/py-prompt.exp: Add to the end a kill of $testpid.
2013-02-10 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.Alan Modra33-309/+77
* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise. * m68klinux.c (linux_link_hash_table_create): Likewise. * sparclinux.c (linux_link_hash_table_create): Likewise. * sunos.c (sunos_link_hash_table_create): Likewise. * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise. * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise. * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise. * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise. * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise. * elf32-cris.c (elf_cris_link_hash_table_create): Likewise. * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise. * elf32-i386.c (elf_i386_link_hash_table_create): Likewise. * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise. * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise. * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise. * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise. * elf32-metag.c (elf_metag_link_hash_table_create): Likewise. * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise. * elf32-s390.c (elf_s390_link_hash_table_create): Likewise. * elf32-score.c (elf32_score_link_hash_table_create): Likewise. * elf32-spu.c (spu_elf_link_hash_table_create): Likewise. * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise. * elf32-vax.c (elf_vax_link_hash_table_create): Likewise. * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise. * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise. * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise. * elf64-s390.c (elf_s390_link_hash_table_create): Likewise. * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise. * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise. * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. * elflink.c (_bfd_elf_link_hash_table_create): Likewise. (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
2013-02-10 * i386linux.c (linux_link_hash_table_create): Allocate tableAlan Modra6-12/+19
with bfd_zmalloc, not bfd_alloc. * pdp11.c (link_hash_table_create): Allocate table with bfd_malloc, not bfd_alloc. * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table with bfd_zmalloc, not bfd_zalloc. (bfin_link_hash_table_create): Likewise. * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise. * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
2013-02-10 PR ld/15113Alan Modra2-12/+6
* elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
2013-02-10*** empty log message ***gdbadmin1-1/+1
2013-02-09daily updateAlan Modra1-1/+1
2013-02-09merge from gccDJ Delorie2-4/+12
2013-02-09gas/Richard Sandiford18-45/+1278
2013-02-09 Jürgen Urban <JuergenUrban@gmx.de> * config/tc-mips.c (CPU_HAS_LDC1_SDC1): New macro. (macro): Use it. Assert that trunc.w.s is not used for r5900. opcodes/ 2013-02-09 Jürgen Urban <JuergenUrban@gmx.de> * mips-opc.c (mips_builtin_opcodes): Enable l.d and s.d macros for single-float. Disable ll, lld, sc and scd for EE. Disable the trunc.w.s macro for EE. gas/testsuite/ 2013-02-09 Jürgen Urban <JuergenUrban@gmx.de> * gas/mips/24k-triple-stores-2.d, gas/mips/24k-triple-stores-2.s, gas/mips/micromips@24k-triple-stores-2.d: Move "sc" tests to... * gas/mips/24k-triple-stores-2-llsc.d, gas/mips/24k-triple-stores-2-llsc.s, gas/mips/micromips@24k-triple-stores-2-llsc.d: ...these new tests. * gas/mips/r5900-full.d, gas/mips/r5900-full.s: Verify that the MIPS ISA level can be upgraded to support ll, sc, lld and scd. * gas/mips/l_d-single.d, gas/mips/s_d-single.d, gas/mips/r5900-nollsc.l, gas/mips/r5900-nollsc.s: New tests. * gas/mips/mips.exp: Update accordingly. Add "nollsc" to r5900 properties.
2013-02-09*** empty log message ***gdbadmin1-1/+1
2013-02-08daily updateAlan Modra1-1/+1
2013-02-08 * common/format.c (parse_format_string): Fix whitespace.Doug Evans2-7/+11
2013-02-08oops - omitted for previous delta.Nick Clifton1-0/+5
2013-02-08 * emultempl/metagelf.em (build_section_lists): Use sec_info_typeNick Clifton2-1/+6
rather than userdata->flags.just_syms.
2013-02-08(elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss symbol.Nick Clifton2-8/+3
2013-02-08* elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED sections.Nick Clifton2-8/+13
2013-02-08Fix snafu.Nick Clifton1-1/+1
2013-02-08* gas/config/tc-arm.c (arm_cpus): Add support for mcpu=marvell-pj4 core.Nick Clifton2-5/+11
2013-02-08 * stack.c (return_command): Work around uninitialized variableMatthew Gretton-Dann2-1/+7
warning.
2013-02-08gdb/Yufeng Zhang2-3/+8
2013-02-08 Yufeng Zhang <yufeng.zhang@arm.com> * aarch64-linux-tdep.c (AARCH64_LINUX_SIZEOF_GREGSET): Change the number of the registers from 36 to 34.
2013-02-08bfd/Yufeng Zhang2-1/+6
2013-02-08 Yufeng Zhang <yufeng.zhang@arm.com> * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from 288 to 272.
2013-02-08Update NEWS to mention new AArch64 native and target support.Marcus Shawcroft2-0/+7
2013-02-08Adding myself to MAINTAINERS.Marcus Shawcroft2-0/+5
2013-02-08 Marcus Shawcroft <marcus.shawcroft@arm.com> * MAINTAINERS (Write After Approval): Add myself.
2013-02-08 * gas/nios2/nios2.exp: Add copyright.Alan Modra2-17/+25
(run_list_test): Delete. Adjust callers to use standard version.
2013-02-08Adding aarch64-linux-nat support.Marcus Shawcroft5-0/+1520
2013-02-08 Jim MacArthur <jim.macarthur@arm.com> Marcus Shawcroft <marcus.shawcroft@arm.com> Nigel Stephens <nigel.stephens@arm.com> Yufeng Zhang <yufeng.zhang@arm.com> * aarch64-linux-nat.c: New file. * config/aarch64/linux.mh: New file. * configure.host: Add AArch64. * Makefile.in (ALLDEPFILES): Add aarch64-linux-nat.c.
2013-02-08 PR binutils/15106Alan Modra3-23/+41
* elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache. * elf.c (elf_find_function): Revert last change. Use new tdata field rather than static vars for cache.
2013-02-08Set STB_GNU_UNIQUE only if symbol is defined in regular objectH.J. Lu4-2/+14
bfd/ PR ld/15107 * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if symbol is defined in regular object. ld/testsuite/ PR ld/15107 * ld-unique/unique_empty.s: Add reference to "b".
2013-02-08*** empty log message ***gdbadmin1-1/+1
2013-02-07daily updateAlan Modra1-1/+1
2013-02-07 * cli/cli-cmds.c (_initialize_cli_cmds): Clarify argument toDoug Evans4-1/+21
disassemble command. doc/ * gdb.texinfo (Machine Code): Clarify argument to disassemble command.
2013-02-072013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com>Marcus Shawcroft2-7/+19
* linux-aarch64-low.c (aarch64_arch_setup): Clamp aarch64_num_wp_regs and aarch64_num_bp_regs to AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively.
2013-02-07 * elfcomm.c (get_archive_member_name): Prevent seg-fault if aNick Clifton1-0/+6
corrupt archive uses long names but has no long name table.
2013-02-07Enable TLS support in aarch64-linux-tdep.cMarcus Shawcroft2-0/+9
2013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com> * aarch64-linux-tdep.c (aarch64_linux_init_abi): Call set_gdbarch_fetch_tls_load_module_address.
2013-02-07Switch AArch64 gdbserver ps_get_thread_area to PTRACE_GETREGSET.Marcus Shawcroft2-3/+14
2013-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com> * linux-aarch64-low.c (ps_get_thread_area): Replace PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET.