H.J. Lu [Tue, 4 Sep 2012 13:52:06 +0000 (13:52 +0000)]
Add Intel Itanium Series 9500 support
bfd/
2012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com>
* cpu-ia64-opc.c (ins_cnt6a): New function.
(ext_cnt6a): Ditto.
(ins_strd5b): Ditto.
(ext_strd5b): Ditto.
(elf64_ia64_operands): Add new operand types.
gas/
2012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com>
* config/tc-ia64.c (reg_symbol): Add a new register.
(indirect_reg): Ditto.
(pseudo_func): Add new symbolic constants.
(operand_match): Add new operand types recognition.
(operand_insn): Add new register recognition.
(md_begin): Add new register definition.
(specify_resource): Add new register recognition.
gas/testsuite/
2012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com>
* gas/testsuite/gas/ia64/psn.d: New file.
* gas/testsuite/gas/ia64/psn.s: New file.
* gas/testsuite/gas/ia64/ia64.exp: Add new testcase.
* gas/testsuite/gas/ia64/opc-i.d: Fixed failing tests.
* gas/testsuite/gas/ia64/opc-m.d: Ditto.
include/opcode/
2012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com>
* ia64.h (ia64_opnd): Add new operand types.
opcodes/
2012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com>
* ia64-asmtab.h (completer_index): Extend bitfield to full uint.
* ia64-gen.c: Promote completer index type to longlong.
(irf_operand): Add new register recognition.
(in_iclass_mov_x): Add an entry for the new mov_* instruction type.
(lookup_specifier): Add new resource recognition.
(insert_bit_table_ent): Relax abort condition according to the
changed completer index type.
(print_dis_table): Fix printf format for completer index.
* ia64-ic.tbl: Add a new instruction class.
* ia64-opc-i.c (ia64_opcodes_i): Define new I-instructions.
* ia64-opc-m.c (ia64_opcodes_m): Define new M-instructions.
* ia64-opc.h: Define short names for new operand types.
* ia64-raw.tbl: Add new RAW resource for DAHR register.
* ia64-waw.tbl: Add new WAW resource for DAHR register.
* ia64-asmtab.c: Regenerate.
Do not enable -lmcheck by default when Python is enabled with
threading support.
* configure.ac: (python_has_threads) New variable, by testing
if WITH_THREAD is defined in Python.h.
Move --enable-lmcheck after --with-python.
Do not enable -lmcheck by default if python_has_threads=yes.
Warn if --enable-lmcheck and python_has_threads=yes.
* configure: Regenerate.
H.J. Lu [Fri, 31 Aug 2012 20:41:41 +0000 (20:41 +0000)]
Convert mov to lea in size_dynamic_sections
bfd/
* elf32-i386.c (elf_i386_convert_mov_to_lea): New.
(elf_i386_size_dynamic_sections): Use it on input sections.
(elf_i386_relocate_section): Don't convert
"mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg"
for local symbols here.
* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): New.
(elf_x86_64_size_dynamic_sections): Use it on input sections.
(elf_x86_64_relocate_section): Don't convert
"mov foo@GOTPCREL(%rip), %reg" to "lea foo@GOTOFF(%reg), %reg"
for local symbols.
ld/testsuite/
* ld-i386/i386.exp: Run lea1d, lea1f, lea1f.
* ld-x86-64/x86-64.exp: Run lea1g, lea1h, lea1i, lea1j, lea1k,
lea1l.
Yao Qi [Fri, 31 Aug 2012 08:41:57 +0000 (08:41 +0000)]
gdb/
* mi/mi-cmds.c (mi_cmds): New macros DEF_MI_CMD_CLI
DEF_MI_CMD_MI DEF_MI_CMD_CLI_1 and DEF_MI_CMD_CLI_1.
Update some commands.
* mi/mi-cmds.h (struct mi_cmd) <suppress_notification>: New field.
* mi/mi-main.c (mi_cmd_execute): Set '*parse->cmd->suppress_notification'
to 1.
Alan Modra [Fri, 31 Aug 2012 01:09:52 +0000 (01:09 +0000)]
* powerpc.cc (Powerpc_relobj): Add and use Address typedef.
(Powerpc_relobj::toc_base_offset): New stub function.
(Target_powerpc): Add tp_offset, dtp_offset. Rename
got_mod_index_offset to tlsld_got_offset. Update all refs.
(Target_powerpc::Relocate::enum skip_tls): New.
(Target_powerpc::call_tls_get_addr_): New var.
(Target_powerpc::is_branch_reloc): Move to file scope.
(Target_powerpc::relocate_tls, optimize_tls_reloc): Delete.
(Target_powerpc::optimize_tls_gd, optimize_tls_ld, optimize_tls_ie):
New functions.
(Target_powerpc::enum Got_type): Delete old values, add new ones.
(powerpc_info): Correct common_pagesize for ppc64.
(at_tls_transform, needs_dynamic_reloc, use_plt_offset): New functions.
(Powerpc_relocate_functions): Add overflow check enums and functions.
Add non-shift version of rela, rela_ua. Delete all rel public
functions. Delete addr16_lo. Add addr64, addr64_u, addr32,
addr32_u, addr24, addr16_u, addr16_hi2, addr16_ha2, addr16_hi3,
addr16_ha3, addr14 functions.
(Output_data_got_powerpc::add_constant_pair): New function.
(Output_data_got_powerpc::got_base_offset): Likewise.
(Output_data_got_powerpc::do_write): Correct 64-bit got header.
(instruction constants): Sort, add some more.
(Output_data_glink::do_write): Add and use Address typedef. Use
object->toc_base_offset() stub for 64-bit.
(Target_powerpc::tlsld_got_offset): Use add_constant_pair.
(Target_powerpc::Scan::get_reference_flags): Handle more relocs.
(Target_powerpc::Scan::local, global): Emit relative dynamic reloc
for R_PPC64_TOC. Handle more relocs. Generate got entries for TLS.
Always treat .opd relocs as against locally defined symbol.
Correct condition for RELATIVE relocs.
(Target_powerpc::do_finalize_sections): Test for NULL sections.
(Target_powerpc::Relocate::relocate): Use plt call stub as value
for 32-bit syms with a plt entry. Correct ppc64 toc base
calculations. Handle TLS relocs, and more. Add overflow
checking and adjust for Powerpc_relocate_functions changes.
(Target_powerpc::relocate_for_relocatable): Handle zero r_sym.
Reinstate --emit-relocs code with FIXME.
Alan Modra [Thu, 30 Aug 2012 05:57:05 +0000 (05:57 +0000)]
* layout.cc (Layout::set_segment_offsets): Set p_align to
abi_pagesize, not common_pagesize.
(Layout::relaxation_loop_body): Similarly use abi_pagesize
to determine whether file header can go in segment.
* ld-elf/export-class.sd: New test.
* ld-elf/export-class.vd: New test.
* ld-elf/export-class-def.s: New test source.
* ld-elf/export-class-dep.s: New test source.
* ld-elf/export-class-lib.s: New test source.
* ld-elf/export-class-ref.s: New test source.
* ld-elf/export-class-lib.ver: New test version script.
* ld-elf/export-class.exp: New test script.
* ld-arm/arm-export-class.rd: New test.
* ld-arm/arm-export-class.xd: New test.
* ld-arm/export-class.exp: New test script.
* ld-i386/i386-export-class.rd: New test.
* ld-i386/i386-export-class.xd: New test.
* ld-i386/export-class.exp: New test script.
* ld-mips-elf/mips-32-export-class.rd: New test.
* ld-mips-elf/mips-32-export-class.xd: New test.
* ld-mips-elf/mips-64-export-class.rd: New test.
* ld-mips-elf/mips-64-export-class.xd: New test.
* ld-mips-elf/export-class.exp: New test script.
* ld-powerpc/powerpc-32-export-class.rd: New test.
* ld-powerpc/powerpc-32-export-class.xd: New test.
* ld-powerpc/powerpc-64-export-class.rd: New test.
* ld-powerpc/powerpc-64-export-class.xd: New test.
* ld-powerpc/export-class.exp: New test script.
* ld-x86-64/x86-64-64-export-class.rd: New test.
* ld-x86-64/x86-64-x32-export-class.rd: New test.
* ld-x86-64/export-class.exp: New test script.
Yao Qi [Tue, 28 Aug 2012 14:08:42 +0000 (14:08 +0000)]
gdb/
* cli/cli-cmds.c (max_user_call_depth): Add 'unsigned'.
(init_cmds): Call add_setshow_uinteger_cmd for command
'max-user-call-depth'.
* cli/cli-script.c (execute_user_command): Add 'unsigned' to the
declaration of 'max_user_call_depth'.
* frame.c (backtrace_limit): Add 'unsigned'.
(_initialize_frame): Call add_setshow_uinteger_cmd for command
'limit'.
* remote.c (remoteaddresssize): Add 'unsigned'.
(remote_address_masked): Change local var 'address_size' to
'unsigned'.
(_initialize_remote): Call add_setshow_uinteger_cmd for
'remoteaddresssize'.
* top.c (history_size): Add 'unsigned'.
(show_commands): Change local variables to 'unsigned'.
(set_history_size_command): Don't check history_size is negative.
Adjust the condition to call unstifle_history and set history_size
to UNIT_MAX.
Pedro Alves [Tue, 28 Aug 2012 09:05:35 +0000 (09:05 +0000)]
2012-08-28 Pedro Alves <palves@redhat.com>
PR gdb/14428
gdb/
* infcmd.c (default_print_one_register_info): New, factored out
from default_print_registers_info.
(default_print_registers_info): Use it. Mark value unavailable if
necessary.
(registers_info): Print user registers with
default_print_one_register_info.
gdb/testsuite/
* gdb.base/pc-fp.exp: Adjust expected output of 'info registers pc fp'.
Walter Lee [Tue, 28 Aug 2012 06:28:31 +0000 (06:28 +0000)]
Add padding to the plt section so that its size is a multiple of its
entry size.
* elf32-tilepro.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
of header.
(tilepro_plt_entry_build): Account for new header size.
(tilepro_elf_finish_dynamic_sections): Ditto.
(tilepro_elf_plt_sym_val): Ditto.
* elfxx-tilegx.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
of header + tail.
(tilegx_elf_finish_dynamic_sections): Account for new padding.
Jan Kratochvil [Mon, 27 Aug 2012 16:55:39 +0000 (16:55 +0000)]
gdb/
* breakpoint.c (parse_breakpoint_sals) <(*address) == NULL>: New
variable pc. Call find_pc_line instead of find_pc_overlay, restore
original PC for it.
gdb/testsuite/
* gdb.base/break-caller-line.c: New file.
* gdb.base/break-caller-line.exp: New file.
Jan Kratochvil [Mon, 27 Aug 2012 16:43:26 +0000 (16:43 +0000)]
ChangeLog fix:
PR gdb/14494.
* dwarf2read.c (dwarf2_locate_sections): Move variable aflag here.
Move the SEC_HAS_CONTENTS check here - for any NAMES use.
(dwarf2_locate_sections) <eh_frame>: Move the variable and check from
here.
Jan Kratochvil [Mon, 27 Aug 2012 16:37:45 +0000 (16:37 +0000)]
gdb/
* dwarf2read.c (dwarf2_locate_sections): Move variable aflag here.
Move the SEC_HAS_CONTENTS check here - for any NAMES use.
(dwarf2_locate_sections) <eh_frame>: Move the variable and check from
here.
Jan Kratochvil [Mon, 27 Aug 2012 16:34:35 +0000 (16:34 +0000)]
gdb/testsuite/
* gdb.ada/rdv_wait.exp (set debug-file-directory): New command.
* gdb.arch/i386-cfi-notcurrent.S: New file.
* gdb.arch/i386-cfi-notcurrent.exp: New file.
H.J. Lu [Sun, 26 Aug 2012 14:34:40 +0000 (14:34 +0000)]
Sync toplevel files with GCC tree
2012-08-14 Diego Novillo <dnovillo@google.com>
Merge from cxx-conversion branch.
* Makefile.tpl (STAGE[+id+]_CXXFLAGS): Remove
POSTSTAGE1_CONFIGURE_FLAGS.
* Makefile.in: Regenerate.
* configure.ac (ENABLE_BUILD_WITH_CXX): Remove. Update all users.
Force C++ when bootstrapping.
* configure: Regenerate.
2012-07-06 Richard Guenther <rguenther@suse.de>
* Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC)
as CPPFLAGS, pass path to built gmp as LDFLAGS, always use
--with-gmp=system.
* Makefile.in: Regenerated.
* configure: Likewise.
2012-07-06 Richard Guenther <rguenther@suse.de>
* configure.ac (extra_isl_gmp_configure_flags): Initialize and subst.
* Makefile.def (isl): Use extra_isl_gmp_configure_flags and
supply V=1 as extra_make_flags.
* configure: Regenerated.
* Makefile.in: Likewise.
2012-07-03 Richard Guenther <rguenther@suse.de>
* Makfile.def (isl): Remove not necessary extra_exports and
extra_make_flags.
(cloog): Use $$CPPFLAGS instead of ${CPPFLAGS}.
* Makefile.in: Regenerated.
2012-07-03 Richard Guenther <rguenther@suse.de>
* Makefile.def (cloog): Add V=1 to extra_make_flags.
* configure.ac: If either the ISL or the CLooG check failed
do not try to build in-tree versions.
* Makefile.in: Regenerated.
* configure: Regenerated.
2012-07-02 Richard Guenther <rguenther@suse.de>
Michael Matz <matz@suse.de>
Tobias Grosser <tobias@grosser.es>
Sebastian Pop <sebpop@gmail.com>
* Makefile.def: Add ISL host module, remove PPL host module.
Adjust ClooG host module to use the proper ISL.
* Makefile.tpl: Pass ISL include flags instead of PPL ones.
* configure.ac: Include config/isl.m4. Add ISL host library,
remove PPL. Remove PPL configury, add ISL configury, adjust
ClooG configury.
* Makefile.in: Regenerated.
* configure: Likewise.
2012-07-02 Richard Guenther <rguenther@suse.de>
Merge from graphite branch
2011-07-21 Tobias Grosser <tobias@grosser.es>
* configure: Regenerated.
* config/cloog.m4: Remove support for CLooG-ppl and CLooG-parma,
both cloog.org and legacy versions. The only supported version will
be CLooG with the isl backend.
* Makefile.tpl (gcc-no-fixedincludes): Rename into ...
(gcc-install-no-fixedincludes): Now forwarder to local target in gcc/
(install-no-fixedincludes): Adjust accordingly.
* Makefile.in: Regenerate.
2012-05-09 Nick Clifton <nickc@redhat.com>
Paul Smith <psmith@gnu.org>
PR bootstrap/50461
* configure.ac (mpfr-dir): When using in-tree MPFR sources
allow for the fact that from release v3.1.0 of MPFR the source
files were moved into a src sub-directory.
* configure: Regenerate.
2012-05-07 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Bump minimum MPFR version to 2.4.0.
* configure: Regenerated.
2012-05-01 Richard Henderson <rth@redhat.com>
* Makefile.def (libatomic): New target_module.
* configure.ac (target_libraries): Add libatomic.
(noconfigdirs): Check if libatomic is supported.
* Makefile.in, configure: Rebuild.
config/
2012-08-26 Art Haas <ahaas@impactweather.com>
* cloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test.
2012-07-04 Tristan Gingold <gingold@adacore.com>
* isl.m4 (ISL_CHECK_VERSION): Set to yes if cross-compiling.
Fix comments.
Sriraman Tallam [Fri, 24 Aug 2012 18:35:35 +0000 (18:35 +0000)]
Patch adds support to allow plugins to map selected subset of sections to unique
segments.
2012-08-24 Sriraman Tallam <tmsriram@google.com>
* gold.cc (queue_middle_tasks): Call layout again when unique
segments for sections is desired.
* layout.cc (Layout::Layout): Initialize new members.
(Layout::get_output_section_flags): New function.
(Layout::choose_output_section): Call get_output_section_flags.
(Layout::layout): Make output section for mapping to a unique segment.
(Layout::insert_section_segment_map): New function.
(Layout::attach_allocated_section_to_segment): Make unique segment for
output sections marked so.
(Layout::segment_precedes): Check for unique segments when sorting.
* layout.h (Layout::Unique_segment_info): New struct.
(Layout::Section_segment_map): New typedef.
(Layout::insert_section_segment_map): New function.
(Layout::get_output_section_flags): New function.
(Layout::is_unique_segment_for_sections_specified): New function.
(Layout::set_unique_segment_for_sections_specified): New function.
(Layout::unique_segment_for_sections_specified_): New member.
(Layout::section_segment_map_): New member.
* object.cc (Sized_relobj_file<size, big_endian>::do_layout):
Rename is_gc_pass_one to is_pass_one.
Rename is_gc_pass_two to is_pass_two.
Rename is_gc_or_icf to is_two_pass.
Check for which pass based on whether symbols data is present.
Make it two pass when unique segments for sections is desired.
* output.cc (Output_section::Output_section): Initialize new
members.
* output.h (Output_section::is_unique_segment): New function.
(Output_section::set_is_unique_segment): New function.
(Output_section::is_unique_segment_): New member.
(Output_section::extra_segment_flags): New function.
(Output_section::set_extra_segment_flags): New function.
(Output_section::extra_segment_flags_): New member.
(Output_section::segment_alignment): New function.
(Output_section::set_segment_alignment): New function.
(Output_section::segment_alignment_): New member.
(Output_segment::Output_segment): Initialize is_unique_segment_.
(Output_segment::is_unique_segment): New function.
(Output_segment::set_is_unique_segment): New function.
(Output_segment::is_unique_segment_): New member.
* plugin.cc (allow_unique_segment_for_sections): New function.
(unique_segment_for_sections): New function.
(Plugin::load): Add new functions to transfer vector.
* Makefile.am (plugin_final_layout.readelf.stdout): Add readelf output.
* Makefile.in: Regenerate.
* testsuite/plugin_final_layout.sh: Check if unique segment
functionality works.
* testsuite/plugin_section_order.c (onload): Check if new interfaces
are available.
(allow_unique_segment_for_sections): New global.
(unique_segment_for_sections): New global.
(claim_file_hook): Call allow_unique_segment_for_sections.
(all_symbols_read_hook): Call unique_segment_for_sections.
2012-08-24 Sriraman Tallam <tmsriram@google.com>
* plugin-api.h (ld_plugin_allow_unique_segment_for_sections):
New interface.
(ld_plugin_unique_segment_for_sections): New interface.
(LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
(LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
(tv_allow_unique_segment_for_sections): New member.
(tv_unique_segment_for_sections): New member.
Move misplaced entries from gdb/ChangeLog to gdb/doc/ChangeLog.
2012-08-23 Khoo Yit Phang <khooyp@cs.umd.edu>
Document how to return from "python-interactive" to GDB.
* gdb.texinfo (Python Commands): Update documentation.
2012-08-22 Khoo Yit Phang <khooyp@cs.umd.edu>
Add a new "python-interactive" command that starts a standard
Python interactive prompt with "pi" as alias, and add "py" as
an alias to "python".
* gdb.texinfo (Python Commands): Document the new commands.
* gas/config/tc-arm.c (CVT_FLAVOUR_VAR): New define.
(CVT_VAR): New helper define.
(neon_cvt_flavour): New enumeration, function renamed...
(get_neon_cvt_flavour): ...to this.
(do_vfp_nsyn_cvt): Update to use new neon_cvt_flavour.
(do_vfp_nsyn_cvtz): Likewise.
(do_neon_cvt_1): Likewise.
* gas/config/tc-arm.c (asm_barrier_opt): Add arch field.
(mark_feature_used): New function.
(parse_barrier): Check specified option is valid for the
specified architecture.
(UL_BARRIER): New macro.
(barrier_opt_names): Update for new barrier options.
* gas/testsuite/gas/arm/armv8-a-barrier.s: New testcase.
* gas/testsuite/gas/arm/armv8-a-barrier-arm.d: Likewise.
* gas/testsuite/gas/arm/armv8-a-barrier-thumb.d: Likewise.
* opcodes/arm-dis.c (data_barrier_option): New function.
(print_insn_arm): Use data_barrier_option.
(print_insn_thumb32): Use data_barrier_option.