aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-04-16Automatic date update in version.inGDB Administrator1-1/+1
2015-04-15Remove the unused PREFIX_UD_XXXH.J. Lu2-6/+9
Remove the unused PREFIX_UD_XXX. Invalid opcodes should be handled by prefix_table. * i386-dis.c (PREFIX_UD_SHIFT): Removed. (PREFIX_UD_REPZ): Likewise. (PREFIX_UD_REPNZ): Likewise. (PREFIX_UD_DATA): Likewise. (PREFIX_UD_ADDR): Likewise. (PREFIX_UD_LOCK): Likewise.
2015-04-15Make info fun|var|types interruptable for psyms.Doug Evans2-0/+6
gdb/ChangeLog: * psymtab.c (psym_expand_symtabs_matching): Add QUIT call.
2015-04-15Make info fun|var|types interruptable.Doug Evans2-0/+8
"info fun foo" can be a pain when it's not interruptable, especially if you're not exactly sure of what you're looking for and provide something that matches too much. gdb/ChangeLog: * dwarf2read.c (dw2_expand_symtabs_matching): Add some QUIT calls.
2015-04-15Check dp->prefix_requirement insteadH.J. Lu2-5/+7
This patch removes prefix_requirement and checks dp->prefix_requirement instead. * i386-dis.c (prefix_requirement): Removed. (print_insn): Don't set prefix_requirement. Check dp->prefix_requirement instead of prefix_requirement.
2015-04-15Handle invalid prefixes for rdrand and rdseedH.J. Lu5-5/+84
This patch puts rdrand and rdseed in prefix_table so that invalid prefixes for rdrand and rdseed are handled properly. gas/testsuite/ PR binutils/17898 * gas/i386/prefix.s: Add rdrand/rdseed prefix tests. * gas/i386/prefix.d: Updated. opcodes/ PR binutils/17898 * i386-dis.c (PREFIX_0FC7_REG_6): Renamed to ... (PREFIX_MOD_0_0FC7_REG_6): This. (PREFIX_MOD_3_0FC7_REG_6): New. (PREFIX_MOD_3_0FC7_REG_7): Likewise. (prefix_table): Replace PREFIX_0FC7_REG_6 with PREFIX_MOD_0_0FC7_REG_6. Add PREFIX_MOD_3_0FC7_REG_6 and PREFIX_MOD_3_0FC7_REG_7. (mod_table): Replace PREFIX_0FC7_REG_6 with PREFIX_MOD_0_0FC7_REG_6. Use PREFIX_MOD_3_0FC7_REG_6 and PREFIX_MOD_3_0FC7_REG_7.
2015-04-15Replace mandatory_prefix with prefix_requirementH.J. Lu2-310/+349
* i386-dis.c (PREFIX_MANDATORY_REPZ): Removed. (PREFIX_MANDATORY_REPNZ): Likewise. (PREFIX_MANDATORY_DATA): Likewise. (PREFIX_MANDATORY_ADDR): Likewise. (PREFIX_MANDATORY_LOCK): Likewise. (PREFIX_MANDATORY): Likewise. (PREFIX_UD_SHIFT): Set to 8 (PREFIX_UD_REPZ): Updated. (PREFIX_UD_REPNZ): Likewise. (PREFIX_UD_DATA): Likewise. (PREFIX_UD_ADDR): Likewise. (PREFIX_UD_LOCK): Likewise. (PREFIX_IGNORED_SHIFT): New. (PREFIX_IGNORED_REPZ): Likewise. (PREFIX_IGNORED_REPNZ): Likewise. (PREFIX_IGNORED_DATA): Likewise. (PREFIX_IGNORED_ADDR): Likewise. (PREFIX_IGNORED_LOCK): Likewise. (PREFIX_OPCODE): Likewise. (PREFIX_IGNORED): Likewise. (Bad_Opcode): Replace PREFIX_MANDATORY with 0. (dis386_twobyte): Replace PREFIX_MANDATORY with PREFIX_OPCODE. (three_byte_table): Likewise. (mod_table): Likewise. (mandatory_prefix): Renamed to ... (prefix_requirement): This. (prefix_table): Replace PREFIX_MANDATORY with PREFIX_OPCODE. Update PREFIX_90 entry. (get_valid_dis386): Check prefix_requirement to see if a prefix should be ignored. (print_insn): Replace mandatory_prefix with prefix_requirement.
2015-04-15[ARM] Disassembles SSAT and SSAT16 instructions incorrectly for Thumb-2Renlin Li5-18/+35
2015-04-15 Renlin Li <renlin.li@arm.com> opcodes/: * arm-dis.c (thumb32_opcodes): Define 'D' format control code, use it for ssat and ssat16. (print_insn_thumb32): Add handle case for 'D' control code. gas/testsuite/: * gas/arm/arch7em.d: Adjust required ssat and ssat16 immediate field. * gas/arm/thumb32.d: Likewise.
2015-04-15gdbserver: fix uClibc build whithout MMU.Romain Naour2-1/+5
Since commit d86d4aafd4fa22fa4cccb83253fb187b03f97f48, the pid must be retrieved from current_thread. The change has not been made in the function linux_read_offsets(). Fixes: http://autobuild.buildroot.net/results/9e4/9e4df085319e346803c26c65478accb27eb950ae/build-end.log 2015-04-14 Romain Naour <romain.naour@openwide.fr> (tiny change) * linux-low.c (linux_read_offsets): Remove get_thread_lwp. Signed-off-by: Romain Naour <romain.naour@openwide.fr>
2015-04-15Some Python 3 fixesSimon Marchi7-10/+27
Some missing parentheses and one itertools.imap (Py2) vs map (Py3) issue. gdb/ChangeLog: * python/lib/gdb/command/unwinders.py: Add parentheses. gdb/testsuite/ChangeLog: * gdb.python/py-framefilter.py (ErrorFilter.filter): Use map function if itertools.imap is not present. * gdb.python/py-objfile.exp: Add parentheses. * gdb.python/py-type.exp: Same. * gdb.python/py-unwind-maint.py: Same.
2015-04-15[arm] Update displaced stepping debug messageYao Qi2-2/+5
When I "set debug displaced 1" to fix fail in gdb.base/disp-step-syscall.exp, the debug message is wrong. This patch is to fix it. gdb: 2015-04-15 Yao Qi <yao.qi@linaro.org> * arm-linux-tdep.c (arm_linux_copy_svc): Update debug message.
2015-04-15Fix code indentationYao Qi2-41/+46
gdb: 2015-04-15 Yao Qi <yao.qi@linaro.org> * arm-linux-tdep.c (arm_linux_copy_svc): Fix indentation.
2015-04-15[arm] Fix fails in gdb.base/disp-step-syscall.expYao Qi2-3/+8
Hi, I see this fail on arm-linux target, FAIL: gdb.base/disp-step-syscall.exp: fork: single step over fork final pc which is caused by the PC isn't expected after displaced stepping the svc instruction. The code is: => 0xb6ead9a4 <__libc_do_syscall+4>: svc 0 0xb6ead9a6 <__libc_do_syscall+6>: pop {r7, pc} 0xb6ead9a8: nop.w^M 0xb6ead9ac: nop.w after single step svc instruction, pc should be 0xb6ead9a6, but the actual value of pc is 0xb6ead9a8. The problem is illustrated by turning on debug message of displaced stepping, stepi^M displaced: stepping Thread 12031 now^M displaced: saved 0x8574: 02 bc 6a 46 04 b4 01 b4 df f8 10 c0 4d f8 04 cd 03 48 04 4b ff f7 d2 ef ff f7 e8 ef 0d 87 00 00 ^M displaced: process thumb insn df00 at b6ead9a4^M displaced: copying svc insn df00^M displaced: read r7 value 00000078^M displaced: sigreturn/rt_sigreturn SVC call not in signal trampoline frame^M displaced: writing insn df00 at 00008574^M displaced: copy 0xb6ead9a4->0x8574: displaced: check mode of b6ead9a4 instead of 00008574^M displaced: displaced pc to 0x8574^M displaced: run 0x8574: 00 df 01 de ^M displaced: restored Thread 12031 0x8574^M displaced: PC is apparently 00008576 after SVC step (within scratch space)^M displaced: writing pc b6ead9a8 <----- WRONG ADDRESS GDB writes the wrong address back to pc because GDB thinks the instruction size is 4, which isn't true for thumb instruction. This patch is to replace 4 with dsc->insn_size. gdb: 2015-04-15 Yao Qi <yao.qi@linaro.org> * arm-linux-tdep.c (arm_linux_cleanup_svc): Use dsc->insn_size instead of 4.
2015-04-15Fix fails in gdb.dwarf2/dynarr-ptr.expYao Qi2-1/+6
I see many fails in gdb.dwarf2/dynarr-ptr.exp on arm-linux target, started from this print foo.three_ptr.all^M Cannot access memory at address 0x107c8^M (gdb) FAIL: gdb.dwarf2/dynarr-ptr.exp: print foo.three_ptr.all print foo.three_ptr.all(1)^M Cannot access memory at address 0x107c8 It turns out that ":$ptr_size" is used incorrectly. array_ptr_label: DW_TAG_pointer_type { {DW_AT_byte_size :$ptr_size } ^^^^^^^^^^ {DW_AT_type :$array_label} } Since the FORM isn't given, and it starts with the ":", it is regarded as a label reference by dwarf assembler. The generated asm file on x86_64 is .uleb128 6 /* Abbrev (DW_TAG_pointer_type) */ .4byte 8 - .Lcu1_begin <----- WRONG .4byte .Llabel2 - .Lcu1_begin Looks .Lcu1_begin is 0 on x86_64 and that is why this test passes on x86_64. On arm, .Lcu1_begin is an address somewhere, and the value of DW_AT_byte_size is a very large number, so memory read request of such large length failed. This patch is to remove ":" and set the form explicitly. The generated asm file on x86_64 becomes .uleb128 6 /* Abbrev (DW_TAG_pointer_type) */ .byte 8 .4byte .Llabel2 - .Lcu1_begin gdb/testsuite: 2015-04-15 Yao Qi <yao.qi@linaro.org> * gdb.dwarf2/dynarr-ptr.exp (assemble): Use $ptr_size instead of ":$ptr_size" and set its form explicitly.
2015-04-15Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]H.J. Lu6-0/+26
binutils/ * NEWS: Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. gas/ * NEWS: Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. ld/ * NEWS: Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
2015-04-15Increase timeout in watch-bitfields.exp for software watchpointYao Qi6-54/+92
I see the following two timeout fails on pandaboard (arm-linux target), FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: continue until exit (timeout) FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: continue until exit (timeout) In this test, more than one watchpoint is used, so the following watchpoint requests fall back to software watchpoint, so that GDB will single step all the way and it is very slow. This patch is to copy the fix from [PATCH] GDB/testsuite: Correct gdb.base/watchpoint-solib.exp timeout tweak https://sourceware.org/ml/gdb-patches/2014-07/msg00716.html I find the left-over of this patch review is to factor out code into a procedure, so I do that in this patch. Re-run tests watch-bitfields.exp, watchpoint-solib.exp, sigall-reverse.exp, and until-precsave.exp on pandaboard, no regression. gdb/testsuite: 2015-04-15 Pedro Alves <palves@redhat.com> Yao Qi <yao.qi@linaro.org> * gdb.base/watch-bitfields.exp (test_watch_location): Increase timeout by factor of 4. (test_regular_watch): Likewise. * gdb.base/watchpoint-solib.exp: Use with_timeout_factor. * gdb.reverse/sigall-reverse.exp: Likewise. * gdb.reverse/until-precsave.exp: Likewise. * lib/gdb.exp (with_timeout_factor): New proc. (gdb_expect): Move some code to ... (get_largest_timeout): ... here. New procedure.
2015-04-15sim: unify sim-cpu usageMike Frysinger69-139/+126
Now that all the targets are utilizing CPU_PC_{FETCH,STORE}, and the cpu state is multicore, and the STATE_CPU defines match, we can move it all to the common code.
2015-04-15sim: cris/frv/h8300/iq2000/lm32/m32r/sh64: standardize cpu stateMike Frysinger15-15/+88
This sets up the sim_state structure and the cpu member to match what we do in most other sims, and what the common code suggests. This is a step to unifying on the sim-cpu.o object.
2015-04-14Add --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]H.J. Lu25-32/+517
This patch adds --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] to ld for ELF targets to support generating compressed DWARF debug sections. We always generate .zdebug_* section since section names have been finalized and they can't be changed easily when compression is being performed. bfd/ * bfd-in.h (compressed_debug_section_type): New. * compress.c (bfd_compress_section_contents): Add an argument for linker write compression and always generate .zdebug_* section when linking. (bfd_init_section_compress_status): Pass FALSE to bfd_compress_section_contents. (bfd_compress_section): New function. * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS on DWARF debug sections if COMPRESS_DEBUG is set and rename section if COMPRESS_DEBUG_GABI_ZLIB isn't set. (assign_file_positions_for_non_load_sections): Set sh_offset to -1 if SEC_ELF_COMPRESS is set. (assign_file_positions_except_relocs): Likwise. (_bfd_elf_assign_file_positions_for_relocs): Renamed to ... (_bfd_elf_assign_file_positions_for_non_load): This. Change return time to bfd_boolean. Compress the section if SEC_ELF_COMPRESS is set. (_bfd_elf_write_object_contents): Updated. (_bfd_elf_set_section_contents): Write section contents to the buffer if SEC_ELF_COMPRESS is set. * merge.c: Include "elf-bfd.h". (sec_merge_emit): Add arguments for contents and offset. Write to contents with offset if contents isn't NULL. (_bfd_write_merged_section): Write section contents to the buffer if SEC_ELF_COMPRESS is set. Pass contents and output_offset to sec_merge_emit. * elflink.c (bfd_elf_final_link): Allocate the buffer for output section contents if SEC_ELF_COMPRESS is set. * section.c (SEC_ELF_COMPRESS): New. * bfd-in2.h: Regenerated. gas/ * as.h (compressed_debug_section_type): Removed. include/ * bfdlink.h (bfd_link_info): Add compress_debug. ld/ * ld.texinfo: Document --compress-debug-sections=. * ldmain.c (main): Set BFD_COMPRESS on output_bfd if COMPRESS_DEBUG is set. Set BFD_COMPRESS_GABI on output_bfd for COMPRESS_DEBUG_GABI_ZLIB. * lexsup.c (elf_static_list_options): Add --compress-debug-sections=. * emultempl/elf32.em (OPTION_COMPRESS_DEBUG): New. (xtra_long): Add "compress-debug-sections". (gld${EMULATION_NAME}_handle_option): Handle OPTION_COMPRESS_DEBUG. ld/testsuite/ * ld-elf/compress.exp (build_tests): Add tests for --compress-debug-sections=. (run_tests): Likewise. Add additonal tests for --compress-debug-sections=. * ld-elf/gabiend.rt: New file. * ld-elf/gabinormal.rt: Likewise. * ld-elf/gnubegin.rS: Likewise. * ld-elf/gnunormal.rS: Likewise. * ld-elf/zlibbegin.rS: Likewise. * ld-elf/zlibnormal.rS: Likewise.
2015-04-15xfail pr18223 test for tic6xAlan Modra2-0/+5
Fails due to warning: generating a shared library containing non-PIC/PID code * ld-gc/pr18223.d: xfail tic6x.
2015-04-15Fix typo in last ChangeLog.Hans-Peter Nilsson1-1/+1
2015-04-15Adjust src-release.sh for sim using the gdb create-version.sh.Hans-Peter Nilsson2-3/+13
* sim-release.sh (tar_compress): If there's a fifth parameter, use that in the getver call instead of $tool. (sim_release): Pass gdb as fifth parameter to tar_compress. (SIM_SUPPORT_DIRS): Add gdb/common/create-version.sh.
2015-04-15Fix typo in commit 6ff71e76Alan Modra2-1/+5
* elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
2015-04-15Automatic date update in version.inGDB Administrator1-1/+1
2015-04-14Adds support to the RL78 port for linker relaxation affecting .debug sections.Nick Clifton9-400/+555
gas * config/tc-rl78.h (TC_LINKRELAX_FIXUP): Define. (TC_FORCE_RELOCATION_SUB_SAME): Define. (DWARF2_USE_FIXED_ADVANCE_PC): Define. * gas/lns/lns.exp: Add RL78 to list of targets using DW_LNS_fixed_advance_pc. bfd * elf32-rl78.c (RL78_OP_REL): New macro. (rl78_elf_howto_table): Use it for complex relocs. (get_symbol_value): Handle the cases when the info or status arguments are NULL. (get_romstart): Cache the status returned by get_symbol_value. (get_ramstart): Likewise. (RL78_STACK_PUSH): Generate an error message if the stack overflows. (RL78_STACK_POP): Likewise for underflows. (rl78_compute_complex_reloc): New function. Contains the basic processing code for all RL78 complex relocs. (rl78_special_reloc): New function. Provides special reloc handling for complex relocs. (rl78_elf_relocate_section): Use rl78_compute_complex_reloc. (rl78_offset_for_reloc): Likewise. binutils* readelf.c (target_specific_reloc_handling): Add code to handle RL78 complex relocs.
2015-04-14Harden gdb.base/bp-permanent.expLuis Machado2-1/+6
Reinstate test message and replace hardcoded test command with a variable. gdb/testsuite/ChangeLog: 2015-04-14 Luis Machado <lgustavo@codesourcery.com> * gdb.base/bp-permanent.exp (test): Reinstate correct test message.
2015-04-14Zero supplied stat buffers in functions that pretend to statGary Benson5-0/+11
GDB has five places where it pretends to stat for bfd_openr_iovec. Four of these only set the incoming buffer's st_size, leaving the other fields unchanged, which is to say very likely populated with random values from the stack. remote_bfd_iovec_stat was fixed in 0a93529c56714b1da3d7106d3e0300764f8bb81c; this commit fixes the other four. gdb/ChangeLog: * jit.c (mem_bfd_iovec_stat): Zero supplied buffer. * minidebug.c (lzma_stat): Likewise. * solib-spu.c (spu_bfd_iovec_stat): Likewise. * spu-linux-nat.c (spu_bfd_iovec_stat): Likewise.
2015-04-14Add -z noextern-protected-data to ld for ELF/x86H.J. Lu22-4/+105
Address of protected data defined in the shared library may be external, i.e., due to copy relocation. By default, linker backend checks if relocations against protected data symbols are valid for building shared library and issues an error if relocation isn't allowed. The new option override linker backend default. When -z noextern-protected-data is used, updates on protected data symbols by another module won't be visibile to the resulting shared library. This option is specific to ELF/i386 and ELF/x86-64. bfd/ PR ld/pr17709 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check info->extern_protected_data when warning copy relocs against protected symbols. (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data when checking protected non-function symbols. include/ PR ld/pr17709 * bfdlink.h (bfd_link_info): Add extern_protected_data. ld/ PR ld/pr17709 * ld.texinfo: Document "-z noextern-protected-data". * ldmain.c (main): Initialize link_info.extern_protected_data to -1. * lexsup.c (elf_shlib_list_options): Add "-z [no]extern-protected-data". * emulparams/elf32_x86_64.sh: Source extern_protected_data.sh. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_be.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/elf_i386_vxworks.sh: Likewise. * emulparams/elf_k1om.sh: Likewise. * emulparams/elf_l1om.sh: Likewise. * emulparams/elf_x86_64.sh: Source extern_protected_data.sh. (PARSE_AND_LIST_OPTIONS): Renamed to ... (PARSE_AND_LIST_OPTIONS_BNDPLT): This. (PARSE_AND_LIST_ARGS_CASE_Z): Renamed to ... (PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT): This. (PARSE_AND_LIST_OPTIONS): Append $PARSE_AND_LIST_OPTIONS_BNDPLT. (PARSE_AND_LIST_ARGS_CASE_Z): Append $PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT. * emulparams/extern_protected_data.sh: New file. ld/testsuite/ PR ld/pr17709 * ld-i386/i386.exp: Run protected6b. * ld-i386/protected6b.d: New file. * ld-x86-64/protected6b.d: Likewise. * ld-x86-64/x86-64.exp: Run protected6b.
2015-04-13sim: ppc: fix up version scriptMike Frysinger2-2/+8
The common sim code has switched to using gdb directly; update the ppc copy too.
2015-04-14Automatic date update in version.inGDB Administrator1-1/+1
2015-04-13 * MAINTAINERS: Update my email address.Stan Shebs2-2/+6
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS index a67a1a8..0fdd8e5 100644 --- a/gdb/MAINTAINERS +++ b/gdb/MAINTAINERS @@ -156,7 +156,7 @@ Doug Evans dje@google.com Daniel Jacobowitz drow@false.org Mark Kettenis kettenis@gnu.org Yao Qi yao.qi@arm.com -Stan Shebs stan@codesourcery.com +Stan Shebs stanshebs@google.com Ulrich Weigand Ulrich.Weigand@de.ibm.com Elena Zannoni elena.zannoni@oracle.com Eli Zaretskii eliz@gnu.org @@ -631,7 +631,7 @@ Keith Seitz keiths@redhat.com Carlos Eduardo Seo cseo@linux.vnet.ibm.com Ozkan Sezer sezeroz@gmail.com Marcus Shawcroft marcus.shawcroft@arm.com -Stan Shebs stan@codesourcery.com +Stan Shebs stanshebs@google.com Joel Sherrill joel.sherrill@oarcorp.com Mark Shinwell shinwell@codesourcery.com Craig Silverstein csilvers@google.com
2015-04-13Add support for the x86 XSAVE extended state on FreeBSD/x86.John Baldwin16-7/+470
Recognize NT_X86_XSTATE notes in FreeBSD process cores. Recent FreeBSD versions include a note containing the XSAVE state for each thread in the process when XSAVE is in use. The note stores a copy of the current XSAVE mask in a reserved section of the machine-defined XSAVE state at the same offset as Linux's NT_X86_XSTATE note. For native processes, use the PT_GETXSTATE_INFO ptrace request to determine if XSAVE is enabled, and if so the active XSAVE state mask (that is, the value of %xcr0 for the target process) as well as the size of XSAVE state area. Use the PT_GETXSTATE and PT_SETXSTATE requests to fetch and store the XSAVE state, respectively, in the BSD x86 native targets. In addition, the FreeBSD amd64 and i386 native targets now include "read_description" target methods to determine the correct x86 target description for the current XSAVE mask. On FreeBSD amd64 this also properly returns an i386 target description for 32-bit binaries which allows the 64-bit GDB to run 32-bit binaries. Note that the ptrace changes are in the BSD native targets, not the FreeBSD-specific native targets since that is where the other ptrace register accesses occur. Of the other BSDs, NetBSD and DragonFly use XSAVE in the kernel but do not currently export the extended state via ptrace(2). OpenBSD does not currently support XSAVE. bfd/ChangeLog: * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on FreeBSD. (elfcore_write_xstatereg): Use correct note name on FreeBSD. gdb/ChangeLog: * amd64-tdep.c (amd64_target_description): New function. * amd64-tdep.h: Export amd64_target_description and tdesc_amd64. * amd64bsd-nat.c [PT_GETXSTATE_INFO]: New variable amd64bsd_xsave_len. (amd64bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle x86 extended save area. (amd64bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise. * amd64bsd-nat.h: Export amd64bsd_xsave_len. * amd64fbsd-nat.c (amd64fbsd_read_description): New function. (_initialize_amd64fbsd_nat): Set "to_read_description" to "amd64fbsd_read_description". * amd64fbsd-tdep.c (amd64fbsd_core_read_description): New function. (amd64fbsd_supply_xstateregset): New function. (amd64fbsd_collect_xstateregset): New function. Add "amd64fbsd_xstateregset". (amd64fbsd_iterate_over_regset_sections): New function. (amd64fbsd_init_abi): Set "xsave_xcr0_offset" to "I386_FBSD_XSAVE_XCR0_OFFSET". Add "iterate_over_regset_sections" gdbarch method. Add "core_read_description" gdbarch method. * i386-tdep.c (i386_target_description): New function. * i386-tdep.h: Export i386_target_description and tdesc_i386. * i386bsd-nat.c [PT_GETXSTATE_INFO]: New variable i386bsd_xsave_len. (i386bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle x86 extended save area. (i386bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise. * i386bsd-nat.h: Export i386bsd_xsave_len. * i386fbsd-nat.c (i386fbsd_read_description): New function. (_initialize_i386fbsd_nat): Set "to_read_description" to "i386fbsd_read_description". * i386fbsd-tdep.c (i386fbsd_core_read_xcr0): New function. (i386fbsd_core_read_description): New function. (i386fbsd_supply_xstateregset): New function. (i386fbsd_collect_xstateregset): New function. Add "i386fbsd_xstateregset". (i386fbsd_iterate_over_regset_sections): New function. (i386fbsd4_init_abi): Set "xsave_xcr0_offset" to "I386_FBSD_XSAVE_XCR0_OFFSET". Add "iterate_over_regset_sections" gdbarch method. Add "core_read_description" gdbarch method. * i386fbsd-tdep.h: New file.
2015-04-13Fix reading of .debug_str_offsets{,.dwo} twice.Doug Evans2-8/+15
PR binutils/18218 * readelf.c (printable_section_name): Constify sec argument. (apply_relocations): Ditto. New arg "size". All callers updated. (load_specific_debug_section): Constify sec argument. Remove side-effect of modifying sec->sh_size.
2015-04-13Harden gdb.base/bp-permanent.expLuis Machado2-1/+17
This testcase does not work as expected in QEMU (aarch64 QEMU in my case). It fails when trying to manually write the breakpoint instruction to a certain PC address. (gdb) p /x addr_bp[0] = buffer[0]^M Cannot access memory at address 0x400834^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[0] = buffer[0] p /x addr_bp[1] = buffer[1]^M Cannot access memory at address 0x400835^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[1] = buffer[1] p /x addr_bp[2] = buffer[2]^M Cannot access memory at address 0x400836^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[2] = buffer[2] p /x addr_bp[3] = buffer[3]^M Cannot access memory at address 0x400837^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[3] = buffer[3] The following patch prevents a number of failures by detecting this and bailing out in case the target has such a restriction. Writing to .text from within the program isn't any better. It just leads to a SIGSEGV. Before the patch: === gdb Summary === After the patch: === gdb Summary === gdb/testsuite/ChangeLog: 2015-04-13 Luis Machado <lgustavo@codesourcery.com> * gdb.base/bp-permanent.exp (test): Handle the case of being unable to write to the .text section.
2015-04-13Harden gdb.base/coredump-filter.expLuis Machado2-0/+17
This testcase seems to assume the target is running Linux, so bare metal, simulators and other debugging stubs running different OS' will have a hard time executing some of the commands the testcase issues. Even restricting the testcase to Linux systems (which the patch below does), there are still problems with, say, QEMU not providing PID information when "info inferior" is issued. As a consequence, the subsequent tests will either fail or will not make much sense. The attached patch checks if PID information is available. If not, it just bails out and avoids running into a number of failures. gdb/testsuite/ChangeLog: 2015-04-13 Luis Machado <lgustavo@codesourcery.com> * gdb.base/coredump-filter.exp: Restrict test to Linux systems only. Handle the case of targets that do not provide PID information.
2015-04-13Catch exception in lib/gdbserver-support.exp:gdb_exitYao Qi2-9/+22
I see the error when I run gdb-sigterm.exp with native-gdbserver on x86_64-linux. infrun: prepare_to_wait^M Cannot execute this command while the target is running.^M Use the "interrupt" command to stop the target^M and then try again.^M gdb.base/gdb-sigterm.exp: expect eof #0: got eof gdb.base/gdb-sigterm.exp: expect eof #0: stepped 12 times ERROR OCCURED: : spawn id exp8 not open while executing "expect { -i exp8 -timeout 10 -re "$gdb_prompt $" { exp_continue } -i "$server_spawn_id" eof { wait -i $expect_out(spawn_id) unse..." ("uplevel" body line 1) invoked from within In gdb-sigterm.exp, SIGTERM is sent to GDB and it exits. However, Dejagnu or tcl doesn't know this. This patch is to catch the exception, but error messages are still shown in the console and gdb.log. In order to avoid this, we also replace gdb_expect with expect. gdb/testsuite: 2015-04-13 Yao Qi <yao.qi@linaro.org> * lib/gdbserver-support.exp (gdb_exit): Catch exception and use expect instead of gdb_expect.
2015-04-13Don't check object claimed by pluginH.J. Lu2-0/+10
When ELF linker backend searchs the symbol table of an archive element, it should skip the object which has been claimed by plugin. PR ld/18250 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE if the object has been claimed by plugin.
2015-04-13Rename variable "addr" to "coredump_var_addr" in gdb.base/coredump-filter.expSergio Durigan Junior2-4/+9
This commit renames the global array variable "addr" to an unique name "coredump_var_addr" in the test gdb.base/coredump-filter.exp. This is needed because global arrays can have name conflicts between tests. For example, this specific test was conflicting with dmsym.exp, causing errors like: ERROR: tcl error sourcing ../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp. ERROR: can't set "addr": variable is array while executing "set addr "0x\[0-9a-zA-Z\]+"" (file "../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp" line 45) invoked from within "source ../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source ../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp" invoked from within "catch "uplevel #0 source $test_file_name"" This problem was reported by Yao Qi at: <https://sourceware.org/ml/gdb-patches/2015-04/msg00373.html> Message-Id: <1428666671-12926-1-git-send-email-qiyaoltc@gmail.com> gdb/testsuite/ChangeLog: 2015-04-13 Sergio Durigan Junior <sergiodj@redhat.com> * gdb.base/coredump-filter.exp: Rename variable "addr" to "coredump_var_addr" to avoid naming conflict with other testcases.
2015-04-13sim: fix the PKGVERSION defineMike Frysinger55-55/+164
This should be SIM, not GDB.
2015-04-13sim: options: add --version supportMike Frysinger2-0/+18
The old run frontend had a --version option, but the new common sim-options file does not. Restore support for that so we can get version info out of `run` when using the new frontend.
2015-04-13sim: switch to gdb version scriptMike Frysinger3-40/+8
Since the local create-version.sh already points directly into the gdb source tree, we might as well use the gdb script directly too.
2015-04-13sim: mn10300: convert to sim-cpuMike Frysinger4-10/+47
Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs.
2015-04-13sim: v850: convert to sim-cpuMike Frysinger4-9/+42
Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs.
2015-04-13sim: mips: convert to sim-cpuMike Frysinger4-11/+44
Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs.
2015-04-13sim: m68hc11: convert to sim-cpuMike Frysinger4-11/+48
Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs.
2015-04-13sim: mips: fix prototype warningsMike Frysinger2-63/+43
Convert a bunch of old style prototypes and tweak various casts to match the function signatures.
2015-04-13sim: ft32: fix ft32_pc_get logicMike Frysinger2-1/+5
2015-04-13Automatic date update in version.inGDB Administrator1-1/+1
2015-04-13Do unset_currtarget_info ldscript for all simulator testsuites.Hans-Peter Nilsson4-6/+18
sim/testsuite: * sim-defs.exp (sim_init): Unset target ldscript here. sim/testsuite/sim/mips: * basic.exp: Don't unset target ldscript here.
2015-04-12sim: arm/mips: fix sim_read/sim_write linkage errorsMike Frysinger4-2/+11
With sim-hrw.o being built & linked in the common list, some people are getting linking errors now for these targets. Move the main objects that provide these functions before the common list to avoid that.