aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-10-27Fix trace file fails on powerpc64Yao Qi2-0/+9
I see the following fails on powerpc64-linux, (gdb) target tfile tfile-basic.tf^M warning: Uploaded tracepoint 1 has no source location, using raw address^M Tracepoint 1 at 0x10012358^M Created tracepoint 1 for target's tracepoint 1 at 0x10012358.^M (gdb) PASS: gdb.trace/tfile.exp: target tfile tfile-basic.tf info trace^M Num Type Disp Enb Address What^M 1 tracepoint keep y 0x0000000010012358 <write_basic_trace_file>^M installed on target^M (gdb) FAIL: gdb.trace/tfile.exp: info tracepoints on trace file -target-select tfile tfile-basic.tf^M =thread-group-started,id="i1",pid="1"^M =thread-created,id="1",group-id="i1"^M &"warning: Uploaded tracepoint 1 has no source location, using raw address\n"^M =breakpoint-created,bkpt={number="1",type="tracepoint",disp="keep",enabled="y", addr="0x0000000010012358",at="<write_basic_trace_file>",thread-groups=["i1"], times="0",installed="y",original-location="*0x10012358"}^M ~"Created tracepoint 1 for target's tracepoint 1 at 0x10012358.\n"^M ^connected^M (gdb) ^M FAIL: gdb.trace/mi-traceframe-changed.exp: tfile: select trace file These fails are caused by writing function descriptor address into trace file instead of function address. This patch is to teach tfile.c to write function address on powerpc64 target. With this patch applied, fails in tfile.exp and mi-traceframe-changed.exp are fixed. Is it OK? gdb/testsuite: 2014-10-27 Yao Qi <yao@codesourcery.com> * gdb.trace/tfile.c (adjust_function_address) [__powerpc64__ && _CALL_ELF != 2]: Get function address from function descriptor.
2014-10-27Fix ARM machine state testcase failuresLuis Machado2-188/+143
When running GDB's reverse debugging testsuite against a few ARM multilibs, i noticed failures in the machinestate* testcases. Further investigation showed that push and pop instruction encodings A1 and A2 were not being handled properly, thus we missed saving important contents from registers and memory. When going backwards, such contents were not restored and thus we ended up with a corrupted state that did not correspond to the real values we had at a particular point in time. Attached is a patch that fixes around 36 failures for both gdb.reverse/machinestate.exp and gdb.reverse/machinestate-precsave.exp testcases, making them fully pass. This is for both armv7 and armv4. I still see failures for armv4 thumb though, so it needs a bit more investigation. I see no regressions due to this patch for armv7, armv7 thumb, armv4 and armv4 thumb. gdb/ChangeLog: * arm-tdep.c (INSN_S_L_BIT_NUM): Document. (arm_record_ld_st_imm_offset): Reimplement to cover all load/store cases for ARM opcode 010. (arm_record_ld_st_multiple): Reimplement to cover all load/store cases for ARM opcode 100.
2014-10-26symtab.c (lookup_symbol_aux_local): Fix typo in comment.Doug Evans2-1/+5
gdb/ChangeLog: * symtab.c (lookup_symbol_aux_local): Fix typo in comment.
2014-10-27daily updateAlan Modra1-1/+1
2014-10-26Rename parameter "kind" to "block_index" in quick lookup functions.Doug Evans3-12/+22
gdb/ChangeLog: * symfile.h (struct quick_symbol_functions) <lookup_symbol>: Rename parameter "kind" to "block_index". * symtab.c (error_in_psymtab_expansion): Rename parameter "kind" to "block_index". (lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Ditto.
2014-10-26* block.h (ALL_BLOCK_SYMBOLS): Fix comment.Doug Evans2-2/+6
gdb/ChangeLog: * block.h (ALL_BLOCK_SYMBOLS): Fix comment.
2014-10-26block.c (allocate_block): Use OBSTACK_ZALLOC instead of obstack_alloc.Doug Evans2-8/+6
gdb/ChangeLog: * block.c (allocate_block): Use OBSTACK_ZALLOC instead of obstack_alloc.
2014-10-26Move block_found decl to symtab.h.Doug Evans3-5/+9
gdb/ChangeLog: * parser-defs.h (block_found): Move decl from here ... * symtab.h (block_found): ... to here.
2014-10-26Clean up some function comments in symtab.[ch].Doug Evans3-57/+90
gdb/ChangeLog: * symtab.h (struct field_of_this_result): Fix typo in comment. (lookup_symbol_in_language): Move function comment here. (lookup_symbol): Improve function comment. (basic_lookup_symbol_nonlocal): Ditto. (lookup_symbol_static, lookup_symbol_global): Ditto. (lookup_symbol_aux_block): Ditto. (lookup_language_this): Add function comment. (lookup_static_symbol_aux): Explicitly mark as extern. Improve function comment. (lookup_block_symbol): Improve function comment. (lookup_struct): Fix capitalization in function comment. (lookup_transparent_type): Add function comment. (lookup_global_symbol_from_objfile): Explicitly mark as extern. Improve function comment. (lookup_objfile_from_block): Add function comment. * symtab.c (lookup_symbol_in_language): Update function comment. (lookup_symbol, lookup_language_this): Ditto. (lookup_static_symbol_aux, lookup_objfile_from_block): Ditto. (lookup_symbol_aux_block, lookup_global_symbol_from_objfile): Ditto. (basic_lookup_symbol_nonlocal): Ditto. (lookup_symbol_static, lookup_symbol_global): Ditto. (lookup_transparent_type, lookup_block_symbol): Ditto.
2014-10-25symtab.c: forward decl cleanupDoug Evans2-12/+9
gdb/ChangeLog: * symtab.c (types_info): Delete forward decl. (functions_info, variables_info, sources_info): Ditto. (_initialize_symtab): Rewrite forward decl to use initialize_file_ftype.
2014-10-25symtab.c (lookup_symbol_aux_quick): Set block_found upon success.Doug Evans2-0/+5
gdb/ChangeLog: * symtab.c (lookup_symbol_aux_quick): Set block_found upon success.
2014-10-25Remove second (nested) copy of local var child_die.Doug Evans2-2/+8
gdb/ChangeLog: * dwarf2read.c (process_structure_scope): Remove second (nested) copy of local var child_die.
2014-10-26daily updateAlan Modra1-1/+1
2014-10-25daily updateAlan Modra1-1/+1
2014-10-24Follow-fork message printing improvementsDon Breazeal5-32/+68
This commit modifies the code that prints attach and detach messages related to following fork and vfork. The changes include using target_terminal_ours_for_output instead of target_terminal_ours, printing "vfork" instead of "fork" for all vfork-related messages, and using _() for the format strings of all of the messages. We also add a "detach" message for when a fork parent is detached. Previously in this case the only message was notification of attaching to the child. We still do not print any messages when following the parent and detaching the child (the default). The rationale for this is that from the user's perspective the new child was never attached. Note that all of these messages are only printed when 'verbose' is set or when debugging is turned on. The tests gdb.base/foll-fork.exp and gdb.base/foll-vfork.exp were modified to check for the new message. Tested on x64 Ubuntu Lucid, native only. gdb/ChangeLog: * infrun.c (follow_fork_inferior): Update fork message printing to use target_terminal_ours_for_output instead of target_terminal_ours, to use _() for all format strings, to print "vfork" instead of "fork" for vforks, and to add a detach message. (handle_vfork_child_exec_or_exit): Update message printing to use target_terminal_ours_for_output instead of target_terminal_ours, to use _() for all format strings, and to fix some formatting. gdb/testsuite/ChangeLog: * gdb.base/foll-fork.exp (test_follow_fork, catch_fork_child_follow): Check for updated fork messages emitted from infrun.c. * gdb.base/foll-vfork.exp (vfork_parent_follow_through_step, vfork_parent_follow_to_bp, vfork_and_exec_child_follow_to_main_bp, vfork_and_exec_child_follow_through_step): Check for updated vfork messages emitted from infrun.c.
2014-10-24Remove Vax Ultrix and VAX BSD supportPedro Alves16-141/+36
Built and tested on x86_64 Fedora 20, with --enable-targets=all. gdb/ 2014-10-24 Pedro Alves <palves@redhat.com> * Makefile.in (ALLDEPFILES): Remove vax-nat.c. * NEWS (Removed targets): Add VAX BSD and VAX Ultrix. * config/vax/vax.mh: Delete. * configure.host: Move vax-*-bsd* and vax-*-ultrix* to the obsolete configurations section. * configure.tgt (vax-*-*): Don't mention 4.2BSD nor Ultrix. * vax-nat.c: Delete file. gdb/testsuite/ 2014-10-24 Pedro Alves <palves@redhat.com> * gdb.base/corefile.exp: Remove references to ultrix. * gdb.base/interrupt.exp: Likewise. * gdb.base/whatis.exp: Likewise. * gdb.gdb/selftest.exp: Likewise. * gdb.threads/manythreads.exp: Likewise. * gdb.threads/print-threads.exp: Likewise. * gdb.threads/pthreads.exp:: Likewise. * gdb.threads/schedlock.exp: Likewise.
2014-10-24NEWS: Clarify removed targetsPedro Alves2-3/+7
gdb/ 2014-10-24 Pedro Alves <palves@redhat.com> * NEWS (Removed targets): Add OS/arch column.
2014-10-24Guard a call to TYPE_TARGET_TYPE in gnuv3_pass_by_reference.Siva Chandra5-5/+51
gdb/ChangeLog: * gnu-v3-abi.c (gnuv3_pass_by_reference): Call TYPE_TARGET_TYPE on the arg type of a constructor only if it is of reference type. gdb/testsuite/ChangeLog: * gdb.cp/non-trivial-retval.cc: Add a test case. * gdb.cp/non-trivial-retval.exp: Add a test.
2014-10-24[AArch64] Cortex-A53 erratum 835769 linker workaroundJiong Wang11-8/+829
2014-10-22 Tejas Belagod <tejas.belagod@arm.com> bfd/ * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter. * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. * elfnn-aarch64.c (aarch64_erratum_835769_stub): New. (elf_aarch64_stub_type): Add new type aarch64_stub_erratum_835769_veneer. (elf_aarch64_stub_hash_entry): New fields for erratum 835769. (aarch64_erratum_835769_fix): New data struct to record erratum 835769. (elf_aarch64_link_hash_table: Global flags for 835769. (aarch64_build_one_stub): Add case for 835769. (aarch64_size_one_stub): Likewise. (aarch64_mem_op_p, aarch64_mlxl_p, aarch64_erratum_sequence,erratum_835769_scan): New. Decode and scan functions for erratum 835769. (elf_aarch64_create_or_find_stub_sec): New. (elfNN_aarch64_size_stubs): Look for erratum 835769 and record them. (bfd_elfNN_aarch64_set_options: Set global flag for 835769. (erratum_835769_branch_to_stub_data, make_branch_to_erratum_835769_stub):New. Connect up all the erratum stubs to occurances by branches. (elfNN_aarch64_write_section): New hook. (aarch64_map_one_stub): Output erratum stub symbol. (elfNN_aarch64_size_dynamic_sections): Init mapping symbol information for erratum 835769. (elf_backend_write_section): Define. ld/ * emultempl/aarch64elf.em: Add command-line option for erratum 835769. ld/testsuite/ * ld-aarch64/aarch64-elf.exp (aarch64elftests): Drive erratum 835769 tests. * ld-aarch64/erratum835769.d: New. * ld-aarch64/erratum835769.s: New.
2014-10-24daily updateAlan Modra1-1/+1
2014-10-23Refactoring/cleanup of nios2 opcodes and assembler code.Sandra Loosemore10-1567/+1706
2014-10-23 Sandra Loosemore <sandra@codesourcery.com> include/opcode/ * nios2.h (enum iw_format_type): New. (struct nios2_opcode): Update comments. Add size and format fields. (NIOS2_INSN_OPTARG): New. (REG_NORMAL, REG_CONTROL, REG_COPROCESSOR): New. (struct nios2_reg): Add regtype field. (GET_INSN_FIELD, SET_INSN_FIELD): Delete. (IW_A_LSB, IW_A_MSB, IW_A_SZ, IW_A_MASK): Delete. (IW_B_LSB, IW_B_MSB, IW_B_SZ, IW_B_MASK): Delete. (IW_C_LSB, IW_C_MSB, IW_C_SZ, IW_C_MASK): Delete. (IW_IMM16_LSB, IW_IMM16_MSB, IW_IMM16_SZ, IW_IMM16_MASK): Delete. (IW_IMM26_LSB, IW_IMM26_MSB, IW_IMM26_SZ, IW_IMM26_MASK): Delete. (IW_OP_LSB, IW_OP_MSB, IW_OP_SZ, IW_OP_MASK): Delete. (IW_OPX_LSB, IW_OPX_MSB, IW_OPX_SZ, IW_OPX_MASK): Delete. (IW_SHIFT_IMM5_LSB, IW_SHIFT_IMM5_MSB): Delete. (IW_SHIFT_IMM5_SZ, IW_SHIFT_IMM5_MASK): Delete. (IW_CONTROL_REGNUM_LSB, IW_CONTROL_REGNUM_MSB): Delete. (IW_CONTROL_REGNUM_SZ, IW_CONTROL_REGNUM_MASK): Delete. (OP_MASK_OP, OP_SH_OP): Delete. (OP_MASK_IOP, OP_SH_IOP): Delete. (OP_MASK_IRD, OP_SH_IRD): Delete. (OP_MASK_IRT, OP_SH_IRT): Delete. (OP_MASK_IRS, OP_SH_IRS): Delete. (OP_MASK_ROP, OP_SH_ROP): Delete. (OP_MASK_RRD, OP_SH_RRD): Delete. (OP_MASK_RRT, OP_SH_RRT): Delete. (OP_MASK_RRS, OP_SH_RRS): Delete. (OP_MASK_JOP, OP_SH_JOP): Delete. (OP_MASK_IMM26, OP_SH_IMM26): Delete. (OP_MASK_RCTL, OP_SH_RCTL): Delete. (OP_MASK_IMM5, OP_SH_IMM5): Delete. (OP_MASK_CACHE_OPX, OP_SH_CACHE_OPX): Delete. (OP_MASK_CACHE_RRS, OP_SH_CACHE_RRS): Delete. (OP_MASK_CUSTOM_A, OP_SH_CUSTOM_A): Delete. (OP_MASK_CUSTOM_B, OP_SH_CUSTOM_B): Delete. (OP_MASK_CUSTOM_C, OP_SH_CUSTOM_C): Delete. (OP_MASK_CUSTOM_N, OP_SH_CUSTOM_N): Delete. (OP_<insn>, OPX_<insn>, OP_MATCH_<insn>, OPX_MATCH_<insn>): Delete. (OP_MASK_<insn>, OP_MASK): Delete. (GET_IW_A, GET_IW_B, GET_IW_C, GET_IW_CONTROL_REGNUM): Delete. (GET_IW_IMM16, GET_IW_IMM26, GET_IW_OP, GET_IW_OPX): Delete. Include nios2r1.h to define new instruction opcode constants and accessors. (nios2_builtin_opcodes): Rename to nios2_r1_opcodes. (bfd_nios2_num_builtin_opcodes): Rename to nios2_num_r1_opcodes. (bfd_nios2_num_opcodes): Rename to nios2_num_opcodes. (NUMOPCODES, NUMREGISTERS): Delete. * nios2r1.h: New file. opcodes/ * nios2-opc.c (nios2_builtin_regs): Add regtype field initializers. (nios2_builtin_opcodes): Rename to nios2_r1_opcodes. Use new MATCH_R1_<insn> and MASK_R1_<insn> macros in initializers. Add size and format initializers. Merge 'b' arguments into 'j'. (NIOS2_NUM_OPCODES): Adjust definition. (bfd_nios2_num_builtin_opcodes): Rename to nios2_num_r1_opcodes. (nios2_opcodes): Adjust. (bfd_nios2_num_opcodes): Rename to nios2_num_opcodes. * nios2-dis.c (INSNLEN): Update comment. (nios2_hash_init, nios2_hash): Delete. (OPCODE_HASH_SIZE): New. (nios2_r1_extract_opcode): New. (nios2_disassembler_state): New. (nios2_r1_disassembler_state): New. (nios2_init_opcode_hash): Add state parameter. Adjust to use it. (nios2_find_opcode_hash): Use state object. (bad_opcode): New. (nios2_print_insn_arg): Add op parameter. Use it to access format. Remove 'b' case. (nios2_disassemble): Remove special case for nop. Remove hard-coded instruction size. gas/ * config/tc-nios2.c (nios2_insn_infoS): Add constant_bits field. (nios2_arg_infoS, nios2_arg_hash, nios2_arg_lookup): Delete. (nios2_control_register_arg_p): Delete. (nios2_coproc_reg): Delete. (nios2_relax_frag): Remove hard-coded instruction size. (md_convert_frag): Use new insn accessor macros. (nios2_diagnose_overflow): Remove hard-coded instruction size. (md_apply_fix): Likewise. (bad_opcode): New. (nios2_parse_reg): New. (nios2_assemble_expression): Remove prev_reloc parameter. Adjust uses and callers. (nios2_assemble_arg_c): New. (nios2_assemble_arg_d): New. (nios2_assemble_arg_s): New. (nios2_assemble_arg_t): New. (nios2_assemble_arg_i): New. (nios2_assemble_arg_u): New. (nios2_assemble_arg_o): New. (nios2_assemble_arg_j): New. (nios2_assemble_arg_l): New. (nios2_assemble_arg_m): New. (nios2_assemble_args): New. (nios2_assemble_args_dst): Delete. (nios2_assemble_args_tsi): Delete. (nios2_assemble_args_tsu): Delete. (nios2_assemble_args_sto): Delete. (nios2_assemble_args_o): Delete. (nios2_assemble_args_is): Delete. (nios2_assemble_args_m): Delete. (nios2_assemble_args_s): Delete. (nios2_assemble_args_tis): Delete. (nios2_assemble_args_dc): Delete. (nios2_assemble_args_cs): Delete. (nios2_assemble_args_ds): Delete. (nios2_assemble_args_ldst): Delete. (nios2_assemble_args_none): Delete. (nios2_assemble_args_dsj): Delete. (nios2_assemble_args_d): Delete. (nios2_assemble_args_b): Delete. (nios2_arg_info_structs): Delete. (NIOS2_NUM_ARGS): Delete. (nios2_consume_arg): Remove insn parameter. Use new macros. Don't check register arguments here. Remove 'b' case. (nios2_consume_separator): Move check for missing separators to... (nios2_parse_args): ...here. Remove special case for optional arguments. (output_insn): Avoid using hard-coded insn size. (output_ubranch): Likewise. (output_cbranch): Likewise. (output_call): Use new macros. (output_addi): Likewise. (output_ori): Likewise. (output_xori): Likewise. (output_movia): Likewise. (md_begin): Remove nios2_arg_info_structs initialization. (md_assemble): Initialize constant_bits field. Use nios2_parse_args instead of looking up parse function in hash table. gdb/ * nios2-tdep.c (nios2_analyze_prologue): Use new instruction field accessors and constants from nios2 opcodes update. (nios2_get_next_pc): Likewise.
2014-10-23ARM: plt_size functions need to read instructions in right byte orderVictor Kamensky2-4/+32
elf32_arm_plt0_size and elf32_arm_plt_size read instructions to determine what is size of PLT entry. However it does not read instruction correctly in case of ARM big endian V7 case. In this case instructions are still kept in little endian order (BE8). * elf32-arm.c (read_code32): New function to read 32 bit arm instruction. (read_code16): New function to read 16 bit thumb instrution. (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32 and read_code16 to read instructions.
2014-10-23daily updateAlan Modra1-1/+1
2014-10-22MIPS Documentation fixesMatthew Fortune3-10/+26
gas/ * doc/as.texinfo: Update the MIPS FP ABI descriptions. * doc/c-mips.texi: Spell check and correct throughout.
2014-10-22Show information about unknown ASEs and extensions in .MIPS.abiflagsMatthew Fortune6-2/+21
bfd/ * elfxx-mips.c (print_mips_ases): Print unknown ASEs. (print_mips_isa_ext): Print the value of an unknown extension. binutils/ * readelf.c (print_mips_ases): Print unknown ASEs. (print_mips_isa_ext): Print the value of an unknown extension. include/ * elf/mips.h (AFL_ASE_MASK): Define.
2014-10-22daily updateAlan Modra1-1/+1
2014-10-21MIPS/GAS: Correct file option settings with `.insn'Maciej W. Rozycki6-0/+56
This makes sure `HAVE_CODE_COMPRESSION' evaluates correctly when the `.insn' directive is used at the beginning of a source file before any instructions have been produced and that ELF file header's MIPS16 and microMIPS ASE flags are set correctly in the case where no instructions have been produced other than with the said directive. gas/ * config/tc-mips.c (s_insn): Set file options. gas/testsuite/ * gas/mips/insn-opts.d: New test. * gas/mips/insn-opts.s: New test source. * gas/mips/mips.exp: Run the new test.
2014-10-22[GOLD] Add gcc-4.9 libgomp symbols requiring --plt-thread-safe for power7Alan Modra2-0/+11
As for bfd.ld. Refer 2300b5a14 * powerpc.cc (do_relax): Add gcc-4.9 libgomp functions to thread_starter.
2014-10-21[AARCH64] Add thunderx support to gasAndrew Pinski2-0/+2
This patch adds -mcpu=thunderx support to gas. OK? Tested with no regressions. ChangeLog: * config/tc-aarch64.c (aarch64_cpus): Add thunderx. * doc/c-aarch64.texi: Document that thunderx is a valid processor name.
2014-10-21Relax ppc64_elf_tls_optimize assertionAlan Modra2-1/+9
The code in ppc64_elf_tls_optimize looking at the .toc is only interested in .toc entries that are addresses. .toc can contain more than just an array of addresses, so if we have items that aren't 8-byte aligned, ignore them. * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc entries that aren't a multiple of 8 rather than failing assertion.
2014-10-21gas: avoid bogus warnings in false branches of conditionalJan Beulich5-7/+36
The construct being added to the cond.s test case otherwise triggered both the "missing closing ..." and the "stray ..." (twice) warnings in _find_end_of_line(). As that code fragments suggests, this is needed to support (include) files that can be used for both assembler .include and compiler #include directives.
2014-10-21ppc: enable msgclr and msgsnd on Power8Jan Beulich5-2/+15
According to my reading of the spec it was an oversight for them to not having got enabled when Power8 support got added.
2014-10-21aarch64: move bogus assertionJan Beulich2-12/+20
Asserting "idx" to be non-negative when subsequent code handles this case is bogus. In fact the assertion triggers e.g. when mistakenly using the arm32 comment character @ following an instruction. While doing this I also noticed that despite there being local variables "detail" and "idx", not all places where they could be used did actually make use of them, so this is being adjusted at once. Finally, for the code to be slightly more robust, also change comparisons against -1 to such checking for a (non-)negative value.
2014-10-21Add gcc-4.9 libgomp symbols requiring --plt-thread-safe for power7Alan Modra2-0/+11
powerpc64 ld builds plt call stubs with a read barrier to provide thread safety on lazy plt updates, necessary on multi-threaded apps with power7 or later weakly ordered memory. gcc-4.9 libgomp introduced more functions that could call pthread_create, which means we have more functions that if referenced in an executable should cause a default of --plt-thread-safe. * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions to thread_starter.
2014-10-21daily updateAlan Modra1-1/+1
2014-10-20Small fixes to the Python API docSimon Marchi2-2/+9
First: "Breakpoint.delete" is missing parenthesis. Second: Someone on IRC asked, how come there is no disable() method in the Breakpoint object. It turns out you have to do "bp.enabled = False". Since every normal person would probably search for "disable" in that page if their intent is to disable a python breakpoint, I thought it would be useful if the description contained "disable" so it would be easy to find. The result might seem a bit silly and redundant, so I am open to suggestions. gdb/doc/ChangeLog: * python.texi (Breakpoints In Python): Add parenthesis after Breakpoint.delete. Clarify Breakpoint.enabled description so that it contains "disable".
2014-10-20Rename py-objfile-script-gdb.py.in to py-objfile-script-gdb.pyYao Qi3-3/+10
Patch <https://sourceware.org/ml/gdb-patches/2011-07/msg00225.html> was to fix the problem that py-objfile-script-gdb.py is removed after an in-tree build and test. As a result of the previous patch (we don't remove files copied to host any more), this patch is no longer needed. This patch is to revert it logically. gdb/testsuite: 2014-10-20 Yao Qi <yao@codesourcery.com> * gdb.python/py-objfile-script-gdb.py.in: Rename it to ... * gdb.python/py-objfile-script-gdb.py: New file. * gdb.python/py-objfile-script.exp: Update reference to py-objfile-script-gdb.py.in. Use gdb_remote_donwload instead of remote_download. Remove the dest file.
2014-10-20Don't remove files copied to hostYao Qi23-62/+33
Nowadays, if we do in-tree build and run tests sequentially, some source files are removed, due to the following pattern: set pi_txt [gdb_remote_download host ${srcdir}/${subdir}/pi.txt] remote_exec host "rm -f $pi_txt" If testing is run sequentially, file ${srcdir}/${subdir}/pi.txt is copied to ${objdir}/${subdir}/pi.txt. However, ${objdir} is ${srcdir} in the in-tree build/test, so the file is coped to itself, as a nop. As a result, the file in source is removed at the end of test. This patch fixes this problem by not removing files copied to host in each test. This patch also addresses the question we've had that why don't we keep files copied to host because they are needed to reproduce certain fails. gdb/testsuite: 2014-10-20 Yao Qi <yao@codesourcery.com> * gdb.base/checkpoint.exp: Don't remove file copied on host. * gdb.base/step-line.exp: Likewise. * gdb.dwarf2/dw2-anonymous-func.exp: Likewise. * gdb.dwarf2/dw2-basic.exp: Likewise. * gdb.dwarf2/dw2-compressed.exp: Likewise. * gdb.dwarf2/dw2-filename.exp: Likewise. * gdb.dwarf2/dw2-intercu.exp: Likewise. * gdb.dwarf2/dw2-intermix.exp: Likewise. * gdb.dwarf2/dw2-producer.exp: Likewise. * gdb.dwarf2/mac-fileno.exp: Likewise. * gdb.python/py-frame-args.exp: Likewise. * gdb.python/py-framefilter.exp: Likewise. * gdb.python/py-mi.exp: Likewise. * gdb.python/py-objfile-script.exp: Likewise * gdb.python/py-pp-integral.exp: Likewise. * gdb.python/py-pp-re-notag.exp: Likewise. * gdb.python/py-prettyprint.exp: Likewise. * gdb.python/py-section-script.exp: Likewise. * gdb.python/py-typeprint.exp: Likewise. * gdb.python/py-xmethods.exp: Likewise. * gdb.stabs/weird.exp: Likewise. * gdb.xml/tdesc-regs.exp: Likewise.
2014-10-20daily updateAlan Modra1-1/+1
2014-10-19Fix some comments to say minus_one_ptid instead of PID == -1.Doug Evans2-3/+8
gdb/ChangeLog: * gdbthread.h (set_running): Fix comment. (set_executing, finish_thread_state): Fix comment.
2014-10-18linux-nat.c (linux_nat_wait_1): Make local prev_mask non-static.Doug Evans2-1/+5
gdb/ChangeLog: linux-nat.c (linux_nat_wait_1): Make local prev_mask non-static.
2014-10-19daily updateAlan Modra1-1/+1
2014-10-18Fix the gdb.dwarf2/dw2-dir-file-name.exp test on MIPSKwok Cheung Yeung3-9/+34
This patch fixes the failures that occur with the gdb.dwarf2/dw2-dir-file-name.exp test on 64-bit MIPS and compressed MIPS ISAs (i.e. MIPS16 and microMIPS). The failures on 64-bit occur because the generated DWARF address information is always 32-bit, which causes the upper 32-bits of addresses to be truncated and causes breakpoints to be set on the wrong address if any of the upper 32-bits are non-zero. I suspect that other 64-bit architectures get away with it because they place all their instructions at a VMA lower than 2^32 by default. This patch causes 64-bit addresses to be generated if a 64-bit target is detected. The failures on MIPS16 and microMIPS occur because the breakpoint address needs to have the LSB set to 1 (used to indicate that the code is compressed). However, the function name is interpreted as a data label, causing GDB to set breakpoints at even addresses. This is fixed by explicitly adding a '.insn' directive (see https://sourceware.org/binutils/docs/as/MIPS-insn.html) after the label on MIPS only. gdb/testsuite/ 2014-10-18 Kwok Cheung Yeung <kcy@codesourcery.com> * gdb.dwarf2/dw2-dir-file-name.exp (addr_len): New. (out_cu): Use addr_len for the size of addresses. (out_line): Likewise. Size DW_LNE_set_address instruction according to addr_len. * gdb.dwarf2/dw2-dir-file-name.c (START_INSNS): New. (FUNC): Add START_INSNS to definition.
2014-10-18Skip testing argv[0] on target argv[0] isn't availableYao Qi5-10/+141
I see the following two fails on arm-none-eabi target, because argv[0] isn't available. print argv[0]^M $1 = 0x1f78 "/dev/null"^M (gdb) FAIL: gdb.base/argv0-symlink.exp: kept file symbolic link name print argv[0]^M $1 = 0x1f78 "/dev/null"^M (gdb) FAIL: gdb.base/argv0-symlink.exp: kept directory symbolic link name My first thought is to check [target_info exists noargs], and skip the test if it returns true. However, noargs is set in gdbserver board files, so argv0-symlink.exp will be skipped on gdbserver board file. The change is too aggressive. When the program is running with gdbserver, argv[1] to argv[N] aren't available, but argv[0] is. Fortunately, argv0-symlink.exp only requires argv[0]. argv0-symlink.exp can be run with gdbserver board file, as what we do now. What we need to check is whether argv[0] is available, so I add a new proc gdb_has_argv0 to do so by starting a program, and check argc/argv[0] to see whether argv[0] is available. Dan fixed the similar problem by checking noargs, which is too strong. https://sourceware.org/ml/gdb-patches/2010-02/msg00398.html as a result, the test is skipped on gdbserver. This patch fixed it too. gdb/testsuite: 2014-10-18 Yao Qi <yao@codesourcery.com> * gdb.base/argv0-symlink.exp: Check argv[0] value if gdb_has_argv0 return true. * gdb.guile/scm-value.exp (test_value_in_inferior): Don't check [target_info exists noargs], check [gdb_has_argv0] instead. * gdb.python/py-value.exp (test_value_in_inferior): Likewise. * lib/gdb.exp (gdb_has_argv0, gdb_has_argv0_1): New procedures.
2014-10-18PowerPC64 ELFv1 function symbol definition vs LTO and discarded sectionsAlan Modra2-43/+70
When functions are emitted in comdat groups, global symbols defined in duplicates of the group are treated as if they were undefined. That prevents the symbols in the discarded sections from affecting the linker's global symbol hash table or causing duplicate symbol errors. Annoyingly, when gcc emits a function to a comdat group, it does not put *all* of a function's code and data in the comdat group. Typically, constant tables, exception handling info, and debug info are emitted to normal sections outside of the group, which is a perennial source of linker problems due to the special handling needed to deal with the extra-group pieces that ought to be discarded. In the case of powerpc64-gcc, the OPD entry for a function is not put in the group. Since the function symbol is defined on the OPD entry this means we need to handle symbols in .opd specially. To see how this affects LTO in particular, consider the linker testcase PR ld/12942 (1). This testcase links an LTO object file pr12942a.o with a normal (non-LTO) object pr12942b.o. Both objects contain a definition for _Z4testv in a comdat group. On loading pr12942a.o, the linker sees a comdat group (actually linkonce section) for _Z4testv and a weak _Z4testv defined in the IR. On loading pr12942b.o, the linker sees the same comdat group, and thus discards it. However, _Z4testv is a weak symbol defined in .opd, not part of the group, so this weak symbol overrides the weak IR symbol. On (re)loading the LTO version of pr12942a.o, the linker sees another weak _Z4testv, but this one does not override the value we have from pr12942b.o. The result is a linker complaint about "`_Z4testv' ... defined in discarded section `.group' of tmpdir/pr12942b.o". * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code section for function symbols defined in .opd is discarded, let the symbol appear to be undefined. (opd_entry_value): Ensure the result section is that for the function code section in the same object as the OPD entry.
2014-10-18Fix PR17493, attempted output of *GAS `reg' section* symbolAlan Modra5-8/+21
The write.c change is to make gas report an error if reg_section symbols should leak in future. The tc-i386.c change is the real fix. Note that the error isn't the most helpful, "redefined symbol cannot be used on reloc", but I'm not inclined to improve what is really an internal gas error. reg_section symbols shouldn't leak.. gas/ PR 17493 * write.c (adjust_reloc_syms): Don't allow symbols in reg_section to be reduced to reg_section section symbol. * gas/config/tc-i386.c (i386_finalize_immediate): Reject all reg_section immediates. gas/testsuite/ * gas/i386/inval-equ-2.l: Adjust.
2014-10-18* configure.tgt (targ_extra_obj) [aarch64*-*]: Define.Andreas Schwab2-0/+5
2014-10-17Add "typename" keyword to satisfy GCC 4.2.Cary Coutant2-1/+6
gold/ * aarch64.cc (AArch64_relocate_functions::maybe_apply_stub): Add "typename" keyword.
2014-10-18daily updateAlan Modra1-1/+1
2014-10-17opcodes, elf: annotate instructions with HWCAP2_VIS3B.Jose E. Marchesi6-14/+23
This patch annotates the following SPARC instructions as VIS3B instructions: ldx *, %efsr, fpadd64, fpsub64, fpcmpule8, fpcmpune8, fpcmpugt8, fpcmpueq8. It also improves the documentation of the VIS3B capability in several headers. Tested in sparc64-unknown-linux-gnu and sparc-unknown-linux-gnu. No visible regressions. opcodes/ChangeLog: 2014-10-17 Jose E. Marchesi <jose.marchesi@oracle.com> * sparc-opc.c (sparc-opcodes): Annotate several instructions with the HWCAP2_VIS3B hwcap. include/opcodes/ChangeLog: 2014-10-17 Jose E. Marchesi <jose.marchesi@oracle.com> * sparc.h (HWCAP2_VIS3B): Documentation improved. include/elf/ChangeLog: 2014-10-17 Jose E. Marchesi <jose.marchesi@oracle.com> * sparc.h (ELF_SPARC_HWCAP2_VIS3B): Documentation improved.