aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-07fortran: combine subarray and string computationChristoph Weinmann1-9/+1
Strings types are handled like array types with only one dimension. Therefore the same algorithm to calculate subsets is used. 2013-11-26 Christoph Weinmann <christoph.t.weinmann@intel.com> * eval.c (evaluate_subexp_standard): Call value_f90_subarray for print expressions on array and string types. Signed-off-by: Christoph Weinmann <christoph.t.weinmann@intel.com>
2016-09-07fortran: allow multi-dimensional subarraysChristoph Weinmann4-97/+379
Add an argument count for subrange expressions in Fortran. Based on the counted value calculate a new array with the elements specified by the user. First parse the user input, secondly copy the desired array values into the return array, thirdly re-create the necessary ranges and bounds. 1| program prog 2| integer :: ary(10,5) = (/ (i,i=1,10) (j, j=1,5) /) 3| end program prog (gdb) print ary(2:4,1:3) old> Syntax error in expression near ':3' new> $3 = ( ( 21, 31, 41) ( 22, 32, 42) ( 23, 33, 43) ) 2013-11-25 Christoph Weinmann <christoph.t.weinmann@intel.com> * eval.c (multi_f77_subscript): Remove function. * eval.c (evaluate_subrange_expr): When evaluating an array or string expression, call value_f90_subarray. * eval.c (value_f90_subarray): Add argument parsing and compute result array based on user input. * f-exp.y: Increment argument counter for every subrange expression entered by the user. * valops.c (value_slice): Call value_slice_1 with additional default argument. * valops.c (value_slice_1): Add functionality to copy and return result values based on input. * value.h: Add function definition. Signed-off-by: Christoph Weinmann <christoph.t.weinmann@intel.com>
2016-09-07vla: add stride support to fortran arrays.Keven Boell7-12/+140
2014-05-28 Bernhard Heckel <bernhard.heckel@intel.com> Sanimir Agovic <sanimir.agovic@intel.com> Keven Boell <keven.boell@intel.com> gdb/Changelog: * dwarf2read.c (read_subrange_type): Read dynamic stride attributes. * gdbtypes.c (create_array_type_with_stride): Add stride support (create_range_type): Add stride parameter. (create_static_range_type): Pass default stride parameter. (resolve_dynamic_range): Evaluate stride baton. * gdbtypes.h (TYPE_BYTE_STRIDE): New macro. (TYPE_BYTE_STRIDE_BLOCK): New macro. (TYPE_BYTE_STRIDE_LOCLIST): New macro. (TYPE_BYTE_STRIDE_KIND): New macro. * valarith.c (value_subscripted_rvalue): Use stride. gdb/testsuite/Changelog: * vla-stride.exp: New file. * vla-stride.f90: New file. Change-Id: I3cd90c5514dc8ea8c0f7b67f450d9a45822257dc
2016-09-07Fortran: Fix negative bounds for dynamic allocated arrays.Bernhard Heckel4-2/+20
Fortran arrays might have negative bounds. Take this into consideration when evaluating dynamic bound properties. Bernhard Heckel <bernhard.heckel@intel.com> gdb/Changelog: * gdbtypes.c (resolve_dynamic_range): Call dwarf2_evaluate_property_signed to resolve dynamic bounds. gdb/Testsuite/Changelog: * gdb.fortran/vla.f90: Extend by an array with negative bounds. * gdb/testsuite/gdb.fortran/vla-sizeof.exp: Test array with negative bounds. * gdb/testsuite/gdb.fortran/vla-ptype.exp: Test array with negative bounds. Change-Id: Idb35164f72c95a1daafe5db0c0855d742bea5ea7
2016-09-07Dwarf: Fix dynamic properties with neg. value.Bernhard Heckel2-8/+44
Evaluating of neg. value of 32bit inferiours running on 64bit plattform causes issues because of the missing sign bits. Bernhard Heckel <bernhard.heckel@intel.com> gdb/Changelog * dwarf2loc.h: Declare * dwarf2loc.c (dwarf2_evaluate_property_signed): New. (dwarf2_evaluate_property): Delegate tasks to dwarf2_evaluate_property_signed. Change-Id: I3e8f67ecd0d78c579253f67cdf836bd8129a1a26
2016-07-11Automatic date update in version.inGDB Administrator1-1/+1
2016-07-10Automatic date update in version.inGDB Administrator1-1/+1
2016-07-09PR20337, Objdump makes poor choice of symbolsAlan Modra4-2/+27
binutils/ PR binutils/20337 * objdump.c (compare_symbols): For ELF, sort same value/type symbols according to size. ld/ * testsuite/ld-powerpc/elfv2exe.d: Update.
2016-07-09Automatic date update in version.inGDB Administrator1-1/+1
2016-07-08FT32: Correct 32-bit reloc for BFD_RELOC_32jamesbowman2-1/+5
The reloc for BFD_RELOC_32 was using the the 20-bit. This hack causes problems in gdb. Fixed it to be the proper 32-bit reloc, R_FT32_32. bfd/ChangeLog: * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
2016-07-08FT32: adjust disassembly opcode match fieldsjamesbowman2-2/+7
Tighten up the opcode match fields for conditional jump and call instructions so more general opcodes don't match them in disassembly. opcodes/ChangeLog: * opcodes/ft32-opc.c (ft32_opc_info): Correct mask for "callc" and "jmpc".
2016-07-08MIPS/GAS: Remove extraneous `install_insn' call from `append_insn'Maciej W. Rozycki1-1/+0
Complement: commit 1e91584932efd70020c8c98037d0cb93a0552a20 Author: Richard Sandiford <rdsandiford@googlemail.com> Date: Wed Mar 9 09:17:02 2005 +0000 <https://sourceware.org/ml/binutils/2005-03/msg00217.html>, ("Rework MIPS nop-insertion code, add -mfix-vr4130 [5/11]"), and remove a call to `install_insn' from `append_insn', which as from that change has become redundant. This is because such a call, to place an instruction's bit pattern in output, is already made from `move_insn', called from `add_relaxed_insn' or `add_fixed_insn' as appropriate, either of which now always is and has to be made from `append_insn' before the repeated call to `install_insn' is made. Previously the place where this second invocation is made was the only one where the output stream was updated, although the update was made inline rather than with a function call. Remove the repeated call then, to reclaim some performance. gas/ * config/tc-mips.c (append_insn): Remove extraneous `install_insn' call.
2016-07-08Automatic date update in version.inGDB Administrator1-1/+1
2016-07-07[obv] Fix broken build on Fedora 23.Walfred Tedeschi2-0/+7
Compiler complains about possible utilization of "symbol" which is member of lang_def. Initialization was added. 2016-07-07 Walfred Tedeschi <walfred.tedeschi@intel.com> gdb/ChangeLog: * cp-namespace.c (cp_lookup_bare_symbol): Initialize lang_this.symbol.
2016-07-07Fix of default lookup for "this" symbol.Walfred Tedeschi5-4/+57
Using the default lookup for the symbol "this" might lead to segmentation fault in GDB. Some languages, e.g. Fortran, use as default lookup routine the C++ routines. For those languages "this" can be the instance of a class or even the definition of a class. When an instance of a class having the name "this" is evaluated in GDB a segmentation fault was observed. As example of the issue take into consideration the Fortran code: type foo real :: a type(bar) :: x character*7 :: b end type foo type(foo) :: this Issue appears when evaluating the variable "this" in GDB. Within the language definition structure there is a field that represents the name of the special symbol used for the C++ "this" for the language being described. The fix presented here takes into account the aforementioned field. In the case the aforementioned field is NULL "this" is not represented in the language described and the lookup should return a null_block_symbol. Tests: Performed tests with gfortran and ifort. Reviewed: https://sourceware.org/ml/gdb-patches/2016-04/msg00068.html After the commited patch: https://sourceware.org/ml/gdb-patches/2016-06/msg00364.html Patch can be applied. 2016-06-16 Walfred Tedeschi <walfred.tedeschi@intel.com> gdb/ChangeLog: * cp-namespace.c (cp_lookup_bare_symbol): Use language passed as parameter to look for the symbol "this". gdb/testsuite/ChangeLog: * gdb.fortran/derived-types.exp (result_line, result_line_2): New variables. (print this%a, print this%b, print this): New tests. * gdb.fortran/derived-types.f90 (this): New object and initialization.
2016-07-06FT32 linker script cleanupjamesbowman2-1/+9
Fix a typo (__PMSIZE was written as __PMSIZE_) and add section alignment for DATA and BSS. ld/ChangeLog: * scripttempl/ft32.sc (__PMSIZE): Correct __PMSIZE_. (DATA): add ALIGN. (BSS): add ALIGN
2016-07-07Automatic date update in version.inGDB Administrator1-1/+1
2016-07-06gdb.ada/arraydim.exp: Fix directory layoutSimon Marchi2-2/+7
I forgot to fix this one in the previous commit. gdb/testsuite/ChangeLog: * gdb.ada/arraydim.exp: Remove extra directory level in build directory.
2016-07-06Remove extra output directory level for Ada testsSimon Marchi5-12/+17
The output of Ada tests create a layout where the test name ("formatted_ref" in this example) appears twice: outputs └── gdb.ada └── formatted_ref └── formatted_ref ├── b~formatted_ref.adb ├── b~formatted_ref.ads ├── b~formatted_ref.ali ├── b~formatted_ref.o ├── defs.ali ├── defs.o ├── formatted_ref ├── formatted_ref.ali └── formatted_ref.o This causes a problem when testing with the native-gdbserver board, when the binary has the same name as the test. When gdb_remote_download is called to upload the compiled binary, the implementation for native-gdbserver copies it in the standard output directory (in outputs/gdb.ada/formatted_ref). However, there is already a directory named formatted_ref in there, so the copy fails and gdbserver isn't able to load the binary. This patch bypasses the problem by removing the extra directory level. The compiled binary will already be in its final location in the standard output directory, so the copy will effectively be a no-op. gdb/testsuite/ChangeLog: * lib/ada.exp: Remove extra directory level in build directory. * gdb.ada/cond_lang.exp: Likewise. * gdb.ada/exec_changed.exp: Likewise. * gdb.ada/lang_switch.exp: Likewise.
2016-07-06Remove extraneous parentheses.John Baldwin2-1/+5
gdb/ChangeLog: * h8300-tdep.c (h8300_print_register): Remove extraneous parentheses.
2016-07-06Use unsigned integer constant with left shifts.John Baldwin2-2/+7
This avoids undefined behavior. gdb/ChangeLog: * ada-lang.c (ada_unpack_from_contents): Use unsigned constants with left shifts.
2016-07-06Set uses_fp for frames with a valid FP register explicitly.John Baldwin2-11/+23
Since CORE_ADDR is unsigned, the saved FP register is always greater than or equal to zero. Replace the comparison by explicitly setting uses_fp to 1 for frames with a valid FP register. gdb/ChangeLog: * sh64-tdep.c (sh64_analyze_prologue): Set "uses_fp" when setting the MEDIA_FP_REGNUM register.
2016-07-06Remove check for negative size.John Baldwin2-7/+6
Since CORE_ADDR is unsigned, this value can never be negative. gdb/ChangeLog: * score-tdep.c (score7_malloc_and_get_memblock): Remove check for negative size.
2016-07-06Use 'ptid_t' instead of 'ptid' for fbsd_next_vfork_done's return type.John Baldwin2-1/+5
'ptid' compiles in C++, but not C. gdb/ChangeLog: * fbsd-nat.c (fbsd_is_vfork_done_pending): Fix return type.
2016-07-06[ARM] Fix endless recursion on calculating CPRC candidateYao Qi2-2/+10
When GDB determines whether type T can be part of candidate for passing and returning in VFP registers, it calls arm_vfp_cprc_sub_candidate recursively. However, if type T has self-reference field, like, class C { static C s; }; arm_vfp_cprc_sub_candidate won't return. This fix is to skip calling arm_vfp_cprc_sub_candidate if the field is static. gdb: 2016-07-06 Yao Qi <yao.qi@linaro.org> * arm-tdep.c (arm_vfp_cprc_sub_candidate): Don't call arm_vfp_cprc_sub_candidate for static field.
2016-07-06Allow subscripting raw pointersManish Goregaokar5-0/+17
This will be useful for dealing with vectors; regardless of our final solution for the Index trait. 2016-07-06 Manish Goregaokar <manish@mozilla.com> gdb/ChangeLog: * rust-lang.c (rust_subscript): Allow subscripting pointers gdb/testsuite/ChangeLog: * simple.rs: Add test for raw pointer subscripting * simple.exp: Add test expectations
2016-07-06Automatic date update in version.inGDB Administrator1-1/+1
2016-07-05Add -flto to PR ld/20321 testH.J. Lu2-1/+5
Before GCC 4.9, -flto is required for final LTO link. Add -flto to PR ld/20321 test to support older versions of GCC. * testsuite/ld-plugin/lto.exp: Add -flto to PR ld/20321 test.
2016-07-05Fix fail in gdb.mi/mi-reverse.expYao Qi2-1/+5
Commit 38b022b4452f996fb5a8598f80d850b594621bcf adds "method" and "format" fields in =record-started, but doesn't update test case gdb.mi/mi-reverse.exp, so it causes the fail like this, PASS: gdb.mi/mi-reverse.exp: mi runto main Expecting: ^(-interpreter-exec console record[^M ]+)?(=record-started,thread-group="i1"^M \^done[^M ]+[(]gdb[)] ^M [ ]*) -interpreter-exec console record^M =record-started,thread-group="i1",method="full"^M ^done^M (gdb) ^M FAIL: gdb.mi/mi-reverse.exp: Turn on process record and regression was found by buildbot too https://sourceware.org/ml/gdb-testers/2016-q2/msg04492.html gdb/testsuite: 2016-07-05 Yao Qi <yao.qi@linaro.org> * gdb.mi/mi-reverse.exp: Match =record-started output.
2016-07-05[ARM] Purecode compatible long branch veneer for M-profile targets with MOVW.Andre Vieria6-6/+127
2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> * elf32-arm.c (THUMB32_MOVT): New veneer macro. (THUMB32_MOVW): Likewise. (elf32_arm_stub_long_branch_thumb2_only_pure): New. (DEF_STUBS): Define long_branch_thumb2_only_pure. (arm_stub_is_thumb): Add new veneer stub. (arm_type_of_stub): Use new veneer. (arm_stub_required_alignment): Add new veneer. 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> * testsuite/ld-arm/farcall-thumb2-purecode.d: New test result. * testsuite/ld-arm/farcall-thumb2-purecode.s: New test. * testsuite/ld-arm/arm-elf.exp: Run it.
2016-07-05[ARM] Change noread to purecode.Andre Vieria11-27/+56
bfd/ChangeLog 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> * bfd-in2.h (SEC_ELF_NOREAD): Rename to ... (SEC_ELF_PURECODE): ... this. * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD to SEC_ELF_NOREAD. (elf32_arm_fake_sections): Likewise. (elf_32_arm_section_flags): Likewise. (elf_32_arm_lookup_section_flags): Likewise. * section.c (SEC_ELF_NOREAD): Rename to ... (SEC_ELF_PURECODE): ... this. binutils/ChangeLog 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> * objdump.c (dump_section_header): Rename SEC_ELF_NOREAD to SEC_ELF_NOREAD. * readelf.c (get_elf_section_flags): Rename ARM_NOREAD to ARM_PURECODE and SHF_ARM_NOREAD to SHF_ARM_PURECODE. (process_section_headers): Rename noread to purecode. * section.c (SEC_ELF_NOREAD): Rename to ... (SEC_ELF_PURECODE): ... this. include/ChangeLog 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> * elf/arm.h (SHF_ARM_NOREAD): Rename to ... (SHF_ARM_PURECODE): ... this. ld/ChangeLog 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> * testsuite/ld-arm/arm_noread.ld: Renamed to ... testsuite/ld-arm/arm_purecode.ld: ... this, and replaced all noread's by purecode.
2016-07-05ld: track linker-definedness of symbolsJan Beulich3-5/+14
Keep "lineno" as zero while not processing any script, and use it being zero to set the "linker_def" field to true.
2016-07-05x86: fix register check in check_qword_reg()Jan Beulich4-1/+19
A missing 'r' (or wrong 'e') register prefix needs to be complained about if the template allows for a 64-bit register, not a 32-bit one. I assume this was a copy-and-paste type of mistake (from check_long_reg()).
2016-07-05babeltrace compilation regressionJan Kratochvil3-2/+7
Since: commit 2d681be471cf8aff8f296cb7713c39e9aa4fc2bb Author: Andreas Arnez <arnez@linux.vnet.ibm.com> Date: Wed Apr 27 15:52:16 2016 +0200 Avoid non-C++-enabled babeltrace versions tested with: libbabeltrace-devel-1.2.4-4.fc24.x86_64 libbabeltrace-devel-1.4.0-2.fc25.x86_64 it can no longer build due to: configure:16435: gcc -o conftest -m64 -g3 -pipe -Wall -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -fno-diagno stics-show-caret -Werror -static-libstdc++ -static-libgcc conftest.c -ldl -ldl -lncurses -lm -ldl -lbabeltrace -lbabeltrace-ctf >&5 conftest.c: In function 'main': conftest.c:208:7: error: 'pos' is a pointer; did you mean to use '->'? gdb/ChangeLog 2016-07-05 Jan Kratochvil <jan.kratochvil@redhat.com> * configure: Regenerate. * configure.ac (HAVE_LIBBABELTRACE): Fix pos variable dereference.
2016-07-05Automatic date update in version.inGDB Administrator1-1/+1
2016-07-04Warn and return for duplicated pluginH.J. Lu4-0/+28
If a plugin has been loaded already, we should warn and return, instead of adding it on the plugin list. PR ld/20321 * plugin.c (plugin_opt_plugin): Warn and return if plugin has been loaded already. * testsuite/ld-plugin/lto.exp: Run PR ld/20321 test. * testsuite/ld-plugin/pr20321.c: New file.
2016-07-04Allow the flash and ram memory region sizes to be specified in the default ↵Nick Clifton2-4/+14
FT32 linker script. * scripttempl/ft32.sc (__PMSIZE_): If not defined, set to 256K. (__RAMSIZE): If not defined, set to 64K. (MEMORY): Set the flash region size to __PMSIZE and the ram region size to __RAMSIZE.
2016-07-04Automatic date update in version.inGDB Administrator1-1/+1
2016-07-03Automatic date update in version.inGDB Administrator1-1/+1
2016-07-02MIPS/GAS/testsuite: Remove remnants of a.out/ECOFF supportMaciej W. Rozycki27-1822/+1066
Complement: commit 16e5e222b6eae6f110ea72bf627585c095a453a8 Author: Richard Sandiford <rdsandiford@googlemail.com> Date: Sat Jun 22 16:57:42 2013 +0000 <https://sourceware.org/ml/binutils/2013-06/msg00195.html>, ("Make gas/mips/mips.exp ELF-only"), and remove the remaining stale ECOFF test dumps and pieces of a.out/ECOFF support in relocation match patterns. gas/ * testsuite/gas/mips/ecoff@ld.d: Remove test. * testsuite/gas/mips/ecoff@ld-forward.d: Remove test. * testsuite/gas/mips/ecoff@ld-zero-3.d: Remove test. * testsuite/gas/mips/ecoff@sd.d: Remove test. * testsuite/gas/mips/ecoff@sd-forward.d: Remove test. * testsuite/gas/mips/beq.d: Remove a.out and ECOFF support from reloc patterns. * testsuite/gas/mips/mipsr6@beq.d: Likewise. * testsuite/gas/mips/bge.d: Likewise. * testsuite/gas/mips/mipsr6@bge.d: Likewise. * testsuite/gas/mips/bgeu.d: Likewise. * testsuite/gas/mips/mipsr6@bgeu.d: Likewise. * testsuite/gas/mips/blt.d: Likewise. * testsuite/gas/mips/mipsr6@blt.d: Likewise. * testsuite/gas/mips/bltu.d: Likewise. * testsuite/gas/mips/mipsr6@bltu.d: Likewise. * testsuite/gas/mips/branch-likely.d: Likewise. * testsuite/gas/mips/la.d: Likewise. * testsuite/gas/mips/lb.d: Likewise. * testsuite/gas/mips/lifloat.d: Likewise. * testsuite/gas/mips/sb.d: Likewise. * testsuite/gas/mips/uld.d: Likewise. * testsuite/gas/mips/ulh.d: Likewise. * testsuite/gas/mips/ulw.d: Likewise. * testsuite/gas/mips/usd.d: Likewise. * testsuite/gas/mips/ush.d: Likewise. * testsuite/gas/mips/usw.d: Likewise.
2016-07-02MIPS/LD/testsuite: Resurrect `branch-misc-2' testMaciej W. Rozycki3-0/+36
Revert: commit c9c1e416d7dd1a35bd7c1a96d034dca1d5071cd1 Author: Alexandre Oliva <aoliva@redhat.com> Date: Thu Dec 12 04:39:44 2002 +0000 <https://sourceware.org/ml/binutils/2002-11/msg00657.html>, ("mips: branches to external labels are broken"), complementing: commit bad36eacdad37042c4efb1c5fbf48476b47de82b Author: Daniel Jacobowitz <drow@false.org> Date: Wed Nov 23 14:04:18 2005 +0000 <https://sourceware.org/ml/binutils/2005-11/msg00324.html>, ("R_MIPS_PC16, again"). ld/ * testsuite/ld-mips-elf/branch-misc-2.d: New test. * testsuite/ld-mips-elf/mips-elf.exp: Run it.
2016-07-02MIPS/GAS/testsuite: Split `branch-misc-2' tests into twoMaciej W. Rozycki24-148/+313
Move `branch-misc-2' tests for non locally-defined-global symbols into separate files. These tests have been introduced with: commit 6f171daac941741e5fa904f6e462adb75a595495 Author: Alexandre Oliva <aoliva@redhat.com> Date: Thu Dec 12 04:40:22 2002 +0000 <https://sourceware.org/ml/binutils/2002-11/msg00631.html>, ("mips: branches to external labels are broken"), and: commit d17b874b6c14caa2f2ed1b5544a48de9f39a1a65 Author: Alexandre Oliva <aoliva@redhat.com> Date: Wed Mar 12 23:07:22 2003 +0000 <https://sourceware.org/ml/binutils/2003-03/msg00136.html>, ("On resolving the MIPS gas branch reloc issue"), while the test case served a different purpose. With the original intent of the test case brought back with: commit bad36eacdad37042c4efb1c5fbf48476b47de82b Author: Daniel Jacobowitz <drow@false.org> Date: Wed Nov 23 14:04:18 2005 +0000 <https://sourceware.org/ml/binutils/2005-11/msg00324.html>, ("R_MIPS_PC16, again"), these stand in the way for linker testing. gas/ * testsuite/gas/mips/branch-misc-2.s: Move non locally-defined-global symbol tests... * testsuite/gas/mips/branch-misc-5.s: ... to this new test. * testsuite/gas/mips/branch-misc-2.d: Update accordingly. * testsuite/gas/mips/branch-misc-2-64.d: Likewise. * testsuite/gas/mips/branch-misc-2pic.d: Likewise. * testsuite/gas/mips/branch-misc-2pic-64.d: Likewise. * testsuite/gas/mips/mipsr6@branch-misc-2-64.d: Likewise. * testsuite/gas/mips/mipsr6@branch-misc-2pic-64.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-2.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-2-64.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-2pic.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-2pic-64.d: Likewise. * testsuite/gas/mips/branch-misc-5.d: New test. * testsuite/gas/mips/branch-misc-5pic.d: New test. * testsuite/gas/mips/branch-misc-5-64.d: New test. * testsuite/gas/mips/branch-misc-5pic-64.d: New test. * testsuite/gas/mips/mipsr6@branch-misc-5-64.d: New test. * testsuite/gas/mips/mipsr6@branch-misc-5pic-64.d: New test. * testsuite/gas/mips/micromips@branch-misc-5.d: New test. * testsuite/gas/mips/micromips@branch-misc-5pic.d: New test. * testsuite/gas/mips/micromips@branch-misc-5-64.d: New test. * testsuite/gas/mips/micromips@branch-misc-5pic-64.d: New test. * testsuite/gas/mips/mips.exp: Run the new tests.
2016-07-02MIPS/GAS/testsuite: Reenable disabled external BEQ testsMaciej W. Rozycki5-8/+27
Complement: commit bad36eacdad37042c4efb1c5fbf48476b47de82b Author: Daniel Jacobowitz <drow@false.org> Date: Wed Nov 23 14:04:18 2005 +0000 <https://sourceware.org/ml/binutils/2005-11/msg00324.html>, ("R_MIPS_PC16, again"), and reenable external BEQ tests, the remaining subset missed from the set of branch tests previously disabled with: commit 6f171daac941741e5fa904f6e462adb75a595495 Author: Alexandre Oliva <aoliva@redhat.com> Date: Thu Dec 12 04:40:22 2002 +0000 <https://sourceware.org/ml/binutils/2002-11/msg00631.html>, ("mips: branches to external labels are broken"). gas/ * testsuite/gas/mips/beq.s: Uncomment branches to undefined symbols. * testsuite/gas/mips/beq.d: Update accordingly. * testsuite/gas/mips/mipsr6@beq.d: Likewise. * testsuite/gas/mips/micromips@beq.d: Likewise.
2016-07-02MIPS/GAS/testsuite: Restrict 64-bit `branch-mips' tests to NewABI targetsMaciej W. Rozycki2-3/+13
... removing numerous `mips-sgi-irix5' failures. gas/ * testsuite/gas/mips/mips.exp: Restrict 64-bit `branch-mips' tests to NewABI targets.
2016-07-02MIPS/GAS/testsuite: Group `branch-misc' tests togetherMaciej W. Rozycki2-3/+7
gas/ * testsuite/gas/mips/mips.exp: Group `branch-misc' tests together.
2016-07-02Automatic date update in version.inGDB Administrator1-1/+1
2016-07-01Optimize memory_xfer_partial for remoteDon Breazeal5-2/+58
Some analysis we did here showed that increasing the cap on the transfer size in target.c:memory_xfer_partial could give 20% or more improvement in remote load across JTAG. Transfer sizes were capped to 4K bytes because of performance problems encountered with the restore command, documented here: https://sourceware.org/ml/gdb-patches/2013-07/msg00611.html and in commit 67c059c29e1f ("Improve performance of large restore commands"). The 4K cap was introduced because in a case where the restore command requested a 100MB transfer, memory_xfer_partial would repeatedy allocate and copy an entire 100MB buffer in order to properly handle breakpoint shadow instructions, even though memory_xfer_partial would actually only write a small portion of the buffer contents. A couple of alternative solutions were suggested: * change the algorithm for handling the breakpoint shadow instructions * throttle the transfer size up or down based on the previous actual transfer size I tried implementing the throttling approach, and my implementation reduced the performance in some cases. This patch implements a new target function that returns that target's limit on memory transfer size. It defaults to ULONGEST_MAX bytes, because for native targets there is no marshaling and thus no limit is needed. For remote targets it uses get_memory_write_packet_size. gdb/ChangeLog: * remote.c (remote_get_memory_xfer_limit): New function. * target-delegates.c: Regenerate. * target.c (memory_xfer_partial): Call target_ops.to_get_memory_xfer_limit. * target.h (struct target_ops) <to_get_memory_xfer_limit>: New member.
2016-07-01[AArch64] Fix +nofp16 handlingSzabolcs Nagy7-21/+105
Feature flag handling was not perfect, +nofp16 disabled fp instructions too. New feature flag macros were added to check features with multiple bits set (matters for FP_F16 and SIMD_F16 opcode feature tests). The unused AARCH64_OPCODE_HAS_FEATURE was removed, all checks should use one of the AARCH64_CPU_HAS_* macros. AARCH64_CPU_HAS_FEATURE now checks all feature bits. The aarch64_features table now contains the dependencies as a separate field (so when the feature is enabled all dependencies are enabled and when it is disabled everything that depends on it is disabled). Note that armv8-a+foo+nofoo is not equivalent to armv8-a if +foo turns on dependent features that nofoo does not turn off. gas/ * config/tc-aarch64.c (struct aarch64_option_cpu_value_table): Add require field. (aarch64_features): Initialize require fields. (aarch64_parse_features): Handle dependencies. (aarch64_feature_enable_set, aarch64_feature_disable_set): New. (md_assemble): Use AARCH64_CPU_HAS_ALL_FEATURES. * testsuite/gas/aarch64/illegal-nofp16.s: New. * testsuite/gas/aarch64/illegal-nofp16.l: New. * testsuite/gas/aarch64/illegal-nofp16.d: New. include/ * opcode/aarch64.h (AARCH64_CPU_HAS_ALL_FEATURES): New. (AARCH64_CPU_HAS_ANY_FEATURES): New. (AARCH64_CPU_HAS_FEATURE): Define as AARCH64_CPU_HAS_ALL_FEATURES. (AARCH64_OPCODE_HAS_FEATURE): Remove.
2016-07-01Fake VFORK_DONE events when following only the parent after a vfork.John Baldwin2-9/+121
FreeBSD does not currently report a ptrace event for a parent process after it resumes due to the child exiting the shared memory region after a vfork. Take the same approach used in linux-nat.c in this case of sleeping for a while and then reporting a fake VFORK_DONE event. gdb/ChangeLog: * fbsd-nat.c (struct fbsd_fork_child_info): Rename to ... (struct fbsd_fork_info): ... this. (struct fbsd_fork_info) <child>: Rename to ... (struct fbsd_fork_info) <ptid>: ... this. (fbsd_pending_children): Update type. (fbsd_remember_child): Update type and field name. (fbsd_is_child_pending): Likewise. (fbsd_pending_vfork_done): New variable. (fbsd_is_vfork_done_pending): New function. (fbsd_next_vfork_done): New function. (fbsd_resume): Don't resume processes with a pending vfork done event. (fbsd_wait): Report pending vfork done events. (fbsd_follow_fork): Delay and record a pending vfork done event for a vfork parent when detaching the child.
2016-07-01Move fbsd_resume and related functions below fork following helper code.John Baldwin2-64/+70
gdb/ChangeLog: * fbsd-nat.c (super_resume): Move earlier next to "super_wait". (resume_one_thread_cb): Move below fork following helper code. (resume_all_threads_cb): Likewise. (fbsd_resume): Likewise.