Lines Matching +refs:po +refs:find +refs:span +refs:of +refs:entry
54 multiple of 4 if .align has second parameter.
63 1. The TLS desc tests are matching the entire disassemble of a linked
65 (note that most modern distros use this option), the layout of the
68 "--hash-style=both" for these tests to cancel the effect of
110 encoded") took care of only half of the remaining issue. Add #pass here
170 VRNDSCALE{P,S}{S,D} is the AVX512 generalization of these AVX insns. As
172 the earlier VEX-encoded insns, and hence can be used to permit use of
173 eGPR-s in the memory operand. Since this is the normal way of using
182 x86: support APX forms of U{RD,WR}MSR
188 …Add multilib.am to the list of top level files included in any release created by the src-release.…
328 Given the introduction of the new address operand types for rcpc3
335 The particular choices of address indexing, along with their encoding
336 for RCPC3 instructions lead to the requirement of a new set of operand
341 always equivalent to the amount of data read/stored by the
345 This indexing quantity/mode pair is selected by the setting of a
352 In the case of loads and stores involving SIMD/FP registers, the
360 variant of AARCH64_OPND_ADDR_OFFSET, w/o the FLD_index bitfield.
371 The use of a single bit to specify both the indexing mode and indexing
374 disassembly, along with the definition of two insn fields for use with
395 implicitly equivalent to the amount of data loaded/stored by the
399 the number of registers involved in the transfer, either as data
403 implemented here, using a cumulative sum of qualifier sizes preceding
409 Indicating the presence of the Armv8.2-a feature adding further
411 extension flag is added to the list of possible `-march' options in
438 preventing disassembly of tlbip instructions.
444 feature checks instead of testing against a list of operand codes.
598 - (#2) "Error: SCFI: usage of REG_FP as scratch not supported"
601 In case of (#2) and (#3), SCFI generation is skipped for the respective
602 function. Above is a subset of the warnings/errors implemented in the
739 The ginsn representation keeps the DWARF register number of the
741 of these register entries in the table. Add a comment to make it clear.
767 A ginsn is a target-independent representation of the machine
773 Since the current use-case of ginsn is to synthesize CFI, the x86 target
777 - All change of flow instructions, including all conditional and
785 The representation of ginsn is kept simple:
788 number of source operands and one destination operand at this time.
793 - GAS instructions are ID's with a natural number in order of their
795 program order of the corresponding machine instructions.
800 instructions. Further these instructions have a variety of addressing
802 things, one of differences in these addressing modes is _when_ the addr
803 register is updated with the result of the address calculation: before
810 revisited later when there are other use-cases of creating ginsn's in
811 GAS, apart from the current use-case of synthesizing CFI for
829 - If the base register for CFA tracking is REG_SP, the precise amount of
830 stack usage (and hence, the value of REG_SP) must be known at all times.
837 - Save and Restore of callee-saved registers must be symmetrical.
867 (i386_target_format): Add hard error for usage of SCFI with non AMD64 ABIs.
879 of file read.
930 Define a new set of handlers for CFI directives for the purpose of SCFI.
931 The SCFI machinery ignores many of the user-specified CFI direcives when
954 The option --scfi=experimental will also ignore most of the existing
1025 gas: dw2gencfi: use all_cfi_sections instead of cfi_sections
1120 The cause of this is that the question argument regexp is incomplete.
1138 Per RISC-V spec, the lr/sc sequence can consist of up to 16 instructions, and we
1139 cannot insert breakpoints in the middle of this sequence. Before this, we only
1168 overview and caller-callee parts of the code.
1169 The fix consists of new regular expressions and a different approach
1202 adding the symbol value to the relocation entry addend, when the correct
1206 Fix that by making bpf_elf_generic_reloc () more similar to the flow of
1214 of the symbol when installing relocation. Copy some additional
1242 of the threads returned from gdb.Inferior.threads() somehow reflected
1248 populates it from a map. The order of the threads in the returned
1259 Fixed in this commit by taking more care to correctly find a non-main
1264 Then, once all of the secondary threads have exited, I know that the
1274 Update copyright year range in header of all files managed by GDB
1275 This commit is the result of the following actions:
1277 - Running gdb/copyright.py to update all of the copyright headers to
1287 - Using grep to find other files that still mentioned 2023. If
1297 Most of this code became redundant in my previous commits, but ARMV8_6A_SVE was
1305 Additionally, change FEAT_XS tlbi variants to be gated on "+xs" instead of
1319 aarch64: Fix option parsing to disallow prefixes of valid options
1331 gdb.Objfile sections of the docs. Changes made:
1531 I thought it might be a good idea to move the formatting of this
1533 of our existing code to call the new function.
1535 The only place where I haven't made use of the new function is in
1568 notice that not only did GDB fill in the whole of `foo', but GDB also
1582 completion of the filename options. This initially suffered from the
1593 One of the biggest changes I made in this version is that I got rid of
1595 of m_from_readline into the completion_tracker constructor.
1597 I then moved the addition of the trailing '/' into filename_completer
1610 of the directory in which the test is being run, which means we can't
1611 compare results between two runs of GDB from different directories.
1614 new (optional) testname argument to many of the procedures, this
1623 added another ' +' at the very end of the expected output. So, if we
1624 expected to match the name of two functions 'f1' and 'f2' the
1634 the appropriate trailing character; if we performed tab completion of
1644 the directory case we expect 'd1/ +d2/ +', both of which work just
1659 This is the string that appears (at least in part) in the output of
1710 To solve this question, we subtract a maximux alignment of all sections like
1715 x86: Fix indentation and use true/false instead of 1/0
1719 (check_EgprOperands): Use true/false instead of 1/0.
1733 This is the result of a merge error, since I previously had a patch to
1746 [gdb/testsuite] Fix gdb.dwarf2/dw2-entry-points.exp on ppc64le
1752 (gdb) FAIL: gdb.dwarf2/dw2-entry-points.exp: bt foo
1755 The test-case attemps to emulate additional entry points of a function, with
1756 function bar having entry points foo and foobar:
1766 However, when setting a breakpoint on the entry point foo:
1771 it ends up in foobar instead of in foo, due to prologue skipping, and
1775 entry point.
1818 This happens because linux_nat_switch_fork patches the pid of process B into
1848 Due to the formatted output of objdump, some instructions
1853 of opcodes. When opc->format is an empty string, no extra
1867 sim: m32r: fixup some of the int<->pointer casts
1872 Clean up some of the functions where possible to avoid unnecessary
1920 Leverage this common logic to find all the libiberty settings rather
1927 match defines of 1.
2031 A command like "make -j 2 check-gcc-c check-gcc-c++" run in the top level of
2033 independent make processes inside the "gcc" directory, and each of those
2045 Recent Darwin versions place contraints on the use of run paths
2059 of the library).
2117 …This patch adds support for the new AArch64 system registers that are part of the following extens…
2163 According to the docs, each of these (0-10) is a checkpoint.
2209 Currently cooked_index entry creation is either:
2214 Instead, create all cooked_index entries immediately, and keep track of which
2234 gdb/symtab: Allow changing of added cooked_index entries
2236 "cooked_index_entry *" instead of a "const cooked_index_entry *".
2307 DT_X86_64_PLTENT, the r_addend field of the R_X86_64_JUMP_SLOT relocation
2308 stores the offset of the indirect branch instruction. However, glibc
2327 Extend the glibc version dependency of GLIBC_ABI_DT_RELR for DT_RELR to
2345 elf_backend_add_glibc_version_dependency instead of
2399 This patch fixes both of them.
2429 be aware of that aliasing. Disambiguation is easy, as StaticRounding is
2436 While having been moved a couple of times since its introduction in
2443 Synchronize sourceware version of the libiberty sources with the master gcc versions.
2473 …/vol/gcc/src/hg/master/local/libiberty/pex-unix.c:326:3: error: initialization of 'pid_t (*)(struc…
2501 make explicit the form of a template parameter where the argument is not a
2557 As is already done in a couple of other similar cases, this patches
2580 but the body of sha1_hw_process_block and sha1_choose_process_bytes
2617 case of error), and don't use a macro that changes control flow.
2628 r13-4035 avoided a problem with overloading of constrained hidden friends by
2633 We were wrongly treating the different instantiations of the same friend
2635 to actually substitute in the case of a non-template friend. But we don't
2639 After fixing that, instead of a redefinition error we got an ambiguous
2646 demangle this by just adding [friend] to the name of the function because
2647 it's not feasible to reconstruct the actual scope of the function since the
2659 Support for following sets of instructions is added in this patch.
2700 Add tests to cover the full range of behaviors observed around
2717 With the addition of 128-bit system registers to the Arm architecture
2721 These move values from one such 128-bit system register into a pair of
2729 form of `AARCH64_OPND_SYSREG128' and the `aarch64_sys_reg_128bit_p'
2731 register table entry is marked as implemented in the 128-bit mode via
2740 aarch64: Add xs variants of tlbip operands
2747 With the introduction of the 128-bit translation tables with the
2748 Armv8.9-a/Armv9.4-a Translation Hardening Extension, a series of new
2749 TLB invalidate operations are introduced which make use of this
2758 The addition of 128-bit page table descriptors and, with it, the
2759 addition of 128-bit system registers for these means that special
2760 "invalidate translation table entry" instructions are needed to cope
2768 qualified operands and one of unqualified type (e.g. system register
2778 aarch64: Apply narrowing of allowed immediate values for SYSP
2782 CRm and 0-7 in the case of CRn.
2787 range of operand values for fields in the instruction tagged with the
2797 Mirroring the use of the `sys' - System Instruction assembly
2802 sets both of these to xzr.
2811 Two of the instructions added by the `+d128' architectural extension
2813 addition of the `tlbip' and `sysp' instructions, no mnemonic allowed
2820 Therefore, a considerable degree of flexibility needed to be added to
2830 such that by virtue of the observation that
2835 instruction and it is assumed that a maximum of 1 operand can ever be
2840 mnemonic from the position of the first (e.g. if the second operand in
2847 from the mnemonic. Namely, if Xt1 has a value of 0x1f (the zero
2859 Analysis of the allowed operand values for `sysp' and `tlbip' reveals
2866 the index + 1. This precludes the use of xzr as the first register,
2869 This is different in the case of `sysp' and `tlbip', however. These
2870 allow the use of xzr and, where the first operand in the pair is
2873 likewise take on a value of xzr.
2875 These two instructions therefore "break" two rules of register pairs:
2877 * The first of the two registers is odd-numbered.
2878 * The index of the second register is equal to that of the first,
2882 extend the functionality of the assembler by defining an extension of
2887 the value of xzr.
2891 aarch64: Expand maximum number of operands from 5 to 6
2892 Given the introduction of the new Armv9.4-a `sysp' insn using the
2899 maximum of 5.
2904 Indicating the presence of the Armv9.4-a features concerning 128-bit
2906 the "+d128" architectural extension flag is added to the list of
2914 Since the tools don't compile cleanly with the same set of flags as
2915 the rest of the sim code, we need to maintain & test a separate list.
2938 maintained independently from here, and the lists are out-of-sync
2951 remove some of the features that were added just for it: return values
2963 causes an early computation of current_language:
2972 I considered various options here -- reversing the order of the
2978 is really looking for a certain kind of symbol (text or data) using a
3001 function to loop over the minimal number of objfiles in the latter
3010 amount of DWARF to be read synchronously.
3048 The idea here is that there is only a small amount of work that must
3110 Currently there are no implementations of this, but a subsequent patch
3123 worker, and then the resulting complaints are treated as one of the
3124 results of the computation. This change is needed for a subsequent
3147 Add a couple of bfd_cache_close calls
3148 This adds a couple of calls to bfd_cache_close at points where a BFD
3179 None of that is relevant for us with current automake, so drop it.
3220 64-bit instead of a signed 64-bit. If the value was only 32-bits,
3250 due to that, the output is set as NO_ABI instead of O32, then
3259 -march=armv9.4-a. The behaviour of the new options can be
3260 expressed using a combination of existing feature flags
3339 - builds two versions of two shared libs, a "right" and "wrong" version, the
3349 Fix this by increasing the size of the spacer functions by adding a dummy
3372 of .byte to describe test cases.
3410 This brings us in sync with current set of gdb warnings (for C).
3417 ….../sim/cris/semcrisv10f-switch.c:11032:22: error: declaration of ‘tmp_tmpb’ shadows a previous lo…
3428 based on that. If the variable is out of range, it ends up returning
3517 There are a number of issues with 734dfd1cc966 ("x86: pack CPU flags in
3520 enough new Cpu* added an out of bounds array access would validly have
3542 Only ELF permits the specification of a subsection, and even there not
3602 microblaze: drop/restrict override of .text, .data, and .bss
3676 Avoid an error when compiling with older versions of gcc.
3685 other library functions part of C99, but didn't remove what is now
3695 exceeds the size of a bfd_vma rather than using (bfd_vma) -1.
3704 Since the particularity of "th.vsetvli" was not taken into account in the
3707 "vsetvl" in the XTheadVector extension consists of SEW, LMUL and EDIV,
3709 simply reuse the processing of vsetvl in V extension.
3711 We have set up tens of thousands of test cases to ensure that no
3770 marker [PAC]. When using the MI, this is printed as part of the addr_flags
3790 Update year range in copyright notice of binutils files
3800 4) Check out */po/*.pot which we don't update frequently.
3813 …commit 39c49ea712cba8ae6613ef85ab22fe7c552b48b0 config.sub: Systematize parsing of machine code…
3822 LoongArch: Fix linker generate PLT entry for data symbol
3823 With old "medium" code model, we call a function with a pair of PCALAU12I
3831 The linker generates a "PLT entry" for data without any diagnostic.
3836 entry.
3838 For R_LARCH_PCALA_HI20 relocation, linker only generate PLT entry for STT_FUNC
3854 end of the expression GDB just reports the empty string to the user.
3860 A syntax error in expression, near the end of `a1 +'.
3870 that gcc produces, with some kind of '~~~~~^' marker on the second
3878 I've added a couple of extra tests in gdb.base/exprs.exp.
3885 Many (all?) of the expression parsers implement yyerror to handle
3886 parser errors, and all of these functions are basically identical.
3892 The benefit of this is that (in a future commit) I can improve the
3940 will result in only generating instruction sequences of 32 pcrel.
3943 the matching order of macro instructions, it is ensured that
3944 the correct sequence of instructions can be generated.
3955 a little bit of effort.
3957 The filter.c module is still here because of the unique it_is API.
3967 bit of effort.
3969 Some of the generated ppc code is now slightly different, but that's
3970 because of fixes the common igen code has gained, but not the ppc igen
3971 code (e.g. fixing of #line numbers).
3985 The common sim-endian is a forked & updated version of the ppc code.
4025 The objects are still compiled in the subdir, but the creation of the
4029 The downside is that each object compile is a recursive make instead of
4049 line of source code, GDB stops in the middle of the line. Thus requiring
4051 instruction of the line, not in the middle of the line.
4053 The following description of the incorrect behavior was taken from an
4105 Dump of assembler code for function main:
4122 End of assembler dump.
4127 So far so good, a "next" stepped over the whole of line 11 and stopped at
4133 Dump of assembler code for function main:
4150 End of assembler dump.
4152 Good, we're at the first instruction of line 12.
4162 Dump of assembler code for function main:
4179 End of assembler dump.
4182 And lo, we stopped in the middle of line 11! That is a bug, we should have
4183 stepped back all the way to the beginning of the line. The "reverse-next"
4226 When stepping forward from line 40, we skip both of these ranges and land on
4227 line 42. When stepping backward from line 42, we stop at the start PC of the
4228 second (or first, going backwards) range of line 40.
4235 we take that as the start PC of the range. The new start PC for the range
4261 searches for the epilogue address will only find the last address that
4325 This covers a lot of the AC_MSG_CHECKING+AC_TRY_COMPILE+AC_MSG_RESULT
4341 checks that, we can move the tests to the top-level and out of the
4360 Instead of executing code to see if SysV semaphores & shared memory
4383 AC_MSG_RESULT as the AC_CACHE_CHECK takes care of it for us.
4386 These should have been removed as part of the ppc/igen merging into the
4435 This header is only used by the igen tool, and none of the igen code
4450 This code sets up the cc variable based on the comparison of other
4478 Mark pointed out that a recent patch of mine caused the buildbot to
4479 complain about the formatting of some Python test code. This patch
4502 but the pattern for the pipe2 syscall mistakenly uses SYS_pipe instead of
4556 arg delimiter, and thus can be part of the arg.
4590 '/' starts a comment for some targets. Use .byte instead of .insn with
4594 instead of .insn with '/'.
4615 Fortran provides additional entry points for subroutines and functions.
4616 These entry points may use only a subset (or a different set) of the
4617 parameters of the original subroutine. The entry points may be described
4624 support. Even so, some of the attached tests still fail for ifort, due
4625 to some wrong line info generated for the entry points in ifort.
4628 ifort compiled example at the entry points 'foo' and 'foobar', which was not
4634 possible to actually define breakpoint at the entry point tags.
4637 of DW_TAG_entry_point over DW_TAG_subprogram:
4660 gdb, dwarf: move part of dwarf2_get_pc_bounds into separate function
4661 This commit is in preparation of the next commit. There, we will add
4663 DW_TAG_entry_point. Instead of dwarf_get_pc_bounds_ranges_or_highlow_pc
4664 we will call a separate method for entry points. As the validity checks
4667 outsourcing part of dwarf2_get_pc_bounds.
4780 with the programming model of the 'V' extension ([1]), we consider
4992 where binop is one of adc, add, add, cmp, or, sbb, sub, xor instructions,
5066 linux kernel. This note should be used instead of NT_X86_CET introduced
5170 (OP_VEX): Add handler of 64-bit vvvv register for APX-Push2/Pop2 insn.
5200 Support APX NDD that the number of operands is 3.
5241 This patch adds non-ND, non-NF forms of EVEX promotion insn.
5243 EVEX extension of legacy instructions:
5246 EVEX extension of EVEX instructions:
5249 EVEX extension of VEX instructions:
5251 id, the opcode, or the operand encoding of the VEX instruction.
5253 Note: The promoted versions of MOVBE will be extended to include the “MOVBE
5325 APX uses the REX2 prefix to support EGPR for map0 and map1 of legacy
5412 sim: pru: Fix emulation of carry bit
5435 RISC-V: Clarify the behaviors of SET/ADD/SUB relocations
5440 The addend of SUB_ULEB128 should be zero if using .uleb128, but we make it
5445 We encourage people to rebuild their stuff to get the non-zero addend of
5456 * elfnn-riscv.c (perform_relocation): Ignore the non-zero addend of
5460 get the right non-zero addend of R_RISCV_SUB_ULEB128.
5465 --[no-]check-uleb128, to enable/disable checking if the addend of
5468 addend of SUB_ULEB128 relocation, or they may get troubles if using
5481 elfxx-loongarch.c:1844:32: runtime error: index 125 out of bounds for
5502 * objcopy.c (copy_archive): Localise uses of "l". Remove
5533 The pcalau12i + addi.d of TLS LD/GD/DESC relax to pcaddi.
5557 to IE and uses the same GOT entry as IE.
5565 maximum of 5 GOT slots are used. For example, using GD, TLSDESC,
5567 two of the five GOT, TLSDESC uses the third and fourth, and IE
5590 quotes. Don't trim last arg if max number of args exceeded.
5594 gdb: make value::allocate_register_lazy store id of next non-inline frame
5595 Some spots loop on the frame chain to find the first next non-inline
5598 necessary if the value is used in the process of computing the id of
5601 to go past that to find the next non-inline frame, which will have a
5604 In other cases, it's fine to store the id of an inline frame as the
5610 I think it would make things simpler to just never store the id of an
5611 inline frame as the next frame id of register struct values, and go with
5650 where the ID of FRAME is not yet known. Calling value_from_register
5654 the core of value_from_register, but use the null_frame_id. */
5680 version of value::allocate_register. One spot (value_of_register_lazy)
5725 I think this fixes a bug in rs6000-tdep.c where the id of the wrong
5794 * src/ClassFile.cc: Use dbe_stat_t instead of "struct stat64".
5809 Inline the one usage of sd in these macros to avoid possible shadowing.
5823 These decoders declare a lot of common variables for use by substeps,
5824 and then shadows a few because of how the opc generator is implemented.
5832 Delete conflicting decls when the existing scope has vars of the same
5847 between the common CGEN code and how this particular set of cris
5852 …sim/cris/semcrisv10f-switch.c:12383:8: error: declaration of ‘opval’ shadows a previous local [-We…
5870 definitions don't have direct access to, the likelihood of this being a
5894 These functions have local vars named "val" of type float, and
5895 then create nested vars named "val" of type double. This is a
5932 This also changes a couple of spots to avoid logging the stack trace
5972 PPC platforms for e.g. O2_float_param: instead of seeing…
5974 Temporary breakpoint 1, callee.increment (val=val@entry=99.0, msg=...) at callee.adb:19
6017 These last 3 trailers can also be restricted to one or more areas of GDB
6055 only starting with APX - permit use of "new" 8-bit registers only. %ah,
6058 Permit their use outside of 64-bit code though, as "new" registers
6083 LoongArch: Add support for the third expression of .align for R_LARCH_ALIGN
6085 the first and the third expressions of the .align.
6090 The addend of R_LARCH_ALIGN for ".align 5, ,4" is 0x405.
6091 The addend of R_LARCH_ALIGN for ".balign 32, ,4" is 0x405.
6100 Older versions of gcc support this warning flag. We're already clean.
6126 Basically lineno.sh takes an input script, rewrites all uses of
6141 "status" in the documentation. Whenever I've needed to find the code,
6143 window to match the public name of the window.
6178 …> gdb/python/py-unwind.c:126:16: error: flexible array member 'reg' of type 'cached_reg_t[]' with …
6194 Maybe we should get rid of the flexible array member and use a bog
6265 of values were already fully enumerated in the switch statement.
6277 the case of normal exceptions. So while the exceptions its signal handler
6287 It doesn't seem like we want to keep executing the next block of code
6291 Make sure this syscall always exits regardless of the exit code.
6306 statement seems kind of obvious based on the 32-bit case above it.
6322 that in the future, and to make it clearer that we have coverage of
6336 Pull out the common parts of the genmloop invocation into the common
6347 gprofng incorrectly reads the form of the DW_FORM_ref_addr attribute for DWARF
6362 Fix handling of vanishing threads that were stepping/stopping
6365 with the amd-dbgapi target's handling of exited threads. The test
6370 The test spawns a kernel with a number of waves. The waves do nothing
6386 not on the thread list yet. The output shows "?"s instead of proper
6429 delete vanishing waves iff they were stepping or in progress of being
6439 * before stopping, this event will be reported instead of
6451 with one entry for each wave, that seems like the place to store that
6462 hit of the breakpoint at the second kernel is handled:
6475 it doesn't have an entry in the wave_info map, so
6505 Fix thread target ID of exited waves
6521 At first I thought of clearing the wave_info object from a
6549 placed on top of the s_endpgm instruction inline (displaced=off), GDB
6583 displaced_step_finish: Don't fetch the regcache of exited threads
6601 that if there's a breakpoint on top of the exit syscall, and,
6604 of leaving the exited thread as selected:
6623 of the DWARF machinery are upstream as well.
6702 Complete use of unique_ptr with notif_event and stop_reply
6705 code paths that still use raw pointers. This commit makes all of the
6706 ownership of these objects tracked by unique pointers, making the
6710 destroying the stop_reply object if it was of TARGET_WAITKIND_IGNORE
6728 tdesc_data is not part of a union, since commit 4f3681cc3361 ("Fix thread's
6737 Suffix the instruction description of conditional branch extended
6739 the optional printing of instruction descriptions as comments in the
6751 printing of suffixed instruction description of conditional
6809 Use strncpy() and snprintf() instead of strcpy() and strcat(). Define
6835 return code at the end of the processing.
6843 in case of an error, otherwise EXIT_SUCCESS.
6853 instruction names from IBM z/Architecture Principles of Operation [1] as
6856 [1]: IBM z/Architecture Principles of Operation, SA22-7832-13, IBM z16,
6867 s390: Align letter case of instruction descriptions
6872 * s390-opc.txt: Align letter case of instruction descriptions.
6884 While at it also specify the dependencies of s390-mkopc.c.
6907 Revert most of this patch, it isn't correct to free the BFD_IN_MEMORY
6916 gdb: use put_frame_register instead of put_frame_register_bytes in pseudo_to_concat_raw
6918 functionality of put_frame_register_bytes, use put_frame_register
6963 which is used with software watchpoints, since the expression of the
7035 x86: Remove the restriction for size of the mask register in AVX10
7037 remove the restriction for size of the mask register in AVX10.
7080 Remove bfd_link_executable from the condition of la.got -> la.pcrel
7105 Unfortunately the simulator implementation of rotates has the exact same
7111 type of the temporary. This fixes a handful of tests in the GCC testsuite:
7137 * ldlang.c (lang_print_memory_size) Print 0 B instead of 0 GB.
7204 then expect discards the entire input buffer up to the end of the
7213 gdb_test_multiple contain two patterns, each pattern consists of the
7245 The start of MEMORY region text currently starts hard-coded at 0.
7247 …The linker can produce more exact diagnostics when it knows the exact placements of the memory reg…
7280 Use function entry point record only for entry values
7282 value of variables at the entry point of a function, if some
7296 When compiled with optimization, the entry point of foo is at
7299 The debug info of i looks like this:
7316 Currently, when at the entry point of a function, it will
7319 This logic was introduced for showing the entry-values of
7321 reason this was added for non-entry-values as well.
7323 One of the tests of amd64-entry-value.exp shows the same
7341 But `bt` still shows the entry values:
7343 s1=s1@entry=11, s2=s2@entry=12, ..., d9=d9@entry=11.5, da=da@entry=12.5
7347 explicitely looking for entry values.
7349 Now the local variable of the first example is as expected:
7355 And the test of amd64-entry-value.exp shows the expected
7356 current and entry values of the function arguments:
7358 s1=3, s1@entry=11, s2=4, s2@entry=12, ..., d9=3.5, d9@entry=11.5, da=4.5, da@entry=12.5
7371 There is precedent for this, but it's something we want to get rid of
7415 the last char of the last line with register info will cause a scroll.
7437 but no description of what they do, what the insn name means, or the
7447 These should be using the BF52x set of ports, not BF51x.
7451 sim: mn10300: fix incorrect implementation of a few insns
7453 * Some of the asr & lsr insns were setting up the c state flag,
7456 * Some of the dmulh insns were multiplying one of the source regs
7457 against itself instead of against the other source reg.
7501 This patch contains a reformatting of -march option section in gas documentation.
7512 Now, the readability is improved thanks to the itemization of the options:
7564 into change_section(), for it to be set right away (ahead of invoking
7576 No caller outside of obj-elf.c cares about the parameter - drop it by
7602 As noted in the context of d53e6b98a259 ("x86/Intel: correct disassembly
7603 of fsub*/fdiv*") there's no such thing as Intel syntax without Intel
7646 accidentally listed the deps for all mloop steps as mloop.in instead of the
7749 and all of its members are function pointers, so they're going to be
7758 gdb/testsuite: add tests for unwinding of pseudo registers
7770 the unwind information contains an entry for a register considered a
7813 It seems like the intention here is to read the contents of the ZA
7814 register and only write part of it. However, there's no actual read of
7816 target, for the portion of the raw register where we don't write the
7849 Add a new variant of gdbarch_pseudo_register_write that takes a
7869 The next patch introduces a new variant of gdbarch_pseudo_register_write
7870 that takes a frame instead of a regcache for implementations to write
7887 Change gdbarch_pseudo_register_read_value to take a frame instead of a
7894 register, obtained by reading the bottom half (bottom 4 bytes) of the
7918 Here, the value of ebx was computed using the value of rbx in frame 0
7919 (through the regcache), it should have been computed using the value of
7927 example, "the value of ebx in frame 1 is the same as the value of ebx
7940 instead of a regcache, update implementations (aarch64, amd64, i386).
7941 In i386-tdep.c, I made a copy of i386_mmx_regnum_to_fp_regnum that
7942 uses a frame instead of a regcache. The version using the regcache
7946 - Add some helpers in value.{c,h} to implement the common cases of
7947 pseudo registers: taking part of a raw register and concatenating
7958 frame instead of a regcache. That method is considered deprecated.
7989 the "next frame" instead of "this frame".
7998 the "next frame" instead of "this frame".
8007 "next frame" instead of "this frame".
8026 Some functions related to the handling of registers in frames accept
8036 need to call one of these functions (which happens later in this
8038 get the next frame again. This is more manipulations, more chances of
8046 to take "the next frame" instead of "this frame". This adds a lot of
8048 to also use "the next frame" instead of "this frame", it will get simple
8057 Change put_frame_register to take an array_view instead of a raw
8060 Add an assertion to verify that the number of bytes we try to write
8061 matches the length of the register.
8072 beginning of `buffer` to read or write to the registers, instead of
8075 Fix this by re-writing the functions to chip away the beginning of the
8082 I find these functions a bit dangerous, if a caller mis-calculates
8089 a single register (which I presume represents most of the use cases of
8104 Change most of regcache (and base classes) to use array_view when
8105 possible, instead of raw pointers. By propagating the use of array_view
8111 Add some overloads of the methods using raw pointers to avoid having to
8112 change all call sites at once (which is both a lot of work and risky).
8114 I tried to do this change in small increments, but since many of these
8116 having a lot of intermediary / transient changes.
8119 of the regcache interface that is shared.
8123 currently "takes advantage" of the fact that
8128 accomodate that, add some overloads of raw_collect and raw_supply that
8132 Change it to use `gdb_byte` pointers instead. Add overloads of
8154 need to do anything, regardless of the value of offset. Remove the
8190 own regcache that is the concrete version of this) and an abstract base
8191 class `reg_buffer_common`, that is the base of regcaches on both sides.
8198 It would be better to have just one. Change all instances of `regcache
8204 regcache type. Some of them could be avoided by changing free functions
8239 Remove handling of the k registers from:
8250 Allow calling of variadic C++ functions
8263 used only for additional arguments of variadic functions, allowing
8277 RISC-V: Fix the wrong encoding and operand of the XTheadFmv extension.
8278 The description of instructions 'th.fmv.hw.x' and 'th.fmv.x.hw' of the
8280 some impact on the implementation of the binutils, so this patch
8356 to change the direction of execution.
8363 gdb/python: avoid use of _PyOS_ReadlineTState
8364 In python/py-gdb-readline.c we make use of _PyOS_ReadlineTState,
8368 We are making use of _PyOS_ReadlineTState in order to re-acquire the
8375 Instead of using _PyOS_ReadlineTState, I propose that we switch to
8379 gdbpy_readline_wrapper on one thread on behalf of a different Python
8388 commit wants to make use of this class from a file other
8397 some errors -- of the kind a user might be expected to trigger if they
8398 do something wrong -- and I didn't find GDB's output as helpful as it
8412 Also, I find the 'mkstemp' in the error message confusing for a user
8442 I think these do a better job of guiding the user towards fixing the
8445 I've added a new test that exercises all of these cases, and also
8447 contains an index in order to generate an index. As part of the new
8496 For special processing of input and output operands (%dx),
8497 the state of some variables needs to be cleaned.
8540 The reason is that the frame_id of a breakpoint has to be the
8541 ID of a real frame, ignoring any inline frames.
8604 This patch is part of the effort to make such optimization possible
8614 linker because there might be code that jumps to the middle of the
8617 the ld instruction of the instruction pair. We need a marker to
8631 The identifier of the assembler macro we are expanding, if any.
8645 In the scenario of generating .ko files, the kernel does not relax the .ko
8646 files. However, due to the large amount of relax and local relocation
8647 information, this increases the size of the .ko files. In this patch, it
8648 will finish the fixup of the local relocations while with `-mno-relax' option.
8649 This can reduce the size of the relocation table.
8659 Passed the gcc/binutils regressions of riscv-gnu-toolchain.
8687 handles the details of cancellation. While cancellation is inherently
8707 Rename a couple of DAP procs in the testsuite
8708 This renames a couple of DAP procs in the testsuite, to clarify that
8740 Clean up handling of DAP not-stopped response
8742 DAP implementation of "not stopped" to use it. I was already touching
8755 most part a simple renaming of gdb reasons is sufficient; however,
8771 This moves the declaration of py_ui_out to a new header, so that it
8777 Commit cff71358132 ("gdb/testsuite: tighten up some end-of-line patterns") replaced:
8785 in a few test-cases, but didn't update all uses of eol accordingly.
8817 classes with virtual methods are involved, some of the results
8818 wrongly point into the vtable of the derived class:
8848 case of pointer types was already the dereferenced value.
8900 RISC-V/gas: Clarify the definition of `relaxable' in md_apply_fix
8903 relaxations for some specific areas, so the value of `riscv_opts.relax'
8905 of `riscv_opts.relax' for every relocation. Therefore, set `relaxable' to
8915 For the current assembler, the final value of `riscv_opts.relax' is false, so
8919 * config/tc-riscv.c (md_apply_fix): Set the value of `relaxable' to
8937 and overflow checking. gold had all of the bfd problems with this
8979 well. (My patch series add more documentation of these to the GDB
8990 Improve performance of the H8 simulator
8998 A bit of digging with perf shows that we're spending a crazy amount of time
9000 basically we take a blob of instruction data, then try to match it to every
9006 find the right entry. That's made excessively complex due to the encoding on
9010 Another thought was to build a mapping to the right entry for all the
9011 instructions that can be disambiguated based on the first nibble (4 bits) of
9013 the first byte of instruction data.
9024 then find the index of the first instruction for each nibble. Decoding uses
9029 current sub architecture are put at the end of the table. This shaves another
9032 The net of the two changes is on my fastest server we've gone from 4:30 to 1:40
9033 running the GCC testsuite. Same test results before/after, of course. It's
9034 still not fast, but it's a hell of a lot better.
9069 The focused window is highlighted by using active-border-kind instead of
9074 window has the focus. Instead, you have to notice the absence of highlighting
9096 Fix printing of global variable stubs if no inferior is running
9098 to print a global variable stub without a running inferior, because of
9099 a missing nullptr-check (the block_scope function took care of that
9113 gdb/testsuite: tighten up some end-of-line patterns
9123 In gdb.ada/info_types.exp I did need to add an extra use of $eol as
9147 returns a large number of completions.
9152 start of each line rather than the end, I think it's much clearer to
9153 use '^' at the start of each pattern, and '\r\n' at the end, so that's
9156 .... Or I would, if this test didn't already define $eol as the end of
9158 that helpful, so I've updated $eol to be just '\r\n' the actual end of
9177 be any one of all, threads, remote, event-loop, and correspond to the
9178 same set of global debug flags.
9187 seemed more in the spirit of GDB's existing 'set debug ...' commands.
9190 Notice in the above that I use 'off' and 'on' instead of '0' and '1',
9224 This commit changes --debug to take a list of components.
9231 Currently the threads component actually includes a lot of output that
9233 up into some new, separate components. But that is not part of this
9279 variable already contains lots of testing related flags, like
9292 part of another struct:
9321 Since commit 03893ce67b5 ("[gdb/tui] Fix resizing of terminal to 1 or 2 lines")
9326 window), the TUI displays "[ No Source Available ]" instead of main.
9337 Allow cast of 128-bit integer to pointer
9353 PR rust/31005 points out that dynamic type resolution of a LOC_CONST
9361 Thanks to tpzker@thepuzzlemaker.info for a first version of this
9384 set the end of the SAL to before the next statement or the first
9385 instruciton in the next line, instead of naively assuming that to be the
9388 With this new change, the edge case is removed from the processing of
9448 fixes a lot of implicit function warnings.
9455 The traps file uses a bunch of functions directly without prototypes,
9484 This patch adds support for process recording of the instruction rdtscp in
9495 of glibc have merged it into -lc which broke this configure test.
9501 Sync with the list of flags from gdbsupport, and add a few more of
9593 The only caller of quick_symbol_functions::expand_matching_symbols was
9594 removed, so now this method and all implementations of it can be
9605 name matching, by having a subset of matches call
9622 Improve performance of Ada name searches
9625 ada-lang.c:map_matching_symbols taking an inordinate amount of time.
9637 fixes the immediate cause of the slowdown, by using
9676 gdb: fix libstdc++ assert caused by invalid use of std::clamp
9682 gdb: Enable early init of thread pool size
9693 and is caused by this block of code:
9700 excessive number of threads in the pool on many-core systems. */
9710 would be a better choice; we want the smaller value of
9734 This fixes testing of -Wno flags, and adds some more portable ones.
9743 of course a bug, but it is reasonable to expect 32-bit target output
9753 (print_value): Correct printing of 32-bit values.
9837 number of worker threads. However, it neglected to update the assertions
9875 Fix some of the sim_fpu calls to use the right types. While I'm
9886 The sim_stop argument is an enum and should only be one of those
9948 (jtab): Add dummy entry that traps.
9966 the bytes near the end of the section.
9977 * dwarf.c (display_debug_addr): Free dummy debug_addr_info entry.
9983 In commit 7ac6d0c38c36 I made more use of free_contents in
10039 whether to use the function and nothing else. If we find a system
10040 that doesn't follow POSIX and provides only one of these, we can
10046 prototype is deprecated in all versions of C and is treated as a
10054 being emitted in a different order to that of aarch64-linux. They are
10063 the start of a group of stubs to not care about the symbol, for all
10081 gdb: allow use of ~ in 'save gdb-index' command
10096 as it interpreted the '@' in the path as a start of a command
10111 While working on gdb's .debug_names writer, I found a couple of small
10121 Second, I think the handling of an empty hash table is slightly wrong.
10122 Currently the dumping code assumes there is always an array of hashes.
10125 The optional hash lookup table immediately follows the list of
10130 The hash lookup table is actually two separate arrays: an array of
10131 buckets, followed immediately by an array of hashes.
10133 My reading of this is that the hash table as a whole is optional, and
10137 This patch fixes both of these problems. FWIW I have some gdb patches
10178 instruction type needs to be provided before printing of the
10184 The target of the (conditional) jump and branch relative instructions
10225 gdb: Enable early init of thread pool size
10227 modify the number of threads used by gdb's thread pool.
10230 of threads on many-core systems under environments with restrictive
10238 set to the number of system cores (if it has not already been set).
10246 Therefore after step 2. gdb has potentially launched hundreds of threads
10250 to set the required number of threads without needing to default to the
10251 number of system cores first.
10257 Additionally, the default number of worker threads is clamped at eight
10258 to control the number of worker threads spawned on many-core systems.
10269 number of clones observed by strace:
10289 initialisation file, despite these commands not being in the list of
10305 of this feature (to allow customisation of how Python is setup).
10319 'show' command, then instead of crashing, GDB will do something
10364 killed, yet still be in the list of lwps. Should that happen, the
10381 The following shell command mimics part of what the pwntools
10384 run the command a bunch of times before seeing the bug. (I usually
10397 then the assert will trigger. The relevant part of the backtrace
10425 problems with detach. Upon hearing of this problem, he came up a test
10434 via newly added checks of the waitstatus in detach_one_lwp in
10441 I added a few asserts at the beginning of linux_fork_detach and
10457 primary author of this test case. Its design is similar to that of
10481 Fix a --set-sect-name typo in the description of objcopy
10516 Bail out of "attach" if a thread cannot be traced
10524 fails to attach to any thread of the inferior.
10557 regcache::transfer_regset iterates over an array of regcache_map_entry,
10559 those entries. It stops either when it reaches the end of the
10560 regcache_map_entry array (marked by a null entry) or (it seems like the
10561 intent is) when it reaches the end of the buffer (in which case not all
10565 bug. transfer_regset is made of two loops:
10569 if the register doesn't fit in the remainder of the buffer:
10574 When stopping because we have reached the end of the buffer, the break
10575 only breaks out of the inner loop.
10590 a size of 0 (it's actually pointless, but still it should work).
10591 - transfer_regset gets called with a buffer size of 0.
10593 0 bytes, so it breaks out of the inner loop.
10601 transfer_regset should return, not only break out of the inner loop.
10603 This is a kind of contrived scenario, but imagine we have these two
10606 - 2 registers of 8 bytes
10607 - 2 registers of 4 bytes
10609 For some reason, the caller passes a buffer of 12 bytes.
10611 fit, and break out of the inner loop. However, it will then go try the
10615 read/write this sequence of registers from/to the buffer.
10631 patch adds a bit of introductory text there.
10639 bit would get copied into bits 32..63 of the temporary. Those
10662 when reading one character at a time, the test will find the partial
10686 …This is a patch to simplify the pd_activate () in aix-thread.c incase of a failure to start a thre…
10703 binutils/Dwarf: avoid "shadowing" of glibc function name
10704 Yet once again: Old enough glibc has an (unguarded) declaration of
10722 always the last directive ahead of a construct potentially needing
10728 the of x86'es state maintenance involving i386_cons_align().
10742 While there also add recording of state to s_insn().
10780 or $xrv. It also makes use of this stricter mapping in
10801 SiFive has define as set of flexible instruction for extending vector
10805 List of instructions:
10835 Spec of Xsfvcp
10848 * A new extension Zvkb was defined, which is a strict subset of Zvbb.
10849 * Zvkn and Zvks include now Zvkb instead of Zvbb.
10854 Note, that this technically an incompatible change of Zvkn and Zvks,
10855 but I am not aware of any project that depends on the currently
10856 implemented behaviour of Zvkn and Zvks. So this patch should be fine.
10867 [gdb/build] Fix adding -DNDEBUG to python flags of release build
10872 intends to ensure that -DNDEBUG is added to the python flags of a release
10882 This is a regression since commit db6878ac553 ("Move sourcing of development.sh
10903 this type of problem. FWIW, I did run shellcheck (using arguments -xa, in the
10905 before and after and observed that the number of lines/words/chars in the
10908 Build & tested on top of trunk.
10910 Also build on top of gdb-14-branch, and observed this in gdb/config.log:
10925 On MIPSr6, the encoding of JR instruction has been chaned.
10927 ST Microelectronics Loongson-2F workarounds of Jump Instruction issue
10978 As is already done in a couple of other similar cases, this patches
11003 symbol of interest, we can reduce the time to dump a 4k insn file of .norvc and
11024 This patch also adds a couple of tests to make sure all the comment
11049 gdbsupport/scope-exit.h has a couple of comments about being able to
11108 This is a major update of gp-display-html. The option handling has been
11113 particular to reduce the number of lines that extend beyond column 79.
11114 Several bugs have been fixed, for example in the handling of directory names.
11124 This is a major update of all the man pages. Bugs 30679 and 30895 are
11127 case of gp-display-html, the new option syntax is documented. The user
11135 * doc/gp-archive.texi: Expand the description of the options.
11174 process the list of completions returned from the Command.complete
11185 such, and to avoid (what I think is pretty unlikely) breakage of
11245 gdb: generate gdb-index identically regardless of work thread count
11273 gas: add NEWS entry for change of comment syntax in BPF assembler
11276 * NEWS: Add entry about change of comment syntax in the BPF
11301 The benefit of this is that the optimization is also done at O0, but the
11319 the interpretation of semicolons: they separate statements and
11324 gas: change meaning of ; in the BPF assembler
11358 --buildid= styles and perhaps make one of the new the default.
11379 instead of &sha1_process_bytes.
11390 for (and requires) a number of environment variables, so the target
11407 script, as I find that the most useful. It's super frustrating to run
11414 I have been making more use of the make-check-all.sh script to run
11437 index files are generated identically as the number of worker-threads
11440 Building the dwarf-5 index makes use of a closed hash table, the
11445 the ordering within cooked_index depends on the number of worker
11453 within each bucket, we can be sure that GDB will see each entry in a
11462 gdb: generate gdb-index identically regardless of work thread count
11463 It was observed that changing the number of worker threads that GDB
11465 layout of the generated gdb-index.
11484 generate a gdb-index as part of the build process, and we would
11490 we build the index, but, I don't think the idea of reproducible builds
11496 contents, we will pull all the symbols out of the hash, sort them,
11498 structure of the generated hash will remain consistent (given the same
11499 set of symbols).
11502 index doesn't change if we adjust the number of worker threads used.
11514 member functions of the mapped_symtab class.
11516 Fold an additional snippet of code from write_gdbindex into
11520 Make the n_elements, data, and m_string_obstack member variables of
11537 gdb: reduce size of generated gdb-index file
11540 count every incoming entry rehash when the number of entries gets too
11541 large. However, some of the incoming entries will be duplicates,
11548 size of 90M, with a hash usage (in the generated index file) of just
11552 I now see a gdb-index file size of 30M, with a hash usage of 41.9%.
11561 The gdb-index hash table we create has a minimum size of 1024, and
11568 I've include a test that checks some of these constraints -- I've not
11579 Split out the code that makes a copy of the GDB executable ready for
11582 index), but doesn't need to make use of the full do_self_tests proc.
11592 command. Update save_gdb_index_command function to make use of the
11599 gdb: allow use of ~ in 'save gdb-index' command
11620 incorrect result: it returns true instead of false.
11634 This is because ppc_linux_target_wordsize returns 4 instead of 8, causing
11645 64-bit, and in addition the top bit of the MSR register is set. */
11666 selected frame of a dead process. */
11677 maybe_new_address_space call in the context of the vfork parent.
11679 Tested on top of trunk on x86_64-linux and ppc64le-linux.
11680 Tested on top of gdb-14-branch on ppc64-linux.
11734 - when gdb uses the address space of the remaining program space, we run into
11749 Tested on top of trunk on x86_64-linux and ppc64le-linux.
11750 Tested on top of gdb-14-branch on ppc64-linux.
12294 There is however an alternative way of adding a .gdb_index: the index-cache.
12331 implementation of send_break works via write.
12375 This introduces throw_winerror_with_name, a Windows analog of
12394 Fix bug in DAP handling of 'pause' requests
12422 * If the return value is a sequence, the contents of the
12426 completions available. Only string elements of the sequence
12429 * If the return value is one of the 'COMPLETE_' constants
12450 this call fails a Python exception is set, but instead of
12510 junk at end of line, first unrecognized character is `,'
12513 Fix this by using %progbits instead of @progbits for arm.
12531 After looking into the test-case, I realized that this is a consequence of
12571 removing a level of indirection from the frequently accessed
12572 current_templates, in return for adding a level of indirection when
12574 PIE builds of gas it also reduces the number of relocations by about two
12586 riscv_ext()'s calls md_assemblef(), the first of which were entirely
12594 While for some of the macro insns using x0 is kind of okay, as they
12595 would merely resolve to a sequence of hint insns (and hence not cause
12596 misbehavior at runtime), several of them have the degenerate AUIPC
12619 Because the 'Zfa' extension has a version number of 1.0
12625 number of the 'Zfa' extension since it's ratified.
12646 Add extended mnemonics specified in the z/Architecture Principles of
12671 forgone in favor of not adding further non-standard mnemonics.
12676 mnemonics are not added as well, as they fall into the same category of
12677 instructions that operate on high and low words of registers. They
12678 should better be added together, not to confuse the user, which of those
12683 [1] IBM z/Architecture Principles of Operation, SA22-7832-13, IBM z16,
12723 The IBM z/Architecture Principle of Operation [1] specifies the last
12724 operand(s) of some (extended) mnemonics to be optional. Align the
12727 This changes the last operand of the following (extended) mnemonics to
12737 [1]: IBM z/Architecture Principles of Operation, SA22-7832-13, IBM z16,
12798 s390: Position independent verification of relative addressing
12801 patterns. Inserting or reordering of instructions into those test cases
12802 therefore required updating of those hardcoded offsets.
12804 Use regular expressions with backreferences to verify results of test
12821 MIPS/GAS: Use addiu instead of addi in test elf-rel.
12838 ‘field::m_accessibility’ is too small to hold all values of ‘enum
12847 bitfields. It reduces the size of the enum's underlying type,
12855 gdb to have these dummy fields to keep track of any available padding.
12856 However, since the advent of "ptype/o", there doesn't seem to be any
12859 This patch does not change the size of struct field, fn_field, or
12865 T-Head has a range of vendor-specific instructions. Therefore
12866 it makes sense to group them into smaller chunks in form of
12895 T-Head has a range of vendor-specific instructions. Therefore
12896 it makes sense to group them into smaller chunks in form of
12925 T-Head has a range of vendor-specific instructions. Therefore
12926 it makes sense to group them into smaller chunks in form of
12951 T-Head has a range of vendor-specific instructions. Therefore
12952 it makes sense to group them into smaller chunks in form of
12982 T-Head has a range of vendor-specific instructions. Therefore
12983 it makes sense to group them into smaller chunks in form of
13013 T-Head has a range of vendor-specific instructions. Therefore
13014 it makes sense to group them into smaller chunks in form of
13044 T-Head has a range of vendor-specific instructions. Therefore
13045 it makes sense to group them into smaller chunks in form of
13083 T-Head has a range of vendor-specific instructions. Therefore it
13084 makes sense to group them into smaller chunks in form of vendor
13114 T-Head has a range of vendor-specific instructions. Therefore
13115 it makes sense to group them into smaller chunks in form of
13144 T-Head has a range of vendor-specific instructions.
13146 in form of vendor extensions.
13169 T-Head has a range of vendor-specific instructions.
13171 in form of vendor extensions.
13173 This patch adds the CSRs for XTheadVector. Because of the
13186 the CSRs of the "XTheadVector" extension.
13204 T-Head has a range of vendor-specific instructions ([2]).
13206 in form of vendor extensions.
13208 This patch adds the "XTheadVector" extension, a collection of
13216 of the "TheadVector" instructions overlaps with those of
13218 purpose, but the result of issues in the past that have
13266 [gdb/tui] Fix resizing of terminal to 1 or 2 lines
13294 /* Get the new list of currently visible windows. */
13315 [gdb/tui] Allow command window of 1 or 2 lines
13346 The easiest way to fix this is to change the minimum height of the command
13349 number of lines in the terminal is 24, and the test-case checks that the user
13353 Fix this by calculating the minimum height of the command window as follows:
13368 3.6, which was fixed by commit 7db795bc67a ("gdb/python: remove use of
13425 The C++ type-printing code had its own variant of the accessibility
13430 accessibility of a class. This makes ptype a bit more C++-like, and
13431 lets us remove a chunk of questionable code.
13471 I think these invocations of QUIT in need_access_label_p are overkill.
13492 A new 'enum accessibility' is added to hold some of this information.
13522 This version of the patch changes the "unknown" case to an assert.
13548 gdb: fix build of darwin-nat.c
13550 signature of darwin_nat_target::cancel_breakpoint, but missing updating
13554 …/Users/smarchi/src/binutils-gdb/gdb/darwin-nat.c:1154:20: error: out-of-line definition of 'cancel…
13571 A couple of spots in the DAP code use the same workaround for the
13572 absence of queue.SimpleQueue before Python 3.6. This patch
13600 of the first string in TestStrings, but without making sure that this
13700 gdb: Remove uses of gdb::to_string (const std::string_view &)
13701 This patch removes all uses of to_string(const std::string_view&) and
13714 gdb: Use std::string_view instead of gdb::string_view
13715 Given that GDB now requires a C++17, replace all uses of
13731 of this function are now explicitly including
13732 "gdbsupport/gdb_string_view.h". A later patch will remove the users of
13735 The implementation and tests of gdb::string_view are unchanged, they will
13745 The previous patch migrated all the uses of gdb::optional to use
13772 gdb: Use C++17's std::make_unique instead of gdb::make_unique
13815 The reason for the error is that we're stopped at the syscall exit of syscall
13816 execve, and the pc is at the first insn of the new exec, which also happens to
13824 and return -1 instead, matching the documented behaviour of
13840 …* ld.texi (Special Sections): New entry in the linker manual. Describes how the .gnu.warning and .…
13845 In AIX, we are not able to see the message of a signal recieved if a debugee recieves a signal.
13854 Consider a binary with an erroneous size of the .dynamic section:
13867 Stack allocation is a bad idea for something of variable size that GDB has
13870 In addition, I changed the type of sect_size to the type that bfd actually
13897 r3 contains the address of where the data structure to be returned is to
13899 been changed. The GDB finish command prints the return value of the
13900 function at the end of the function. GDB needs to use the
13901 DW_TAG_call_site information to determine the value of r3 on entry to
13902 the function to correctly print the return value at the end of the
13919 The intent of the obscure "cu-mapped link" feature is to allow you to
13922 of more than one compilation unit): conflicting types within one of these
13924 arbitrary one of) them by name, but can still be found by chasing type graph
13934 "bigger lump name" more than once, because that's the whole point of it: but
13940 This is meant to be the same as just doing the second of these, as if the
13942 instead a bit of an inconsistent mess: more or less, the first takes
13943 precedence, which is the exact opposite of what we wanted.
13952 * ctf-link.c (ctf_create_per_cu): Note the behaviour of
13976 result of bfd_stat is set with a call to bfd_get_mtime, which in turn
13977 calls bfd_stat, so comparing to the result of calling bfd_stat makes
13997 improve GDB's handling of the main executable being a file on a remote
14014 This is of course slightly different than using system stat on with
14061 command calls multiple functions, each of which touch the bfd, then
14084 It turns out that there are existing observers for both of these
14094 Both of the observers I'm using are exposed through the Python API as
14112 This commit also removes all of the other bfd_cache_close_all() calls
14130 Currently, when GDB is reverse stepping out of a function into the same
14140 Because of implementation details, this change can cause some debug
14142 as a regression on gdb.dwarf2/dw2-out-of-range-end-of-seq. Since that
14180 cases this can cause the parser to incorrectly parse part of the
14181 instruction opcode as an expression, which leads to the creation of a
14240 step towards the long term goal of reducing the number of references to
14242 to the top of the call tree).
14253 regcache::aspace) wasn't relevant for the regcache itself. Callers of
14255 way of getting the address space for a thread, if you already have the
14262 removes a bit of unnecessary complexity from the regcache code.
14267 there might have been the intention of supporting per-thread address
14268 spaces. But digging through the history, I did not find any such case.
14274 The only implementations of thread_address_space and
14281 Callers of regcache::aspace are updated to get the address space from
14292 - adjust all users of regcache::aspace to get the address space another
14300 dwarf2/read.c:new_symbol has some extra braces in a couple of 'case's.
14311 Fix by using (bfd_vma) -1 in place of -1UL, as done elsewhere.
14343 refactoring. This patch removes it in favor of an ordinary function.
14364 the parameterization of 'request' makes it easy to handle the
14377 the "name" part of a stack frame is constructed. While this output
14403 mistaken to mean something that isn't meant. Replace most of its uses by
14422 ... instead of (inefficiently) open-coding it.
14448 encoding of "crc32q %rax, %rax", rather than being rejected as invalid.
14487 gdb: remove two uses of obstack
14488 Remove uses of obstack in the code generating the libraries XML for
14506 …gdb command line:1:22: warning: initialization of 'int (*)(int)' from incompatible pointer type 'i…
14514 gdb/python: remove use of str.isascii()
14522 introduced a use of str.isascii(), which was only added in Python 3.7.
14596 Also, one of these two sections was actually called 'New Commands',
14658 This is yet another case of zombie leader detection making things a
14711 found with an older version of GNAT -- it emits a duplicate "x".
14716 Doing this on behalf of Arsen as obvious. Hopefully the last fixup.
14724 Doing this on behalf of Arsen as obvious.
14738 * intl: Remove directory. Replaced with out-of-tree GNU gettext.
14802 Kévin found a bug in an earlier version of this series that was based
14835 This can be used to find the static link frame for a given frame.
14851 This adds a couple of convenience methods, block::is_static_block and
14886 the same implementations of basic properties in all windows.
14904 limit the range of behaviours for subclasses.
14972 The root cause for the difference is the presence of .debug_line info for
14991 This hook will give user supplied Python code a chance to help find
14994 The implementation of the new hook is pretty minimal within GDB's C++
14995 code; most of the work is out-sourced to a Python implementation which
15007 To make use of this extension hook a user will create missing debug
15027 was unable to find the missing debug information, and GDB should ask
15045 location where GDB would normally expect to find it. GDB
15056 the debuginfod server is remote, and out of the control of extensions
15060 the handlers for the current program space first, and then all of the
15071 extension to handle the case where GDB can't find a separate debug
15074 This commit doesn't actually implement the hook for any of GDB's
15083 I'll give a brief description of what the hook does here so that we
15086 description of the new functionality.
15091 1. Use the build-id to find the required debug information,
15100 called if all three steps fail to find any debug information. The
15105 behaviour of GDB, and is the default if nothing is implementing this
15110 #1 and #2 in the hope that GDB will now find the debug information.
15116 information. GDB loads the contents of this file and carries on.
15118 The changes in this commit mostly involve placing the core of
15132 about failure to find any suitable debug information, so it makes
15173 lookup for the missing debug information, assuming that GDB can find a
15213 this part of the elfread and coffread code, so bringing these two
15214 pieces of code into line first makes that job easier.
15228 Improve objdump's handling of compressed sections.
15230 …d --decompress. (dump_section_header): Add "COMPRESSED" to the Flags field of any compressed secti…
15234 * testsuite/binutils-all/objdump.exp: Add test of -Z -s.
15247 /* Return the size of the left margin space, this is the space used to
15268 calculating the number of lines. */
15272 The '2' represents the total size of the window border (or box, in can_box
15275 Likewise, '1' is used to represent the width of the window border.
15280 that can be used instead instead of these hardcoded constants.
15331 The original intention of the test appears to be checking to make sure
15333 breakpoints where one of them was at address 0.
15336 version of gnat. Per the discussion on IRC, the ada inlining appears to
15404 which there's a clear thread of interest (step, next, until, etc.),
15444 use of lib/my-syscalls.S to define the exit syscall.
15477 notified of its exit. For example, the thread may be
15585 of seemingly random factors. E.g., if the target is all-stop, and the
15591 enabled is a defect. This commit fixes that, making use of the new
15592 clone events on Linux, and of target_thread_events() on targets where
15660 While stopping threads, some of the threads that were still
15680 #6 - gdb picks the next event to process out of one of the resumed
15693 events out of the remote target.
15811 exit events of the thread that needs it; or, if that is not supported,
15816 any step-over the exiting thread might have been doing at the time of
15892 GDB_THREAD_OPTION_EXIT option, and then a later patch will make use of
15912 responsibility of infrun, instead of the target.
15949 it got a TARGET_WAITKIND_IGNORE, irrespective of event_ptid.
15994 handle_detach. linux-low.cc will take care of detaching them along
15995 with all other threads of the process, there's nothing special that
16010 potentially report all of fork/vfork/clone.
16061 set of options at once, modelled on Linux ptrace's PTRACE_SETOPTIONS.
16064 specify a set of per-thread event options you want to enable. The
16065 packet accepts a list of options/thread-id pairs, similarly to vCont,
16067 interpreted as a bit mask of options. The only option defined in this
16077 and this clears options for all threads of process 1000, and then sets
16082 This clears options of all threads of all processes:
16086 The target reports the set of supported options by including
16144 (A good chunk of the problem statement in the commit log below is
16160 are not affected, but as the new thread is (sort-of) a child of the
16170 of interest all the other threads will be allowed to continue. A
16172 thread of interest has completed its step.
16193 + GDB single steps just the thread of interest, all other threads
16218 out-of-line scratch pad, maybe adjusts registers,
16219 + GDB single steps the thread of interest, [non-stop mode only] all
16242 above requires that GDB is informed of when a thread clones itself,
16243 and of what is the child's ptid, so that GDB can fixup both the parent
16247 handles fork/vfork as these have some of the same issues. The main
16253 Note we have support for requesting thread creation events out of the
16258 _parent_ of the clone, as the information about the displaced step is
16260 includes no indication of which thread is the parent that spawned the
16268 that we end up with a new thread in the same process, instead of a new
16269 thread of a new process. Like FORKED and VFORKED, THREAD_CLONED
16284 new clone child visible to the rest of GDB.
16321 # of unexpected core files 4
16322 # of expected passes 48
16332 Instead of #3 directly, the testcase just returns, which ends up in
16374 The root of the problem is that when a non-leader LWP execs, it just
16391 When the core of GDB processes an exec events, it deletes all the
16392 threads of the inferior. But, that is too late -- deleting the thread
16398 listed, won't find one.
16402 of ptrace.
16405 this, as side effect of mourning the pre-exec process, in
16428 then GDB crashes on newer systems as well. So instead of tweaking
16445 control of the linux-nat target.
16477 Fix the warning by ensuring that last_addr is initialized at the point of
16489 In tui_find_disassembly_address we find an assert:
16506 /* If we failed to disassemble the required number of lines then the
16521 Remove declaration of re_comp
16580 Gold/MIPS: Use EM_MIPS instead of EM_MIPS_RS3_LE for little endian
16602 …* bfdlink.h (struct bfd_link_info): Update descriptions of the 'execstack', 'noexecstack' and 'war…
16701 the offset-to-entry mappings are allocated in blocks, which may
16708 So instead of leaving the waste reallocate the maps to their final
16721 failure in resizing (e.g. out of memory), but this pushes the
16745 The test creates a large shared library and covers a number of
16761 more tricky given the ordering of PLT sizing and stub insertion.
16767 bfd: aarch64: Fix leaks in case of BTI stub reuse
16780 stub is reused instead of adding a new one.
16787 reach of the indirect branch stub. Then, due to the name collision,
16801 symbol of the stub so a BTI stub may end up with *_veneer instead of
16803 (Refactoring some of _bfd_aarch64_add_call_stub_entries would be
16810 be reasonably ignored. Because of this the target cannot go out of
16819 The instruction was looked up in the wrong input file (file of branch
16820 source instead of branch target) when optimizing away BTI stubs in
16834 The erroneous omission of a "reg_value == " in the THE system register
16836 GCC but which was flagged in Clang due to its use of
16839 adding an extra and important layer of validation.
16842 implementation (with which only the former was of concern in the cited
16870 As we have grown more uses of it, it becomes increasingly more desirable
16875 This then allows simplifying a number of other conditionals as well.
16880 Right now the opcode table has entries with ISA restrictions of the form
16881 FEAT1|FEAT2, the meaning of which depends on context and requires
16883 requires", whereas originally it was intended to solely mean "all of
16885 regaining its original meaning. The new field now truly means "any of
16886 these". The combination of both fields is still and &&-type check, i.e.
16887 (all of these) && (any of these). In the opcode table more involved
16888 combinations of features then also need expressing this way: "all"
16904 First of all we want to also accumulate its reverse dependencies, such
16906 preparation of APX additions, such that e.g. BMI VEX-encoding templates
16913 added for APX (as all of the new templates would otherwise need to have
16958 Overview of issues fixed by the patch.
16962 issues. The register mapping issue is responsible for two of the
16966 of the signal trampoline in common-code in ifrun.c was found. This
16972 that is working fine, but the only platform I'm (Ulrich) aware of that
16975 is to improve performance by avoiding unbalancing of the
16979 by *another* bug that prevents correct unwinding out of the
16996 Detailed description of the DWARF register mapping fix.
17020 The specific sequence of events for handling a signal on most
17027 However on PowerPC the sequence of events is:
17038 uses a trampoline to handle *invocation* of the handler. We do not
17051 no new regressions. Note, only two of the five failures in store.exp
17078 can become out of sync with the actual thread count of the inferior,
17079 and will disagree with the number of threads reported by 'info
17082 The cause of the problem is that 'info threads' includes a call to
17096 inferior. But for testing I've made use of non-stop mode and
17149 Dump of assembler code for function main:
17157 which is a consequence of using the location_completer function. So
17159 of the disassemble command completion to expression_completer. Now
17170 'hello.c':: but I guess this is a limitation of the current
17173 expression_completer is out of scope for this commit.
17186 changed any of the code in skip_over_slash_fmt.
17266 * po/bfd.pot: Regenerate.
17281 * po/bfd.pot: Regenerate.
17295 * po/bfd.pot: Regenerate.
17318 * aarch64-tbl.h (ldclrp): new _LSE128_INSN entry.
17344 entry.
17361 Given the particular encoding of the LSE128 instructions, create the
17363 handling in the code to allow for the encoding of the LSE128 128-bit
17384 In preparation for the implementation of 128-bit system register
17389 Given the shared nature of this file, this change is made necessary
17391 `__armwsr128' ACLE intrinsics in GCC, but will be of subsequent use in
17392 the binutils implementation of the corresponding `mrrs' and `msrr'
17458 The length of the allocate buffer `buf` is 1, and we try to extract an
17459 integer of size 2 from it. The length of 1 comes from the subtraction
17461 a multiple of 2, so it's weird for this subtraction to result in 1. In
17462 this case, boundary comes from the result of find_pc_partial_function
17472 0x549 is the address of the test_call_subr label, 0x548, with the thumb
17509 taking care of differently.
17657 Fix resizing of TUI python windows
17659 TUI python window that would then be outside of the new size,
17662 ==3389== Invalid read of size 1
17675 ==3389== Address 0x115cc214 is 1,332 bytes inside a block of size 2,240 free'd
17688 coordinates, and wnoutrefresh then does an out-of-bounds access.
17708 * ld.texi: Update description of the FILL command.
17728 new definition of psabi. For example, TLSDESC relocs.
17741 (riscv_elf_rtype_to_howto): Return howto of linker internal
17773 While working on background reading of DWARF, I came across the
17828 Since "maint selftest" now runs quite a lot of tests (especially in an
17830 the end of what failed. So, implement that.
17855 gas: correct ignoring of C-style number suffixes
17856 First of all the respective original changes didn't deal with just 0
17857 having such a suffix - this needs additional logic outside of
17878 Make sure future changes won't regress any of this. Also cover the FLH
17879 and FSH macro insns of the Zfh extension.
17882 When support for the Q extension was added, the libopcodes side of these
17901 (gdb) FAIL: gdb.ada/array_return.exp: value printed by finish of Create_Small_Float_Vector
17917 type Small_Float_Vector is array (1 .. 2) of Float;
17926 but we calculate the number of elements in the array using
17932 Fix this by calculating the number of elements in the array by using
17963 HINT space and uses the HINT number 19 and to match this an entry is
18017 gdb: use gdb::byte_vector instead of gdb::def_vector<gdb_byte>
18090 The DW_AT_name is relative, and it's relative to the DW_AT_comp_dir entry,
18110 Note that the used gas contains a backport of commit 3417bfca676 ("GAS:
18111 DWARF-5: Ensure that the 0'th entry in the directory table contains the
18113 unpatched 2.35.2 release the directory 0 entry is incorrect: it's a copy of
18114 entry 1.
18137 by passing in the variable's container and the name of the variable.
18138 This approach can't handle variable shadowing (there are a couple of
18155 (md_assemble): Handling the imm32 of USER_MSR.
18200 (mod_table): New entry for USER_MSR and
18217 "invalidates frame" and also assignments of NULL to a frame_info_ptr.
18219 introduction of frame_info_ptr -- nowadays frame invalidations are
18321 Given the shared use of the aarch64-sys-regs.def file across Binutils
18340 In the interest of shrinking dwarf2/read.c a little more, this patch
18349 tracked down to the handling of the .debug_aranges section. Currently
18384 availability, to lower barrier of entry to GDB contributions, and to
18387 sufficient for latest stable releases of distributions to include a
18429 gas: tc-bpf.c: fix formatting of comment
18444 RISC-V: Clarify the behaviors of SET/ADD/SUB relocations.
18445 We are used to generate these kinds of relocations by data directives.
18448 The GAS will generate a pair of ADD/SUB for this,
18452 The addend of R_RISCV_SUB will always be zero, and the summary of the
18453 constants will be stored in the addend of R_RISCV_ADD/SET. Therefore,
18454 we can always add the addend of these data relocations when doing relocations.
18467 So first of all, this patch fixes the wrong relocation behavior of
18470 Afterwards, considering the uleb128 direcitve, we will get a pair of
18476 Which looks also wrong obviously, the summary of the constants should only
18477 be stored into the addend of SET_ULEB128, and the addend of SUB_ULEB128 should
18479 relocation values since we only add the addend of SUB_ULEB128 by accident...
18489 * config/tc-riscv.c (riscv_insert_uleb128_fixes): Set the addend of
18491 of SET_ULEB128.
18500 Add a gdb.Value.bytes attribute. This attribute contains the bytes of
18501 the value (assuming the complete bytes of the value are available).
18503 If the bytes of the gdb.Value are not available then accessing this
18510 For some values we can of course obtain the same information by
18518 or (of course) the value could be in memory.
18521 attribute is similar to calling Value.assign, the value of the
18524 number of bytes (i.e. unlike value creation, we don't allow oversized
18528 of valpy_assign. I've also updated convert_buffer_and_type_to_value
18548 At the exact moment of detach the main thread exits.
18555 There are a number of different fixes, but all are required in order
18576 of the other threads have now been detached. I fix this by changing
18601 First is that when the exit occurs during the early phase of the
18603 breakpoints ahead of the detach. The 'set debug remote on' trace
18621 find the breakpoint list.
18624 the current_process() call returns nullptr. At the point of failure,
18667 arrives at the same time as the detach call. The window of
18685 If we make writing an index-cache entry very slow by doing this in
18700 The FAIL happens because there is no index-cache entry in the cache dir.
18702 The problem is that gdb is killed (by gdb_exit) before the index-cache entry
18764 Prior to the above commit this call took ownership of the buffer
18778 decode_v_run_arg. This function takes care of allocating the memory
18792 argument new_argv, which is of type std::vector<char *>. Each
18806 assignment of nullptr to new_program_name into an assert. Previously,
18807 the assignment could only trigger on the first iteration of the loop,
18819 gdb: make get_symbol_address a private method of symbol
18828 gdb: make get_msymbol_address a private method of minimal_symbol
18869 asan: out of memory in som_set_reloc_info
18870 Sections without SEC_HAS_CONTENTS avoid the file size checks, and of
18905 [readelf] Handle unknown name of main in .gdb_index section
18914 Language of main: unknown: 0
18915 Name of main: ^A
18918 The documentation of gdb says about the "Name of main" that:
18920 This value must be ignored if the value for the language of main is zero.
18926 Language of main: unknown: 0
18927 Name of main: <unknown>
18936 as: fixed internal error when immediate value of relocation overflow.
18968 x86: fold a few of the "alternative" NOP patterns
18975 First of all add f32_5[], allowing to eliminate the extra slot-is-NULL
18977 following the same concept of adding a %cs segment override prefix.
18986 We only use a single bit of this ever growing structure.
18994 cpu_arch[] had a wrong entry for i686.
19002 generalization of ".arch .no*" to cover all ISA extensions other
19005 apparent that a hidden implication of .cpunop not being possible to
19008 collapse all of the (useful) case labels into a single "default" one.
19054 of these comments in bfd-in2.h. eg. the BFD_RELOC_MICROBLAZE_32_NONE
19065 You'll notice how the second and third line of the original comment
19069 I've also edited reloc.c ENUMDOC paragraphs. Some of these had excess
19074 think they add anything to readability of that file. (Perhaps more
19086 * reloc.c: Remove uses of COMMENT and edit ENUMDOC paragraphs.
19105 a bug in clear_solib. Instead of passing an `so_list *` to
19110 This happened because I previously had a patch to change the type of the
19137 python pygments, and in absence of that, unhighlighted source text.
19139 In the case of python pygments, it autodetects which language to use based on
19167 by making the bneid instruction all lower case like all of
19186 - adding a member of a type in the parent to a struct or union in the
19190 - adding a member of a type in the parent to a struct or union in the
19196 - setting the properties of an array in the parent via ctf_set_array;
19202 any of the ctf_add_member* family and nothing complains at all, even though
19206 A family of tests is added to check each of these cases independently, since
19209 work. The set of affected API calls was determined by code inspection
19221 (ctf_add_member_offset): Likewise. Prohibit addition of child types
19226 dict if addition of a string ref fails.
19260 instructions because the bit mask is not including all of the
19285 This patch fixes the bug by applying the same style of fix that was
19305 gdb: fix no-expat build of solib-target.c
19350 - so_list::clear resets some scalar fields of so_list, which we don't
19352 - so_list::clear calls target_so_ops::clear_so, of which there is a
19365 simplying management of list items.
19393 Make the field a vector directly, instead of a pointer to a vector.
19413 gdb: make clear_so a method of struct so_list
19438 the source of the move was.
19452 - Change the internal lists from so_list lists to vectors of rocm_so.
19463 A subsequent patch makes use of non-trivial types in struct so_list.
19470 solib-svr4 maintains lists of so_list objects in its own internal data
19471 structures. When requested to return a list of so_list objects (through
19474 need to replace this use of memcpy somehow. That would mean making
19476 this internal usage of solib-svr4 (and solib-rocm, which does the same).
19479 use of so_list is a bit overkill anyway, as most fields of so_list are
19486 elements in the middle of these internal lists.
19491 creates an so_list list from a vector of svr4_so.
19504 therefore a vtable, use checked_static_cast instead of C-style cases to
19506 of lm_info.
19517 method, make the destructor of lm_info virtual, and call delete directly
19586 reference (&&). Change the type of the method to be auto-deduced as an
19587 additional template parameter, otherwise the signature of the callback
19614 current_program_space in call sites. The implementation of the
19615 clear_solib callbacks is fairly simple, I don't think any of them rely
19642 of linking, including relax stage, but are guaranteed to be defined later.
19644 kinds of symbols since they may be defined after relaxations.
19659 end of each entry.
19667 gdb/testsuite/gdb.rocm: Fix incorrect use of continue N in multi-inferior-gpu.exp
19670 sets the ignore count of the breakpoint the thread stopped at.
19674 the outcome of the test. It is worth fixing nevertheless.
19685 This commit also improves testutils.inc for riscv; make use of
19704 Functions of the hip runtime returning a hipError_t can be marked
19709 appropriate. This avoid a wall of warnings when running the testsuite
19739 in-memory bfd filenames") introduced a use of variable start, but not a
19774 for rv32 since version 2.2. Therefore, make sure the version of q is larger
19812 An example of the problem is that in ctf_member_next, the "offset" value
19825 …Update the documentation of the LINKER_VERSIOn script command to actually mention the name of the …
19829 [gdb/cli] Keep track of styling failures in source_cache
19830 In source_cache::ensure, keep track of which files failed to be styled, and
19831 don't attempt to style them again in case the file dropped out of the cache.
19843 The code is a sizable part of the function, and contains conditional
19854 - the conditional compilation is at the level of the function body.
19885 Before, readelf -d RELASZ is the sum of .rela.dyn size and .rela.plt size.
19886 To consistent with LoongArch lld, RELASZ chang to only the size of .rela.dyn.
19940 TypeError: Object of type LazyString is not JSON serializable
20014 We can still use the workaround of casting to another function type for both
20058 32-bit Arm needs to figure out the thumb state of the original instruction
20062 1e5ccb9c5ff4fd8ade4a8694676f99f4abf2d679, there was the possibility of
20097 Alternatively, I think we could use a function to answer the question of
20116 Currently the only user of the architecture_changed observer is the
20126 When it comes to unwinding GDB makes use of the frame's gdbarch, which
20139 After this commit, targets that make use of thread-specific
20140 architectures should be able to make use of Python unwinders.
20142 As I don't have access to a machine that makes use of thread-specific
20157 objcopy: Fix name of the field modified by pe_stack_reserve.
20210 The rest of the bits in the destination register shall be unchanged.
20212 Further documentation of these instructions can be found here:
20215 With version 6 of the patch, no new relocation types are added as
20218 FIXED: Segfault caused by incorrect termination of microblaze_opcodes.
20234 [aarch64] Use SVE_VQ_BYTES instead of __SVE_VQ_BYTES
20239 name of the constant being used.
20244 xmalloc should be called in ld instead of bfd_malloc.
20274 ld: allow update of existing QNX stack note
20287 etup a default lazy stack of 0x1000.
20293 (nto_add_note_section): Move the creation of the note section
20303 The elf psabi allows for mapping symbols to be of the form $x<ISA>.<any>
20313 gdbserver -- otherwise it can't find the Solaris socketpair. This
20314 patch makes the change. It also removes a couple of redundant
20345 As GDB runs for a potentially extended period of time, if the BFD
20362 Now, for this second problem, we might be tempted to make use of an
20363 actual stat call, instead of calling bfd_stat, however, this isn't
20369 To solve both of these problems GDB has calls to bfd_cache_close_all
20385 function. This function returns an integer, which is the number of
20390 to GDB in some strategic spots, and start fixing all of the missing
20397 variables from int to unsigned. As a consequence of this, the return
20422 differences. After a fair amount of digging my conclusion was the sequences
20428 implementation of sextb is via paired shift-by-24 operations. Similarly the
20435 This patch makes the shift count automatically adjust based on the size of the
20437 full audit of the mcore simulator for more 32->64 bit issues.
20467 # of expected passes 5533
20468 # of unexpected failures 367
20473 (1) Structure consists of one floating-point member within FRLEN bits
20475 (2) Structure consists of two floating-point members both within FRLEN
20477 (3) Structure consists of one integer member within GRLEN bits wide and
20549 # of expected passes 5900
20608 regcaches. It would be enough to invalidate only regcaches of threads
20622 I find that having that wrapper just obscures where the arch is coming
20639 arch, that notifies other parts of GDB of the architecture change. Move
20640 the code of set_target_gdbarch to the inferior::set_arch method.
20724 different contexts than printing result of custom MI command.
20742 For the instructions of R_LARCH_B16/B21, if the immediate overflow,
20769 Language of main: Fortran 95
20770 Name of main: contains_keyword
20773 [ For the example, I used the exec of gdb test-case
20785 and the language of the main function symbol, gathered from
20786 `cooked_index::get_main`, if available. Currently, for lack of a better name,
20789 `cooked_index_functions`, more specifically, the full name of the main function
20795 until it finds out what the language of the main function symbol is. For some
20796 large executables, this may take a considerable amount of time to complete,
20798 and language of the main function symbol be provided ahead of time by the index.
20800 In my testing (a binary with about 1.8GB worth of DWARF data) this change brings
20836 Fix: A potential bug of null pointer dereference
20849 regexps within the gdb_test_multiple made use of the '^' anchor, and
20867 the section of the current branch, now that it has been cut.
20879 Also, as a result of the version bump, the following changes
20886 Add testsuits for new assembler option of mthin-add-sub.
20896 The Option of mthin-add-sub does not affect the generation of R_LARCH_32_PCREL
20956 Make the test-case work by using pushq instead of push for the
20998 I'm seeing a lot of variability in the failures of
21002 breakpoint, GDB is out of sync with the inferior. This causes the tests
21008 We are relying on gdb_continue_to_breakpoint to return the result of
21010 value of a function is the return value of the last command it runs. But
21028 The rest of the bits in the destination register shall be unchanged.
21030 Further documentation of these instructions can be found here:
21033 This patch has been tested for years of AMD Xilinx Yocto
21034 releases as part of the following patch set:
21044 - An entry about MI v1 being deprecated, this feels like it should
21045 be the first entry under the 'MI changes' heading, and
21047 - An entry for the $_shell convenience function which is currently
21048 under the 'New commands' heading (sort of), when I think this
21062 of target_desc::expedite_regs (for each architecture) was not updated
21063 to take account of the type change.
21072 those out of the way we can clean up this test script a little.
21079 - Moved setup of GDBFLAGS into args_test proc, callers that passed a
21104 which also includes this fix as part of a larger set of changes. I'm
21105 giving a Co-Authored-By credit to the author of that original series.
21117 commits ago, this commit fixes handling of newlines in arguments
21125 newlines within arguments, and do some minimal cleanup of the related
21139 which also includes this fix as part of a larger set of changes. I'm
21140 giving a Co-Authored-By credit to the author of that original series.
21152 gdbserver: fix handling of trailing empty argument
21156 The fix for this is in the same area of code as the previous patch,
21157 but is sufficiently different that I felt it deserved a patch of its
21215 Notice the lack of the trailing ';' character here.
21220 to the end of the string.
21222 We break out of this loop when the character we start with (in that
21228 statement at the end of the loop if the (sub-)string we just processed
21238 gdbserver: fix handling of single quote arguments
21280 target the argument is "'". The second of these is correct, the \'
21286 code that does this was added as part of this much larger commit:
21305 which also includes this fix as part of a larger set of changes. I'm
21306 giving a Co-Authored-By credit to the author of that original series.
21328 have a bit of a problem:
21344 I thought it was simpler to add a new option to specify a list of
21433 Use objfile->pspace instead of current_program_space.
21451 objfiles of a program space were just removed (when passed nullptr).
21456 Some existing users of new_objfile do nothing if the passed objfile is
21490 Use objfile->pspace instead of current_program_space in two spots.
21541 above commit. I reduced the test to a simple set of steps that
21549 gdb: remove final user of the executable_changed observer
21555 This bug is interesting because it exposes a number of issues with
21556 GDB, I'll explain all of the problems I see, though ultimately, I only
21571 terminate called after throwing an instance of 'gdb_exception_error'
21577 result of the gdbarch_has_shared_address_space call in
21636 that all objfiles have been unloaded (I know, the overloading of the
21669 current program space. As a result of this mistake, after commit
21680 for all of the matching inferiors?
21708 But I think all of these calls are most likely doing the wrong thing,
21852 In this commit I update reread_symbols to use bfd_stat instead of
21926 fails; there's no file with that name (usually). As a consequence of
21934 However, there is a bit of a weirdness about in-memory BFDs. When
21941 objfile::mtime is the creation time of the in-memory BFD. But, when
21983 stderr, the string followed by the result of calling strerror on the
21989 better, and in fact, in a couple of places we manually print a
21994 function calls warning to print its output. I then updated some of
21997 Some other users of print_sys_errmsg are also emitting what is clearly
22005 this case I just inlined the definition of print_sys_errmsg. This is
22009 reluctant to make this change as part of this commit, just in case
22012 With that done there are now no users of print_sys_errmsg, and so the
22015 While I was doing all of the above I added some additional filename
22019 And finally, while I was updating the uses of print_sys_errmsg in
22021 error strings. As the above changes got rid of one of the users of
22024 There were a couple of tests that depended on the existing output
22033 gdb: remove use of a static buffer for building error strings
22088 Fix up another couple of places where we can apply filename styling.
22146 reading/writing ZT0, availability of the register set, signal context reading
22159 simple given the fixed size of the ZT0 register.
22169 the contents of the registers.
22186 Since most of the code used by gdbserver for SME2 is shared with gdb, this
22187 is a rather small patch that reuses most of the code put in place for native
22202 availability of the feature.
22224 of features are working correctly.
22226 - ZA unavailability tests: Validates the behavior/content of the ZA register
22237 - Signal frame tests: Validates the correct restoration of SME/SVE/FPSIMD
22240 Since some of these tests are very lengthy and take a little while to run
22245 in the areas of SME/SVE. Hopefully in the near future that will happen.
22268 corefile/bug: Add hook to control the use of target description notes from corefiles
22269 Due to the nature of the AArch64 SVE/SME extensions in GDB, each thread
22282 The former, although more correct, doesn't address the case of existing gdb's
22286 the use of the corefile target description note. The hook is called
22291 when it detects any of the SVE or SME register notes in the corefile.
22308 the target description to a note. During loading of that core file, gdb will
22316 at the time of attachment/startup. If, for example, the SVE vector length
22333 Get rid of linux-core-thread-data
22363 the case that the current frame has a set of vector lengths (A) but the signal
22364 context has a distinct set of vector lengths (B).
22371 number of pseudo-registers and types that gets cached on creation of each
22381 it and making it reusable for our purposes of calculating the previous frame's
22402 the contents of the registers.
22425 overlapping part of the v registers to the z registers.
22447 It is also unlikely we will find a process starting up with SVL set to 256.
22465 Instead of using static arrays, build the list of expedited registers
22477 Right now the list of expedited registers is stored as an array of char *,
22480 Convert expedite_regs to a std::vector of std::string so it is easier to
22484 std::vector of std::string as well. Or maybe expose an interface that target can
22486 discovery needs, as opposed to just a static list of char *.
22505 should be validated by attempting a ptrace call for one of the new register
22508 Due to its large size, the ZA register is exposed as a vector of bytes, but we
22509 introduce a number of pseudo-registers that gives various different views
22517 register and the SVCR register. The size of ZA, like the SVE vector registers,
22530 In a target without SVE support, the V registers have a size of 16 bytes,
22535 out in a way that allocates the buffer with the size of the register, but
22536 only updates the amount of bytes for the particular type we're returning.
22538 This may cause a situation where we have a register size of 32 bytes but
22539 are returning a floating point value of 8 bytes. The temporary buffer
22540 will therefore have 32 bytes, but we'll only update 8 bytes of it.
22543 of garbage in it.
22545 Fix this by first reading the original contents of the register and then
22559 Where the current code makes use of unique_ptr, allocating a new buffer by
22562 allowing the functions to have ready access to the size of the buffer.
22565 handling of ptrace get/set requests for SVE.
22574 and touches all the targets, some of which I can't easily test.
22579 No user-visible changes should happen as part of this refactor other than a
22597 The consequence of this mistake is that we convert the initial
22602 values of both the Z and V registers will still be the same. But the
22648 This patch moves instances of system register definitions, represented
22649 by the SYSREG macro, out of their original place in `aarch64-opc.c'
22653 name. This choice is made to enable the use of fast search algorithms
22698 A new `F_REG_ALIAS' flag is added to the set of register flags and
22703 in the case of system register decoding, the aarch64_sys_regs[] array
22705 match accepted. If insufficient care is given in the ordering of
22713 One concrete example of where this is useful is with the
22725 entry.
22736 that includes the target description of the architecture in use.
22748 gdbarch (rather than calling target_gdbarch() to find a gdbarch), and
22749 I now pass in the gdbarch of the signalled thread.
22783 …rect base address calculation. (read_and_display_attr_value): Replace uses of fetch_indexed_value …
22805 that caused an instructionReference to be an array instead of a
22809 exposing the TON form of the response -- something I mentioned might
22824 gdb/testsuite: accept variable number of spaces in gdb.base/jit-reader-simple.exp regex
22830 number of spaces doesn't match what the test expects, after "jit
22899 With gcc 13.2.1, I run into a cluster of fails:
22947 respectively, each of these new event types has a 'progspace'
22950 There's a couple of things to be mindful of.
22972 Finally, when testing, I did hit a slightly weird issue with some of
22973 the remote boards (e.g. remote-stdio-gdbserver). As a consequence of
23001 a consequence of reading files over the remote protocol. The test
23004 result in GDB trying to close some files that are open because of the
23015 account for these warning messages in one of my tests, and it all
23075 This patch has been tested for years of AMD Xilinx Yocto
23076 releases as part of the following patch set:
23085 of the instruction. The offset is hard coded considering its big endian
23089 This patch has been tested for years of AMD Xilinx Yocto
23090 releases as part of the following patch set:
23097 The PLT entry in executables and shared libraries contains an indirect
23111 Each R_X86_64_JUMP_SLOT relocation has a corresponding PLT entry.
23124 1. DT_X86_64_PLT: The address of the procedure linkage table.
23125 2. DT_X86_64_PLTSZ: The total size, in bytes, of the procedure linkage
23127 3. DT_X86_64_PLTENT: The size, in bytes, of a procedure linkage table
23128 entry.
23130 and set the r_addend field of the R_X86_64_JUMP_SLOT relocation to the
23131 memory offset of the indirect branch instruction. The dynamic linker
23138 r_addend of R_X86_64_JUMP_SLOT to the indirect branch offset
23139 in PLT entry for -z mark-plt.
23210 In any case, this commit is based on one of Red Hat's really old
23212 of cruft, hopefully without losing any critical elements from the
23219 In his review of v1 of this patch, Lancelot SIX observed that
23220 'thread_local' could be used in place of '__thread' in the C source
23265 This patch has been tested for years of AMD Xilinx Yocto
23266 releases as part of the following patch set:
23304 not sure of the exact scenario (though looking back it probably involved
23336 Fix the segfault by handling asm_lines.empty () results of tui_disassemble in
23403 Introduce type-safe variant of gdb_bfd_openr_iovec
23404 This patch adds a new, type-safe variant of gdb_bfd_openr_iovec. In
23450 iterate over the objfiles list, and for each of those we check the
23481 going on here, it just follows the same pattern as many of the other
23508 This commit continues the work of the previous few commits.
23525 In this commit I change the signature of the observable and then pass
23529 As there are (currently) no users of this observable nothing else
23535 insight debugger to make use of this observable rather than using the
23545 gdb: remove unnecessary notification of executable_changed observer
23546 This commit continues the work of the previous two commits.
23548 My goal, in the next couple of commits, is to expose the
23550 before I do that I want to remove the use of the executable_changed
23552 isn't directly associated with a change of the executable file, and so
23555 In the previous two commits I have removed all users of the
23558 there are no users of the executable_changed observable.
23560 As such, I think removing the use of executable_changed from the
23572 gdb: remove final user of the executable_changed observer
23576 The goal of the next couple of commits is to expose the
23583 The previous commit removed one user of the executable_changed
23595 As with the previous commit, I think we can safely replace the use of
23596 the executable_changed observable with a use of the new_obfile
23605 gdb: remove one user of the executable changed observer
23612 this use of the executable_changed observable, but, before I can do
23614 requires my to think about the current users of this observable.
23616 One current user of executable_changed is in symtab.c. We add an
23662 'exec-file' command. Obviously the 'file' command sets both of these
23699 gdb/x86: use size of XSAVE area of enabled features
23706 The test gets the register state (saves the output of "info
23710 of ymm registers is unavailable:
23715 One strange thing with this machine is that the bitset of state
23719 find why yet.
23723 - from EBX: max size of the XSAVE area required by features currently
23725 - from ECX: max size of the XSAVE area required by all features
23730 file note for the XSAVE state, it writes a note of size 896, even though
23732 to figure out the layout of the XSAVE area based on what features are
23733 enabled in XCR0 and the size of the note (the size of the XSAVE area).
23734 Since my combination of XCR0 and size of XSAVE area doesn't match any
23739 field (and consequently the size of the XSAVE state note in core files)
23740 using EBX, the size of the XSAVE area required by currently enabled
23755 reducing the diversity of XSAVE state notes that GDB needs to be able to
23767 to infer ("guess") the size of the XSAVE register set that the Linux
23769 to query this size directly from the kernel via ptrace. My use of ECX
23771 the kernel enables all of the available features, then ECX and EBX
23773 kernel has enabled a subset of available XSAVE extensions.
23786 …* elf.c (_bfd_elf_get_dynamic_symbols): Add a NUL byte at the end of the string table. Initialise …
23858 testcase already records the ids of the important threads in globals.
23886 (gdb) FAIL: gdb.threads/pthreads.exp: Continue to creation of first thread
23888 ... and then a set of cascading failures.
23912 (gdb) FAIL: gdb.threads/pthreads.exp: Continue to creation of first thread
23916 pthread functions return the error directly. Fix all cases of the
23958 Following the folding of some generic AVX/AVX2 templates with their
23963 Following the folding of some generic AVX/AVX2 templates with their
23969 In anticipation of APX introduce logic to reduce the number of templates
23970 we have now, allowing to limit some the number of ones we then need to
23977 - the EVEX form being AVX512F (with or without AVX512VL), not any of its
23983 way for now. (Similarly a couple of if()-s which could be folded are
24002 x86-64: fix suffix-less PUSH of symbol address
24006 conditions") I neglected the case of PUSH, which is the only insn
24008 displacements, like CALL/JMP) in the absence of any register operands.
24016 and c-exp.c.tmp. Just include it in the list of symbols we rename.
24047 the leader) call SYS_exit, the exit status of the process should be the
24048 exit status of the leader. After that change in the kernel, it is no
24141 Fix a snafu in the new tests for reproducible archives that assumed a umask of 22.
24175 a word number, this one increases the number of flag words from 1 to 2.
24177 The patch uses some dummy features to push the number of features
24185 of 64 features. This patch reworks it so that the limit can be
24203 - a list of individual features
24205 - an architecture version + a list of additional features
24208 The main restriction was that uses of the same preprocessor macro
24210 arguments, it needs to use a chain of N macros to do it. There then
24211 needs to be a way of deriving N, as a preprocessor token suitable for
24214 The easiest way of doing that was to precede each list of features
24215 by the number of features in the list. So an aarch64_feature_set
24259 …4 bytes of space. Due to this when we do a stepi on paddi instruction we get a SIGILL interrupt. H…
24267 Allow the use of SOURCE_DATE_EPOCH in the timestamps for members of static archives.
24279 seems to me that this must be copying the string (? I find it hard to
24294 Fix readelf's display of dwarf v5 range lists
24353 of .got.plt are placed within the relro region.
24552 Synopsys ARCv1/ARCv2 ISA, however, it retains a lot of common
24577 * bfd/arc-plt.def: Add ARC64 PLT entry.
24678 …fbsd-nat.c:1726:22: error: declaration of 'inf' shadows a previous local [-Werror=shadow=compatibl…
24704 I recently checked in a patch that removed the use of the "struct"
24722 instead of
24726 I have not yet modified Elf-reader in gprofng to remove parsing of .symtab or
24804 other callers of make_source which also use "fullname" if it exists (see
24899 no support for it. Enhancement PR symtab/30838 is open about the lack of
24964 error on out of memory from bfd attribute functions.
24987 expected there to be no children of a 'const char *' variable. This
24989 that a C type of this kind is recognized as a string.
25004 turn lets us change the Python implementation of these methods to
25027 This replaces some casts to various kinds of catchpoint with
25086 happening as it should, so I took care of that too.
25116 Fix: Use of uninitialized memory
25138 an error when the size of the file would exceed the maximum value
25139 capable of being represented by 'offset_type'.
25142 changing the type of total_len in write_gdbindex_1 from size_t to uint64_t.
25166 AMD GPUs [1]. Here's a copy of the description of the setting:
25168 The AMD GPU can overlap the execution of memory instructions with other
25176 stop event. Enabling this mode can make execution of waves significantly
25200 Add a handful of tests. Add a util proc
25233 was that the form used by the std::hash specialization of ptid_t was
25263 gdb: add Lancelot Six as maintainer of the AMD GPU port
25264 Lancelot has accepted to take the role of maintainer for the AMD GPU
25277 with an old version of Bison (2.3, the version available on macOS).
25290 arc: Fix alignment of the TLS Translation Control Block
25293 - S is the base address of the symbol in the memory
25296 - TLS_REL is the base of the TLS section
25326 Instead of:
25337 Where some parts of '...' identical between the two branches. I think
25356 with the purpose of ensuring that GDB doesn't hold the BFDs open
25384 may be out of order in .eh_frame. Define GAS_SORT_RELOCS so that reorder
25413 Oddly enough a few of our testcases actually exhibit bad behavior (and
25419 Do checks before updating state, and bail upon failure of either of the
25431 of the test gdb.mi/mi-dprintf.exp. It also fixes an incorrect name for a
25445 refer to other areas of the section. Thus, there is a size limit of
25452 write_gdbindex_1, both of which are in gdb/dwarf2/index-write.c.
25502 …fedora-bugs/1773651/libgraph_tool_inference.so': gdb-index maximum file size of 4294967295 exceeded
25505 I wish I could provide a test case, but due to the sizes of both the
25530 The definition of XOBNEWVAR is (from libiberty.h):
25534 So 'saved' is going to point to addresses.size () bytes of memory,
25535 however, the std::copy will write addresses.size () number of
25540 vector of entries, the definition of XOBNEWVEC is:
25545 Which means we will have set aside enough space to create a copy of
25546 the contents of the addresses vector.
25554 of the problem, and with this patch in place there are no longer
25565 I've been running the test-suite on an i686-linux laptop with 1GB of memory,
25566 and 1 GB of swap, and noticed problems after running gdb.base/huge.exp: gdb
25567 not being able to spawn for a large number of test-cases afterwards.
25576 with sizeof (int) == 4 represents two arrays of 8MB each.
25611 There is a PR open about needing sparse representation of large arrays
25616 allocating a lot of values.
25641 A more reliable way of detecting the problem is:
25647 auto iter = std::find (all_values.begin (), all_values.end (), mark);
25679 Add Fortran and Ada variants of the test-case. The *.exp files are similar
25687 perhaps there's a better way of implementing this.
25714 Looking at the VEX and EVEX forms of vcvtneps2bf16 I noticed that
25734 VEX256 ones) encodings regardless of vector size restrictions in place.
25743 Since this is merely a re-branding of certain AVX512* features, there's
25747 some of the existing testcases, several of them need their start symbols
25757 x86: make AES/PCMULQDQ respectively prereqs of VAES/VPCMULQDQ
25785 …* elf-strtab.c (_bfd_elf_strtab_init): In the event of memory allocation failure, make sure that t…
25815 not artifacts of the implementation.
25839 The root cause of this issue is that we lost the initialization of
25862 The problem is that the variable 'f' is used in the second half of
25878 an invalid use of execl. This patch fixes this oversight.
25890 This changes hash_ptid to instead be a specialization of std::hash.
25908 change is in the naming of tests.
25916 Got a regression email due to merge of commit in CI config
25920 Begining of test "gdb.fortran/array-slices-bad.exp" was updated in above
25922 instead of "fortran_runto_main". Reason of the regression is shared
25934 Following the example of private_thread_info and private_inferior, turn
25954 …IL: gdb.arch/amd64-init-x87-values.exp: check_x87_regs_around_init: check post FLD1 value of $fioff
25956 The register that GDB calls fioff normally contains the address of the
25958 FSAVE/FXSAVE/XSAVE instructions, at offset 0x8 of the FSAVE/FXSAVE/XSAVE
25965 the fioff register contains the address of the FLD1 instruction.
25970 Instructions" of the AMD manual, we read:
25990 I toyed with the idea of changing the test program to make it so the CPU
26019 when a DW_CFA_advance_loc4 of zero is seen in eh_frame_relax_frag and
26055 clue that GDB makes it available as register "fioff". The names of the
26057 sections of the Intel manual (between the FSAVE, FXSAVE and XSAVE area
26072 I'm looking to add some x86-specific information to the doc, but I find
26073 the naming of this section odd. It doesn't really talk about issues, it
26077 Also, at least in the HTML version of the doc, the name is inconsistent
26078 between the main table of content, where it appears as "x86
26079 Architecture-specific Issues", and the sub-table of contents of the
26097 and noticed that compilation failure for one exec prohibited testing of all
26119 could not find '.gnu_debugaltlink' file for dwzbuildid-mismatch^M
26139 While investigating the execs of gdb.dwarf2/dwzbuildid.exp using readelf I ran
26143 readelf: Warning: .debug_info offset of 0x2e in .debug_aranges section does not
26185 The problem was that one of the expected output patterns included some
26195 To solve both of these issues, in this commit, I'm removing the
26246 Normally, the expected behavior of fortran_runto_main for these would be
26247 the stopping of the debugger at exactly the first statment in the code.
26250 Instead, issuing 'start' in ifx (for either of the 2 tests) lets GDB
26267 There were a couple of places in the testsuite where instructions like
26271 were written in the source code of tests. These were usually dummy
26272 statements meant to generate a line table entry at that line on which
26311 and also has no line table entry:
26332 bunch of nested function calls we issue and test a 'info args' command
26335 The signature of the function looks like
26350 emitted here. However, due to some compiler dependent treatment of the
26362 where the compiler generated '_e' is emitted as the length of e. While
26364 up to the compilers here I think, I could not find anything in the
26377 made the regex for the emitted name of the last variable match any
26395 PR30793, kvx_reassemble_bundle index 8 out of bounds
26397 there is a problem: Now the last element of bundle_words never gets
26399 So this patch rearranges things a little to support writing of all of
26405 passed a wordcount of KVXMAXBUNDLEWORDS + 1. I've also made
26424 This is a combination of bugs. First, setting the visualizer does not
26453 not using the actual contents of the string.
26455 Now, this part of MI seems bad to me, but rather than change that,
26469 No definition of "red" in current context.^M
26516 The array V1 is of type A1 which is an array with index type E1, containing
26520 type A1 is array (E1) of Integer;
26529 When doing "print v1(three)", it's the job of ada_resolve_enum to resolve
26539 an element of the correct enum type. */
26588 where one of the two identical enums is picked before the enum_rep handling
26589 can resolve lit3 to one of the two.
26607 following the general idea of pushing the construction of these
26616 gdb/mi: make current_token a field of mi_interp
26619 current_token a field of mi_interp. This variable contains the token of
26624 I didn't find any bug related to that, it's just a "that seems nicer"
26630 function, there is no such concept of token, so we can just skip that.
26644 Add testcase for generation of 32/64_PCREL.
26648 Use 32/64_PCREL to replace a pair of ADD32/64 and SUB32/64.
26652 If subsy of BFD_RELOC_32/64 and PC in same segment,
26653 and disable relax or PC at start of subsy or enable
26655 to replace a pair of ADD32/64 and SUB32/64.
26659 RISC-V: Clarify the naming rules of vendor operands.
26683 gold: Use char16_t, char32_t instead of uint16_t, uint32_t as character types
26692 char32_t for 2- and 4-byte entry size, respectively.
26695 char32_t instead of uint16_t, uint32_t.
26708 the original string. The fixup then of course was overwritten.
26720 bit of code in remove_extra_symbols:
26726 The test-case does "print red" and expects one of these two choices to be
26745 No definition of "rgb_color" in current context.^M
26748 Fix this by changing the type of SC to RGB_Color, and add prints of the two
26751 With the test-case fixed, if we disable the bit of code in
26810 Line 1 of "setshow.c" is at address 0x400527 <main> but contains no code.^M
26811 Line 1 of "setshow.c" is at address 0x400527 <main> but contains no code.^M
26816 Line 1 of "setshow.c" is at address 0x400527 <main> but contains no code.
26820 The second line of the expected output is missing due to the first line of the
26824 This happens because the PU imported by the CU reuses the filetab of the CU,
26857 We set LD_LIBRARY_PATH and GPROFNG_SYSCONFDIR to find our libraries and
26917 and reworks some of the line-wrapping tests to account for the argv
26942 of the cases where gdb knows that a structure type is really
26945 Type.is_string_like is added to make Python aware of cases where gdb's
26957 will always use the language of the innermost frame. However, it is
26998 Note that the size of the type_specific_field bitfield had to be
26999 increased. I checked that this did not impact the size of main_type.
27016 If the length of a register name was greater than 15,
27018 prints random data from the heap instead of the requested
27019 number of spaces.
27060 readelf: Add option to display the names of sections referenced by symbols.
27062 …ename to print_sumbol_name. (printable_section_name): Use a rotating array of static buffers for t…
27080 This is based on the "Hardware Updating of PTE A/D Bits (Svadu)"
27108 the design of base CSR handling.
27131 * testsuite/gas/riscv/csr-version-1p9p1.d: Reflect the changes of
27154 RISC-V: Prohibit combination of 'E' and 'H'
27162 This commit prohibits the combination of 'E' and 'H' extensions.
27250 pause (). I added a "while (1);" loop at the start of main, reverted the
27271 gdbserver: i387_cache_to_xsave: fix copy dest of zmm registers
27276 FAIL: gdb.arch/i386-avx512.exp: check contents of zmm_data[16] after writing ZMM regs
27277 FAIL: gdb.arch/i386-avx512.exp: check contents of zmm_data[17] after writing ZMM regs
27278 FAIL: gdb.arch/i386-avx512.exp: check contents of zmm_data[18] after writing ZMM regs
27297 value of zmm16 to change when stepping).
27299 The problem is on the gdbserver side, the zmmh and ymmh portions of the
27346 patch fixes all of these.
27352 x86: unindent most of set_cpu_arch()
27353 Inverting the initial if()'s condition allows to move out the bulk of
27361 line with CpuVPCLMULQDQ. Add the missing suffix, but of course leave
27378 entries need to come ahead of their alias ones. Since identical
27408 gdb: remove uses of alloca in gdbtypes.c
27409 Replace two uses of alloca with std::string.
27515 eval_op_ternop is only used by the implementation of
27525 of the .exp file for a description of what it's about.
27540 threads, and thread local storage. Fortunately, none of that is
27549 assertion failure - for this run, the process id of the separately
27617 method noted above) to include a test of the OBJFILE_MAINLINE flag.
27618 However, Simon Marchi, in his review of my patch, suggested a better
27627 must be independent of any objfile. However, the value of the
27628 maybe_copied field is dependent on the objfile in the context of
27630 re-used in the context of another objfile, the maybe_copied value is
27631 not right in the context of that objfile.
27635 context of this given objfile". And the answer is yes or no,
27649 During his review of the v3 series, Tom noted, "The old approach was
27654 objfile. It is set at the end of elf_symfile_read() in elfread.c.
27656 this method to return false when the flag is not set. If we find that
27688 Both of these more common scenarios work perfectly fine; using
27714 versions of makeinfo.
27718 I went through the entire manual using the spacebar, trying to find
27776 creation of the sections occurs earlier, before any potential uses of
27780 as I see that function might skip over end-of-line, and lack of a
27782 ignored. (Other uses of this function in gas are OK.)
27785 param. Pass to get_stab_string_offset rather than name of
27804 bool freenames. Move creation of stab and stabstr sections
27806 of notes obstack during expression parsing. Tidy error paths
27808 place of get_absolute_expression_and_terminator.
27832 Handle the remaining uses of TYPE_ALLOC, either by:
27843 I noticed some cases of TYPE_ALLOC followed by B_CLRALL.
27854 I noticed a case of TYPE_ALLOC followed by memset.
27864 [gdb/symtab] Do more zero-initialization of type::fields
27866 no zero-initialization of allocated fields is done are easy to spot:
27868 $ find gdb* -type f | grep -v ChangeLog | xargs grep alloc_fields | grep false
27879 All hits in gdbtypes.c are ok. There are two hits in the two variants of
27904 /* Allocate the fields array of this type, with NFIELDS elements. If INIT,
27914 Pretty soon I discovered that most of the latter cases are due to
27915 initialization by memcpy, so I added two variants of copy_fields as well.
27917 After this rewrite there are 8 uses of set_fields left:
27964 of STARTUP_MEMORY when ivtbase_addr is not defined. Previously, it
27985 sections of their linked to sections are different.
27999 Check DT_SYMTAB only on non-IR object of archive member to avoid crash
28055 Replace the manual fill of the vector with the appropriate std::vector
28056 constructor that makes N copies of the provided value.
28067 Revert "Gold/MIPS: Use EM_MIPS instead of EM_MIPS_RS3_LE for little endian"
28089 gdbserver, linux-low: add a couple of nullptr assertions.
28090 This safeguards a couple of places that may theoretically return NULL but
28103 behavior of the manual and LLVM.
28127 Re: readelf/objdump: Handle DWARF info with mixed types of range section
28137 [gdb/build] Fix C inclusion of nat/x86-cpuid.h
28151 # of untested testcases 1
28180 value_array requires the passed-in bounds to match the length of the
28218 in the loop header, rather than at the top of the function. This is
28230 can work on any size of array, so it seems bad to use alloca.
28249 (gdb) FAIL: gdb.reverse/step-precsave.exp: run to end of main
28255 This seems like an AVX512 instruction (given the use of zmm16). Match
28314 find it in the list returned by host_locales.
28367 patch unifies the two of them.
28385 # of untested testcases 1
28392 Fix this by testing for the presence of the header, such that we have instead:
28431 gdbserver: Fix style of struct declarations in i387-fp.cc
28435 gdbserver: Simplify handling of ZMM registers.
28436 - Reuse num_xmm_registers directly for the count of ZMM0-15 registers
28440 - Replace 3 identical variables for the count of upper ZMM16-31
28441 registers with a single variable. Make use of this to merge
28442 various loops working on the ZMM XSAVE region so that all of the
28449 of GPRs in the XSAVE area. This should be harmless, but is
28465 Replace the extended state area fields of i387_xsave with methods which
28477 Legacy fields of the XSAVE area are already defined within fx_save
28489 the value instead. Add a static global instance of x86_xsave_layout
28499 In addition, use x86_xsave_length to determine the size of the XSAVE
28507 All of the tables describing the offsets of individual registers for
28519 of the XSAVE register set. If there is a way to fetch the register set
28528 x86_xsave_layout as well as xcr0 using the size of an existing
28530 i387_guess_xsave_layout. Use this to add an implementation of
28533 Use tdep->xsave_layout.sizeof_xsave as the size of the XSTATE register
28541 Use the CPUID instruction to fetch the offsets of supported state
28550 x86_xsave_layout as well as xcr0 using the size of an existing
28552 i387_guess_xsave_layout. Use this to add an implementation of
28555 Use tdep->xsave_layout.sizeof_xsave as the size of the XSTATE register
28563 x86_xsave_length returns the total length of the XSAVE state area
28566 x86_fetch_xsave_layout uses CPUID to query the offsets of XSAVE
28567 extended regions from the running host. The total length of the XSAVE
28585 Current OS's do not export the offsets of XSAVE state components in
28587 set offsets based on known combinations of XCR0 masks and total state
28605 The standard layout of the XSAVE extended state area consists of three
28606 regions. The first 512 bytes (legacy region) match the layout of the
28610 or more optional state components. Examples of these include the
28611 upper 128 bits of YMM registers for AVX.
28616 additional CPUID leafs describing the size and offset of each
28630 total size of the XSAVE extended state area as well as the offset of
28647 Use hex_string in gdb/coffread.c instead of PRIxPTR
28680 concatenating multiple auxents for the old PE multi-aux scheme of
28689 (Internal auxents are larger than the x_fname array, so the pieces of
28780 or mips*el* may cause some problem with other components of
28785 Gold/MIPS: Use EM_MIPS instead of EM_MIPS_RS3_LE for little endian
28787 most of current LE ELF files are using EM_MIPS.
28790 gold is a linker, and all of the inputs to it has right EM values.
28810 strings constained in dos_message. Rather than fix the lack of
28812 dos_message internally as an array of ints.
28825 Tidy allocation of tdata.pe_obj_data. Set up dos_message from..
28884 Simplify definition of GUILE
28892 This patch also removes the use of "-s" as an option to cgen scheme
28907 The author of 'mold' pointed out that with a certain shared library,
28908 gdb would fail to find the shared library's name in 'bt'.
28910 The function in question appeared at the end of the .so's .text
28913 This turned out to be a classic case of calling get_frame_pc when
28915 for purposes of finding the enclosing function or shared library.
28929 i386: warning: format ‘%u’ expects argument of type ‘unsigned int’,
28931 ia64: warning: ignoring return value of ‘fgets’
28966 This patch gets rid of the individual rules including the .Pc
28968 a fancy GNU make pattern include. I've also moved creation of
28972 * Makefile.am: Replace individual include of *.Pc dependency
28994 another failure outside of ASAN:
29076 This matches the current set of system calls at the start of the
29096 knowledge, section contents stores the addends alone, not the result of
29098 comment ahead of the sole use site of CALC_ADDEND() may need to account
29113 gas/ELF: widen use of $dump_opts in testsuite
29114 Rather than special-casing rx-*-* for section30, force use of
29116 a few more tests, a number of xfail-s (and one notarget) can be
29117 eliminated (some of which had wrong justifications in associated
29120 and is getting in the way now. For section12b, section16b, and most of
29136 While touching the function invocation, stop using |= on the result of
29137 obj_elf_parse_section_letters(): "attr" is firmly zero ahead of the
29155 exit. Also a realloc is perhaps not a good idea when none of the
29157 were three copies of the string handling code, so rather than fix them
29159 of the fields in struct som_symbol unsigned.
29201 seen, one of two things can happen.
29203 First, if the arch of this device is unknown to BFD,
29210 The second case is if BFD knows the micro-architecture of the device,
29253 kvx: fix kvx_reassemble_bundle index 8 out of bounds
29270 test, this early exit will cause most of the subsequent tests to be
29274 fact failed to record the execution of the whole function, and
29278 At the time of committing, this reduces the amount of failures when
29302 Which is clearly using the incorrect rbp to find the memory location of
29306 Finally, correctly informing the compiler of clobbered registers
29307 makes gcc throw an error that the rsp is no longer usable at the end of
29321 Clang-15, for instance, associates 6. Because of this, the inferior used
29322 to get seriously out of sync with the test expectations, and result in 13
29325 This commit changes the test so that we check for PC instead of line
29336 assumption that line tables will have an entry for the closing } in a
29406 padding is added before pi to show that the actual address of pi and
29441 kvx: fix handling of STB_GNU_UNIQUE symbols
29503 Don't ignore the extent of the BFD section - use the size of the srelplt
29541 After running a number of programs under Windows gdb and detaching
29560 the return value is the required number of array elements. The
29566 size, so we should have broken out of the loop. We didn't due to a
29585 readelf/objdump: Handle DWARF info with mixed types of range section.
29612 of these commits, if a b/p condition failed due to a signal then the
29614 signal occurred, and the second at the location of the breakpoint.
29622 problem with GDB after the above commits. Neither of the above
29627 location of the breakpoint, not at the location where the signal
29631 GDB reports a single stop event at the location of the breakpoint,
29668 now call async_enable_stdin for each of the three cases listed above,
29693 Evaluation of the expression containing the function
29723 Evaluation of the expression containing the function
29749 Evaluation of the expression containing the function
29756 This is better. GDB now reports a single stop at the location of the
29775 "set unwindonsignal off". Evaluation of the expression containing
29798 New helper proc mi_info_frame which takes care of running the MI
29808 Instead of the current equivalent:
29815 responsible for building the 'frame={...}' part of the pattern.
29844 …GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7fffffffda80…
29867 …GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7fffffffda80…
29888 This fix was originally posted as part of a larger series:
29892 But didn't really need to be part of that series. In order to get
29894 outside of the original series. Any bugs introduced while splitting
29903 After the previous commit, exit_inferior_1 no longer makes use of the
29928 function was called back then) no longer makes use of the "silent"
29934 - None of the interpreter ::on_thread_exited functions rely on the
29937 - None of GDB's thread_exit observers rely on the silent parameter
29943 This commit was originally part of a larger series:
29947 But didn't really need to be part of that series. I had an interest
29952 Which also didn't really need to be part of the larger series, but
29955 this commit outside of the original series. Any bugs introduced while
29968 This is a partial revert of the commit:
29989 Have the mi_out_new function return a std::unique_ptr instead of a raw
29990 pointer. Update the two uses of mi_out_new.
30012 I've make use of this function in all the places I think this can
30030 of inferior specific breakpoints.
30036 by all of the MI procs that create breakpoints.
30066 failed to update this part of the code during the rebase.
30068 The consequence of this error is that the MI interpreter will not emit
30129 kvx: asan: out-of-bounds read
30146 This patch replaces some uses of bfd_signed_vma in the kvx backend
30148 do-nothing function. In the process of making this patch I noticed
30149 some dead code in the GOT entry handling, setting value to
30171 (elfNN_kvx_final_link_relocate): Correct GOT entry comment.
30176 Some places matching the first char of a string against
30178 This could lead to accesses past the end of the string and potential
30179 buffer overruns. Fix that, and also get rid of a stupid optimisation
30181 the end of a string.
30186 Some places matching the first char of a string against
30189 end of the string and potential buffer overruns.
30246 A PR has been filed to take care of this in the opcodes dir instead (PR30758).
30280 The only exception to the rule of appending `A' to variables is found
30281 in the handling of the `AARCH64_FEATURE_V8' macro, as it is the
30288 A/R-profile indicator suffix. This has meant that renaming of
30385 objdump: file name table entry count check
30387 the entry count uleb is ridiculously large, and format attributes
30388 don't consume data (which doesn't make sense for a table of names).
30390 * dwarf.c (display_formatted_table): Sanity check count of
30444 Because of this there are also no neg/neg32 instructions which operate
30480 Teach binutils/BFD about it so that gdb can make use of it for reading
30500 the ia64-vms support. Given a file of the "wrong" size,
30505 commit 8219cab3f8 fixed multiple bugs of this type in bfd_close and
30530 I get a couple of -Wmissing-declarations errors when building the sim.
30707 Remove some of the warnings generated by newer versions of ld.
30744 Remove most includes of psymtab.h
30746 patch removes these includes, and also one unnecessary include of
30755 the number of base relocations in the final image.
30757 gas: make S_IS_LOCAL() and S_IS_EXTERNAL() exclusive of one another
30758 While they aren't opposites of each other, there also shouldn't be any
30784 gprofng: Use execvp instead of execv
30788 execv() does not use $PATH to find the executable.
30793 * src/gp-display-text.cc (reexec): Use execvp instead of execv.
30805 would need to create a condition possibly making use of the $_inferior
30810 of inferior specific breakpoints.
30881 This patch fixes that by making all the #line use $srcdir by virtue of
30884 I also uniq list of files to remove duplicated elfxx-x86.c, sort lists
30885 of files and regen with our standard automake/autoconf.
30889 * Makefile.am: Sort various lists of files. Use $< in #line
30890 directive of generated C files.
30891 (po/SRC-POTFILES.in): uniq SRC_POTFILES.
30892 (po/BLD-POTFILES.in): uniq BFD_POTFILES.
30894 * po/Make-in (bfd.pot): Edit out source dir from comments.
30895 * po/SRC-POTFILES.in: Regenerate.
30899 * po/POTFILES.in: Regenerate.
30932 In target_read_auxv we return a copy of an object:
30944 This is exposed by using std::pmr::polymorphic_allocator instead of
30968 [gdb/build, c++20] Fix deprecated implicit capture of this
30971 gdb/ada-lang.c:10713:16: error: implicit capture of ‘this’ via ‘[=]’ is \
30992 gdb/ui-out.h:412:3: note: in expansion of macro ‘DISABLE_COPY_AND_ASSIGN’
31052 - allowing gdb_remote_download to find $binfile3 by using
31065 bpf: gas: consolidate handling of immediate overflows
31069 - For an immediate field of N bits, any written number (positive or
31137 and noticed gdb segfaulting during cooked index creating due to running out of
31145 Note that this doesn't fix the same problems for the more complicated case of:
31250 …FAIL: gdb.base/vfork-follow-parent.exp: resolution_method=schedule-multiple: continue to end of in…
31257 so for Linux this will be all-stop on top of non-stop.
31270 of these cases is useful I think.
31294 behaviour of four different cases:
31306 the regression, and (b) it turns out the behaviour of #2 changed too
31318 vfork-child, both of which succeed,
31347 important difference is in step (2) above, now, instead of resuming
31355 though the pattern of when the vfork-parent is resumed changes, the
31356 overall pattern of which events are reported and when, doesn't
31358 of events (in this test) is now deterministic, which (maybe?) is a
31370 vfork-child is a sibling of the event thread,
31384 all-stop-on-non-stop above, GDB selects one of the events to
31405 I considered a couple of solutions which, in the end, I didn't go
31408 1. Move the vfork-parent check out of proceed_resume_thread_checked,
31428 of proceed. This function already has the task of switching between
31441 selected thread to be that of the vfork-child,
31574 This commit replaces all such occurrences of 18446744073709551615 with
31590 The documentation of the 'Zfa' extension states that "fli.h" is available
31617 * riscv-opc.c (riscv_opcodes): Change instruction class of "fli.h"
31672 number of base relocations in the final image.
31679 number of casts elsewhere.
31687 number of base relocations in the final image.
31707 suggestion of Tom Tromey.
31725 Report that the thread is alive instead of dead if ptrace fails with
31753 in ::wait_1 as a side effect of parsing the event. To support older
31760 I did not fully understand the requirements of multiple process
31766 structure which trackes the number of existing and running LWPs for
31768 set of LWPs currently resumed for each process.
31775 the later call to the wait method requests an event from one of the
31798 the set of threads and processes previously resumed, defer the event.
31802 One specific example of such an event is if a thread is created while
31807 from the first thread before the result of the step from second
31814 fbsd-nat: Add a list of pending events.
31815 The m_pending_events list stores a queue of deferred events that might
31816 be reported by the next call to the target's wait method. The set of
31819 For now this just replaces the list of vfork_done events. A
31932 Consider the help text of "maint print symbols":
31935 Print dump of current symbol definitions.
31947 Print dump of current partial symbol definitions.
31983 No one should be using versions of dejagnu without prune_warnings,
32032 static int __attribute__ ((used)) rr = 42; /* line of rr */
32036 static int __attribute__ ((used)) rr = 99; /* line of other rr */
32042 that it's fine to store only one copy of rr in the gdb-index, because
32046 returns a list of variables rather than the first one.
32071 In this case, $PATH is used to find gp-display-gui from gprofng
32123 assert for this case was NOT a good fix - a study of the log file for
32132 after the test program was detached. Examination of the core file(s)
32157 works. I also increased the number of iterations for the loop running
32184 # of unexpected core files 12
32185 # of expected passes 3011
32186 # of unexpected failures 14
32188 Each of the 12 core files were caused by the failed assertion in
32189 maybe_hw_step in linux-low.c. These correspond to 12 of the
32200 # of expected passes 10178
32201 # of unexpected failures 2
32207 During his testing of this fix and the new test case, Luis Machado
32210 reduced the loop count, timing each one, also noting the number of
32241 toplevel: Substitute GDCFLAGS instead of using CFLAGS
32246 * Makefile.tpl: Substitute @GDCFLAGS@ instead of using
32252 Use the substituted value for GCDFLAGS instead of hardcoding $(CFLAGS) so
32301 Fix collection and processing of autoprofile data for target libs
32307 instead of stage1-gcc/cc1, stage1-gcc/cc1plus, and stage1-gcc/lto when
32319 events create_gcov can't make sense of kernel addresses. Currently create_gcov fails if
32320 it can't map at least 95% of events. We sometimes get below this threshold with just
32353 The jump from v2.076.1 to v2.098.0 covers nearly 4 years worth of
32365 Makefile.def: drop remnants of unused libelf
32366 Use of libelf was removed from gcc in r0-104274-g48215350c24d52 ("re PR
32396 libtool.m4: Sort output of 'find' to enable deterministic builds.
32397 * libtool.m4: Sort output of 'find' to enable deterministic builds.
32412 This change adds the configury bits to activate the build of
32417 Set lt_cv_deplibs_check_method in libtool.m4, so the build of
32419 configurations such as aarch64 where proper support of LSE relies
32484 * mh-mingw: Drop assignment of unused BOOT_CXXFLAGS variable.
32523 in the application of this, since it only applies to 32b hosts
32532 of toolchains for which it is included which reduces clutter in
32579 Add NCN_STRICT_CHECK_TARGET_TOOLS entry for gm2.
32580 Add GCC_TARGET_TOOL entry for gm2. (compare_exclusions)
32586 Add entry for language=m2 with gcc-check-target=check-m2
32640 The latest versions of Darwin on the Aarch64 platform mandate PIE executables.
32649 of the host_pie setting so that the logic for setting PICFLAG must be amended
32656 value of host_pie, as determined by top-level configure, to the GCC configure.
32666 There's no reason to create this file if none of the serial configure
32676 protection against ROP attacks, and can be viewed as part of a wider
32726 * libtool.m4: Update handling of Darwin platform link flags
32734 the code of libgcc, and also benefits Glibc once we merge longlong.h
32753 c++: source position of lambda captures [PR84471]
32760 The loongarch64 specification permits page sizes of 4KiB, 16KiB and 64KiB,
32778 PowerPC. The patch substitutes $decimal instead of "1" to match the value
32779 of NUMCHILD.
32782 on the value of VAROBJ_UPDATE_RESULT.TYPE_CHANGED. If the value is true,
32829 RISC-V: Reflect actual range of vlen for hashing
32831 function based on the actual valid range of vlen. In bytes, vlen is 0,
32847 need to synchronise to bfd's idea of the file position. I also fixed
32855 …In a recent commit the signature of the scoped_restore_current_inferior_for_memory function was ch…
32869 The table constantly growing in two dimensions (number of table entries
32870 times number of ISA extension flags) doesn't scale very well. Use a more
32940 RISC-V: Fix opcode entries of "vmsge{,u}.vx"
33012 Notice that 0x2a is the parent of 0x25, and that this is why the qualified
33013 name of 0x25 is "foo::foo", which is incorrect, it's supposed to be "foo".
33017 for (const auto &entry : m_deferred_entries)
33019 void *obj = m_die_range_map.find (entry.spec_offset);
33021 m_index_storage->add (entry.die_offset, entry.tag, entry.flags,
33022 entry.name, parent, m_per_cu);
33025 and AFAICT, we store in m_die_range_map the parent of the respective
33028 So, the root cause of this is that when we lookup the parent for DIE 0x25, we get
33029 m_die_range_map.find (0x2a) == 0x2a.
33066 [gdb/symtab] Dump qualified name of cooked_index_entry
33067 When doing "maint print objfiles" for the exec of test-case
33088 name of DIE 0x25 is foo::foo (which is incorrect, that's PR symtab/30739).
33092 Add dumping of the qualified name, such that we have:
33124 #0 0x0000000010010a88 in callee.increment (val=val@entry=99.0, msg=...)
33128 The printing of the address for the frame is done by function
33144 gdbserver does not notify gdb of new threads when they are created.
33165 clear that it takes ownership of the passed-in pointer.
33195 enqueued-cu-base-addr.debug instead of enqueued-cu-base-addr.
33213 The following FAIL is a consequence of the first FAIL, so require for the
33284 Dump of assembler code for function main:
33291 End of assembler dump.
33321 lost an unnecessary parameter. Rename them back, and get rid of a few
33332 According to the reporter of this bug the newlib fseek implementation
33358 ld: Fix retain7a.d XFAIL/notarget entry for hppa
33360 * ld/testsuite/ld-elf/retain7a.d: Fix XFAIL entry for hppa to match
33363 ld: Fix relocatable.d XFAIL/notarget entry for hppa
33365 * ld/testsuite/ld-elf/relocatable.d: Fix notarget entry for hppa to match
33377 entry in gdb.arch/amd64-disp-step/gdb.log:
33420 Because the 'Ztso' extension is now ratified, it has a version number of 1.0
33426 number of the 'Ztso' extension since it's ratified.
33446 lines ahead of the array. In fact until spotting the comment, I was
33470 In total this brings the order of precedence to the following (highest
33479 the acceptance of the grammar, rather than restricts it. I.e. it should
33480 not break any existing scripts which rely on it. Unless of course they
33488 Existing tests in gdb.fortran cover the invocation of intrinsics
33505 to a.out, which can involve looking up the language of symbol "main", which
33508 Expansion of lto debug info can be slow, so in commit d3214198119 ("[gdb] Use
33509 partial symbol table to find language for main") a feature was added to avoid
33517 - for language D, "main" was found instead of "D main", and
33602 Add lookup of a non-existing symbol to test-case gdb.base/index-cache.exp.
33642 Write of size 1 at 0x7b200000410d by main thread:
33670 Previous read of size 1 at 0x7b200000410d by thread T2:
33735 Write of size 1 at 0x7b200000410d by main thread:
33761 Previous read of size 1 at 0x7b200000410d by thread T1:
33821 While doing "file $exec", in set_initial_language a symbol lookup of "main" is
33824 Handling of main is special, and a future optimization may skip the lookup and
33828 - the lookup of main, expanding the symtab containing main, by doing
33830 - the lookup of another symbol, expanding a symtab not containing main, by:
33854 Write of size 1 at 0x7b200000420d by main thread:
33915 Previous read of size 1 at 0x7b200000420d by thread T11:
33981 Write of size 1 at 0x7b200000420d by main thread:
34025 Previous read of size 1 at 0x7b200000420d by thread T12:
34092 Write of size 4 at 0x7b4400097d08 by main thread:
34129 Previous read of size 1 at 0x7b4400097d08 by thread T12:
34183 While we're at it, also move the creation of the cache directory to
34209 Write of size 1 at 0x00000321f540 by main thread:
34232 Previous read of size 1 at 0x00000321f540 by thread T12:
34265 Location is global 'global_index_cache' of size 48 at 0x00000321f520 (gdb+0x00000321f540)
34275 index-cache entry for $exec needs to be written
34280 Fix this by capturing the value of index_cache::m_enabled in the main thread,
34299 PR30697, ppc32 mix of local-dynamic and global-dynamic TLS
34300 This fixes miscounting of dynamic relocations on GOT entries when
34333 [gdb/symtab] Remove superfluous handling of Ada main in write_cooked_index
34375 + if (entry->per_cu->lang () == language_ada)
34379 + be of the form "_ada_mumble", and will be rewritten by
34382 + if (entry->tag == DW_TAG_subprogram
34421 If we disable the special handling of the Ada main function like so:
34423 - if (entry->tag == DW_TAG_subprogram
34424 + if (false && entry->tag == DW_TAG_subprogram
34436 Remove the superfluous special handling of Ada main in write_cooked_index.
34445 One more f-string snuck into the DAP code, in breakpoint.py. Most of
34461 integer for the name of a stack frame, like:
34465 This can be seen currently in the logs of the bt-nodebug.exp test
34495 and is a result of feedback received here[1].
34500 an example of GDB's output before the above commit that shows the
34513 Evaluation of the expression containing the function
34554 &"Evaluation of the expression containing the function\n"
34563 this is a result of bpstat::print having been set. Ideally, the
34623 found that the PEI_HEADERS define is a sort of external include guard.
34657 This replaces sprintf and strcat calls with stpcpy, and makes use of
34660 decode_NDS32_machine_flags made use of snprintf, which is arguably the
34664 count of chars that would be output given no buffer limit, which means
34669 to prevent buf + r being out of bounds for the second snprintf call.
34671 BTW, if you look closely you'll see the return value of the decode
34673 writing "out = stpcpy (out, ...):" in each of the decode functions and
34680 value. Return end of string.
34695 Avoid the use of sprintf with a "%s" format string, replacing with
34697 strlen. Don't use strcat where we can keep track of the end of a
34713 I figure I might as well make use of stpcpy and sprintf return value
34750 * ldelf.c (ldelf_search_needed): Use memcpy in place of sprintf.
34755 * basic_blocks.c (annotate_with_count): Use output of sprintf
34778 in binutils avoided using the sprintf return count of chars printed,
34781 sprintf can't return an error status of -1 here.
34808 The warning is bogus of course. xmalloc is guaranteed to return
34864 'Zvfh' extension is a strict superset of the 'Zvfhmin' extension and
34927 failed with older versions of GCC. This patch fixes the problem by
35052 * Don't use the address of a variable as its memoryReference -- only
35056 * Use strip_typedefs to handle typedefs of pointers.
35107 decorator, and changes the DAP entry point to frame filters to use it.
35116 I also tend to think that the solib fallback behavior of
35139 Rename private member of FrameDecorator
35143 ensures that this is done for the private method of FrameDecorator.
35164 …relocatable): Do not add sections containing the string "debug_" to the list of non-debug sections.
35173 can be observed on e.g. Cygwin. Replace the use of -p by a use of touch,
35186 gprofng: create a list of available views
35188 the output of gp-display-text to display the data.
35205 case that a race is detected, but we see the full stack trace only for one of
35221 Alexandre Oliva found a bug in gdb's handling of fixed-point -- a
35315 other events are cached for later calls of the wait method.
35344 of the downstream ROCgdb port which has more AMDGPU related tests. The
35353 generations of AMDGPU devices. As some tests will need to debug
35368 and it might help find other bugs in the future.
35398 The problem is that gdb.block_signals after first blocking a set of
35403 This patch fixes the problem by restoring the previous set of signals
35457 version in the command line. Note that a value of zero in
35555 bpf: gas: support relaxation of V4 jump instructions
35558 in number of 64-bit words minus one. This can sometimes be overflown.
35685 discards a number of trailing entries from output here for n64 composed
35744 contents of either as irrelevant for all the affected compact EH tests,
35776 section as an alternative to `.reginfo' and ignore contents of
35793 MIPS n64 ABI has a peculiarity where all relocations are composed of
35810 respectively. The presence of these extra R_MIPS_NONE entries is not
35827 mips64-openbsd -FAIL: ST Microelectronics Loongson-2F workarounds of Jump Instruction issue
35839 mips64el-openbsd -FAIL: ST Microelectronics Loongson-2F workarounds of Jump Instruction issue
35886 mips64-openbsd -FAIL: ST Microelectronics Loongson-2F workarounds of nop issue
35894 mips64el-openbsd -FAIL: ST Microelectronics Loongson-2F workarounds of nop issue
36028 these tests do not enforce their expectation in any. For none of them
36029 the specific ABI used is of any relevance however, so select the o32 ABI
36118 IRIX targets do not enable the production of a `.pdr' section in GAS by
36120 to a difference resulting in the number and indices of sections produced
36123 As the presence or absence of this section is not relevant to this test
36160 additions from the invocation of JALR relaxation tests.
36170 ./ld-new: tmpdir/unaligned-jalx-0.o: ABI is incompatible with that of the selected emulation
36171 ./ld-new: failed to merge target specific data of file tmpdir/unaligned-jalx-0.o
36172 ./ld-new: tmpdir/unaligned-insn.o: ABI is incompatible with that of the selected emulation
36173 ./ld-new: failed to merge target specific data of file tmpdir/unaligned-insn.o
36217 contents of the sections examined are expected to be differnt. Disable
36235 In ld/emulparams/elf64bmip-defs.sh there is no explicit handling of the
36241 in elf.sc"), where the handling of n64 was missed due to an unfortunate
36242 sequence of events where ld/emulparams/elf64bmip-defs.sh was only added
36278 two unrelated changes lumped together, one of which changed the meaning
36279 of the `mipsisa64*-*-linux*' target triplets, which was not properly
36286 to being empty then properties of that section don't affect following
36314 This fixes failure of the "extract symbols" test for rs6000, where
36315 --extract-symbols generates a non-zero sized .text. By the look of
36321 adjust size of !SEC_LOAD sections.
36329 version 2.41 (see binutils/NEWS). However, the support of this extension
36332 This commit adds actual support of this extension and adds implications
36344 Don't go "past" the start of the section.
36424 (rm_table): New entry for pbndkb.
36628 The constant FILNMLEN is expected to designate the size of
36679 - due to using gdbserver, we attach at the point of the first instruction, in
36686 - continue doesn't hit the breakpoint, and we return out of _start, which
36691 main sets it one insn after function entry, and consequently the problem does
36699 In the PIE case, we attach at the point of _start in the dynamic linker, and
36724 Type commands for definition of "foo".
36735 Type commands for definition of "foo".
36765 This is the "value_print" variant of the problem with "c_print_type" I fixed
36782 /* A global list of all gdbpy_tui_window_maker objects. */
36797 following order of events:
36799 destructor for the only element E of m_window_maker_list. The destructor
36863 This patch fixes the semantics of the neg and neg32 BPF instructions
36908 * i386.c (i386_find_call): Don't access past end of core_text_space.
36926 of an improperly terminated .strtab. Demangle sym names.
37012 Since the 'Zca' extension is the new base of the compressed instructions,
37028 The version 1.0.4-1 of the code size reduction specification clarifies
37052 version 1.0.4-1 of the code size reduction specification:
37061 combination of RV64 and 'Zcf'.
37074 …* doc/binutils.texi (objcopy): Document change in behaviour of objcopy's --preserve-dates command …
37088 But this function is called after elf_link_sort_relocs, it need to find a
37104 (loongarch_elf_finish_dynamic_sections): Delete process of local
37184 bpf: gas: fix in manual that MOVS* pseudoc syntax uses = instead of s=
37195 This patch fixes the pseudoc syntax of the V4 instructions MOVS* and
37229 like ja/goto but it supports a signed 32-bit PC-relative (in number of
37230 64-bit words minus one) target operand instead of the 16-bit signed
37231 operand of the other instruction. This greatly increases the jump
37249 (md_assemble): Save the ids of successfully parsed instructions
37265 * opcode/bpf.h (enum bpf_insn_id): Add entry BPF_INSN_JAL.
37266 (enum bpf_insn_id): Remove spurious entry BPF_INSN_CALLI.
37272 * bpf-opc.c (bpf_opcodes): Add entry for jal.
37289 I also added a new subclass of threading.Thread that ensures that
37299 This commit adjusts some of the debug output in linux-nat.c, but makes
37302 In resume_lwp I've added the word "sibling" to one of the debug
37322 With this message the already resumed nature of the thread is much
37331 change the name of the binary that was created. Should be easy, I
37334 In one place the script uses $testfile instead of $binfile.
37336 Fixed this to use $binfile, now I can easily change the name of the
37365 Use "require !readnow" in two test-cases, instead of the written-out variant.
37386 bpf: disasemble offsets of value 0 as "+0"
37391 instead of
37420 makes it easy to find the objfile for a given address.
37542 hand side of an assignment to refer to the left hand side. This
37552 bytes of the instruction in an implementation-defined format. This
37553 patch updates gdb to return this, and simply uses a hex string of the
37561 I ran across this very old code in gdb's Ada support. After a bit of
37582 sim/bpf: desCGENization of the BPF simulator
37598 DesCGENization of the BPF binutils port
37601 The weird way of BPF to handle endianness in instruction encoding, the
37602 weird C-like alternative assembly syntax, the weird abuse of
37604 presence of opcodes beyond the first 32-bits of some instructions, are
37605 all examples of what makes it a PITA to continue using CGEN for this
37642 * The disassembler now has support for the "pseudo-c" assembly syntax of
37653 targets due to the previous implementation of pseudoc syntax are now
37654 re-enabled. Additional tests have been added to test the new features of
37660 The result is very satisfactory. This patchs adds 3448 lines of code
37661 and removes 10542 lines of code.
37675 of the port. I beg the indulgence of the global maintainers.
37679 gdb/solib-rocm: limit the number of opened file descriptors
37680 ROCm programs can load a high number of compute kernels on GPU devices,
37685 We came across situations where the number of shared libraries opened by
37686 GDB gets higher than the allowed number of opened files for the process.
37711 x86: adjust disassembly of insns operating on selector values
37718 While there also hook up the Intel variant of the LKGS test.
37722 x86: simplify disassembly of LAR/LSL
37723 For whatever reason in c9f5b96bdab0 ("x86: correct handling of LAR and
37724 LSL") I didn't realize that we can easily use Sv instead of going
37725 through mod_table[]. Redo this aspect of that change.
37759 is not added to the cooked index because of this clause in abbrev_table::read:
37795 In test-case gdb.tui/long-prompt.exp, with a prompt of 40 chars, the same size
37806 as well as a superfluous repetition of the prompt at line 20 once we type the
37827 /* If the prompt length is a multiple of real_screenwidth, we don't know
37828 whether the cursor is at the end of the last line, or already at the
37829 beginning of the next line. Output a newline just to be safe. */
37837 [ And the fact that the output of the newline doesn't happen in the scope of
37840 repetition of the prompt. ]
37899 gdb: LoongArch: Update status of the entire regset in regcache
37904 unnecessary. It is proper to update the status of the entire regset
37916 The root of the problem is that all the methods that now use
37935 how detach_breakpoints works. I looked at a number of xfer_partial
37973 Current implementation of amd_dbgapi_target::detach (inferior *, int)
37980 I find that using a mix of `current_inferior ()` and `inf` disturbing.
38027 Separate out some of the defines from the block handling windows
38168 Remove unused declaration of child_terminal_init_with_pgrp
38182 While working on some of the recent patches relating to vfork handling
38191 gdb/testsuite: remove use of sleep from gdb.base/foll-vfork.exp
38201 this test, I left the test running for a couple of hours, and tried
38213 This commit provides tests for all of the bugs fixed in the previous
38226 Some of the bugs fixed in the previous commits are very timing
38229 copies of the test in parallel, then the bugs would normally show up
38238 I have cleaned things up a little, for example, making use of
38261 is worth reading the earlier commit as many of the problems leading to
38262 the failure are the same, they just appear in a different part of GDB.
38276 detach from the vfork parent. As a result of the 'continue' GDB
38283 5. As GDB is running in all-stop on top of non-stop mode, in the
38286 proceed_resume_thread_checked. One of the threads we iterate over
38290 match any of the early return conditions, GDB will set the thread
38295 we don't apply any of the checks, e.g. is this thread a
38312 10. Depending on timing both of these events might seem to arrive in
38315 VFORK_DONE in the parent. We know this because it is as a result of
38339 threads in the process we're detaching from, the result of the stop
38343 waits for the thread, instead of a stop due to signal, we instead
38348 detach_one_lwp), as part of the process to resume a thread we try to
38356 status of the thread, and not resume such threads. Where the earlier
38382 gdb, infrun: refactor part of `proceed` into separate function
38396 … gdb: fix handling of vfork by multi-threaded program (follow-fork-mode=parent, detach-on-fork=on)
38423 When the inferior is stopped as a result of the 'tcatch vfork', the
38424 inferior is in the process of performing the vfork, that is, GDB has
38439 /* In non-stop, forbid resuming a thread if some other thread of
38446 The first two of these conditions will both be true, the thread is not
38460 /* In non-stop, forbid resuming a thread if some other thread of
38485 to use a nested 'if' check instead of extending the original 'else if'
38487 what's going on, and second, instead of checking 'non_stop' I've
38494 Both of these tweaks will make the next patch easier, which is a
38495 refactor to merge two parts of the proceed function, so this nested
38499 exposed when using a modified version of the gdb.base/foll-vfork.exp
38516 I eventually tracked it down to a combination of schedule-multiple
38531 3. In the linux-nat layer we spot that one of the threads we are
38544 parent is resumed. This feels like the start of the bug, and this
38556 9. Depending on timing both of these events might seem to arrive in
38559 VFORK_DONE in the parent. We know this because it is as a result of
38583 threads in the process we're detaching from, the result of the stop
38587 waits for the thread, instead of a stop due to signal, we instead
38592 detach_one_lwp), as part of the process to resume a thread we try to
38609 is already stopped, there's no risk of the vfork parent exiting before
38628 There's no test included in this commit. In a couple of commits time
38655 this will actually act as a return in the context of a proc's caller,
38656 effectively returning two levels of the call stack. Neat (I guess).
38672 check_vfork_catchpoints, and then continue with the test of _this_
38675 To fix this I see two choices, one is remove the use of 'return -code
38676 return' from setup_gdb, however, this would require every use of
38697 Many of the reloc error messages have already been converted from
38731 first of any bss-style sections following. Most of the work here
38732 involves keeping track of the last output section seen when processing
38830 There were a couple of previous attempts[2][3][4] to solve this
38837 which can be used to collect a set of deferred warnings, and then emit
38846 There was also review feedback[5] that all of the warnings should be
38924 with the built-in type of the same name and can be confusing when
38934 new inferiors during the course of the test.
38956 I am backing out the patch in the interests of fixing the regression
39023 reaching the end of file, at which point it warns the user "Line X out
39024 of range, file Y only has X-1 lines.". This is usually desirable, but
39029 This commit improves the user experience by changing the behavior of
39031 end of the file has been reached and recommends that the user use the
39045 requiring knowledge of GDB standard registers. This commit adds a way
39063 out that part of the logic of the list command into its own function.
39074 - we used a time_t (long) type in smalltest.c instead of a long long type.
39080 * testsuite/gprofng.display/setpath_map.exp: Use return instead of exit.
39086 * testsuite/lib/smalltest.c: Use a long long type instead of time_t.
39101 gcc-4.5 bug in handling of struct initialisation.
39107 paths didn't do that, leading to memory leaks. None of this matters
39121 in binutils. The gas define of AIX_WEAK_SUPPORT on the other hand was
39165 elf_object_p load of dynamic symbols
39202 [gdb/tui] Make translate return entry->value instead of entry
39203 The only use of "entry = translate (...)" is entry->value.
39205 Simplify using the function by returning entry->value instead.
39232 entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner);
39233 int val = (entry->value < 0) ? ACS_LRCORNER : entry->value;
39263 A simpler way of implementing this would be to to declare the first (or last)
39264 entry the default, but in fact these default entries are not used.
39267 that an entry will always be found.
39285 symbol. We could align by setting the address of the section (by
39296 Align dot before symbols defined outside of output sections. Before _end
39304 Re: Keeping track of rs6000-coff archive element pointers
39338 First of all it is entirely unclear why THREE_BYTE_TABLE_PREFIX() was
39343 These aren't used (or pointlessly used in the case of VEX_C5_TABLE); the
39345 of VEX_C5_TABLE).
39355 Several already use OP_R(), which rejects the memory forms of insns, and
39367 operands to OP_M() at the same time. To keep the number of consumed
39370 actual count of prefix bytes (keeping intact all prior boolean uses of
39373 Note how this improves disassembly of such bad encodings, by at least
39383 x86: slightly rework handling of some register-only insns
39387 going through vex_len_table[] for two of the insns.
39394 OP_MS() and OP_XS() reject memory forms of insns quite fine. This then
39400 Several already use OP_M(), which rejects the register forms of insns,
39406 Also adjust formatting of and drop PREFIX_OPCODE from a few adjacent
39412 Most of them use Mx already for the memory operand, which rejects the
39413 register form of the insn. Use that operand type also for the two EVEX
39422 with their legacy counterparts as well. Note how this change of decode
39424 introduced during earlier folding (because of that unhelpful order of
39429 couple of abort()s where legacy code can now legitimately make it. While
39451 The advantage of this approach is that targets are now automatically
39480 strange behavior; for example not showing the children of a variable
39481 whose type is a typedef of a structure type. This patch fixes the
39498 FrameVars implements its own variant of Symbol.is_variable. This
39504 The frame decorator "FrameVars" code misses a couple of cases,
39518 existing code to find and execute the frame filters. However, unlike
39542 Move definition of ctf_target type
39543 This moves the definition of the ctf_target type into the
39583 Replace use of xfree with byte_vector
39584 This replaces a use of xfree with a byte_vector.
39590 Remove a use of xfree
39591 This removes a use of xfree from tracefile-tfile.c, replacing it with
39628 more robust solution will be to move all of the error types, and their
39642 When comparing the test results for two different runs of GDB I
39645 The difference was caused by one of the tests including a stack
39691 This commit improves the output of this previous commit:
39715 I've extended one of the tests to cover the new functionality.
39738 The following mapping of test to type names was used to extract how
39760 # of expected passes 523
39761 # of unexpected failures 107
39762 # of known failures 2
39763 # of unresolved testcases 1
39764 # of untested testcases 7
39765 # of duplicate test names 2
39769 # of expected passes 5696
39770 # of unexpected failures 271
39771 # of known failures 12
39772 # of untested testcases 9
39773 # of unsupported tests 5
39822 Names of the form 'A>::B' and 'A)::B' trigger this assert failure in
39867 Fix result of DAP setExpression
39910 We already have a setting to protect against this sort of thing, the
39917 don't store the results. The benefit of this is that when we give the
39951 So, in this commit, I propose replacing the use of alloca with a
39960 gdb: remove two uses of alloca from printcmd.c
39961 Remove a couple of uses of alloca from printcmd.c, and replace them
39964 An earlier variant of this patch was proposed in this thread:
39972 However, of all the patches originally proposed, I think in these two
39975 was (mostly) small in size, a register, or a couple of registers, in
39979 So in this commit I replace the use of alloca with std::byte_vector
39980 and simplify the logic a little (I think) to take advantage of the
39981 ability of std::byte_vector to dynamically grow in size.
39985 inferior causes GDB to try read a stupidly large amount of
39992 gdb: fix printf of wchar_t early in a gdb session
40033 But check_typedef does set the TYPE_LENGTH of the TYPEDEF type,
40038 check_typedef in order to ensure that the length of the typedef has
40043 We can see in c_string_operation::evaluate (in c-lang.c) an example of
40066 "rename" conflicts with a function of that name, which gcc from that
40067 same timeframe then complains about. Use a name matching that of
40074 that implements a full range of 32-bit and 64-bit instructions. These
40076 offers increased utilization of functional units with a limited
40082 enable direct addressing of current and future large memories, as well
40101 - GPLv2 instead of GPLv3,
40123 instead of ptrace. That change broke reading shared libraries on
40141 The Linux kernel rejects pread64/pwrite64 if the offset argument of
40163 instructions are LE encoded regardless of
40201 called target_resume without switching to the leader thread of that
40206 /* Resume execution (or prepare for execution) of the current thread
40207 (INFERIOR_PTID), while optionally letting other threads of the
40214 with inferior_ptid == null_ptid on entry exactly to help catch such
40228 all. Instead, factor out a new proc_resume function out of
40259 of course those tests that run a target binary. Compiling and linking
40267 symbol decoration, and support either sorting of symbols.
40284 ld: Use run_host_cmd_yesno in indirect.exp instead of catch exec
40291 instead of handwrite catch exec $CC_FOR_TARGET.
40299 instead of values:
40307 syntax instead of {{}}.
40340 of the earlier categories. Introduce the Y macro (not expanding to any
40344 as well, to continue to allow sharing of the string literals.
40352 To avoid excess special casing of modes, have OP_M() call OP_E_memory()
40375 implementations. This patch adds a few more of them. specifically: it
40383 An example of how this would look like:
40398 of symbols in the dictionary, currently mdict_size is just a
40399 heuristic, sometimes it returns the number of symbols, and sometimes
40400 the number of buckets in a hashing dictionary (see size_hashed in
40403 Currently this vague notion of size is good enough, the only place
40405 message containing the size of the dictionary ... so we don't really
40409 number of symbols in the dictionary, so this commit makes mdict_size
40415 we have a large number of symbols, but for now I'm not worrying about
40417 that would increase the size of every dictionary for a use case that
40444 implement a subtraction of a local and an external symbol.
40448 actually support a pc relative relocation of the proper size and can
40475 lwpid of 0, which is something we GDB can encounter when loading a
40477 with an lwpid of 0 represents idle cores.
40481 problems with GDB's handling of these core files. These problems all
40485 but GDB gets confused and thinks all of these .reg/0 sections are all
40490 threads, both of which have a pid of 0:
40545 only contain threads that are live at the point of the crash, one of
40550 again, this is because GDB has deleted one of the threads.
40552 Finally, the 'maintenance info sections' output shows the cause of all
40553 our problems, two sections named .reg/0. When GDB sees the first of
40559 Because both these threads are created with an lwpid of 0 GDB reports
40563 The previous commit includes a little more of the history of GDB
40582 don't clash with any of the pid's that might already be in use --
40584 non-idle cores will have the pid of whichever process was running on
40638 output shows the result of the section renaming.
40653 * thread.c (add_thread_silent): Use null_ptid instead of
40654 minus_one_ptid while getting rid of stale inferior_ptid.
40675 When writing a vmcore file, the kernel will store the pid of the
40680 multiple cores are idle then multiple threads will have a lwpid of 0.
40688 behaviour (lwpid of 0) was considered correct. I've checked the
40689 source of a recent kernel. The code mentioned in the lkml.org posting
40692 core will have an lwpid of 0, so I think GDB still needs to be able to
40699 where NN is the lwpid of the thread, GDB then builds a ptid_t for the
40704 OK, GDB creates a thread with lwpid of 0 and carries on.
40706 When we find the next thread (core) with lwpid of 0, we attempt to
40707 create another thread with an lwpid of 0. This of course clashes with
40718 The actual details of the why the assert triggered are really not
40720 have this interesting lwpid of 0 characteristic, which isn't something
40726 cores, and both have an lwpid of 0 (indicating both cores are idle),
40743 set the lwpid of each thread to 0.
40745 To further reduce the size of the core file (as it will be stored in
40746 git), I've zeroed all of the LOAD-able segments in the core file.
40747 This test really doesn't care about that part of the core file, we
40774 anything with an lwpid of 0 as a process, rather than an LWP. And
40781 As I said previously, both of these problems are a result of the lwpid
40792 patch I propose hoisting the inferior setup out of add_to_thread_list
40797 the first section with a name like ".reg/NN". If we find no such
40832 The encodings of all instructions in Zvknh[a,b] are identical.
40836 This patch also adds the missing support of the combined instruction
40863 Formerly an include of libbfd.h was added in commit 56576f4a722
40867 remove the now unnecessary inclusion of libbfd.h. The gas_assert macro
40880 opcodes/loongarch: Mark address offset operands of LVZ/LBT insns as such
40898 the output of gprofng to display the data. Sometimes this data is corrupted.
40913 This commit adds the recently added support of the RISC-V vector crypto
40923 Zvksc is part of the vector crypto extensions.
40925 Zvksc is shorthand for the following set of extensions:
40941 Zvknc is part of the vector crypto extensions.
40943 Zvknc is shorthand for the following set of extensxions:
40959 Zvksg is part of the vector crypto extensions.
40961 Zvksg is shorthand for the following set of extensions:
40977 Zvks is part of the vector crypto extensions.
40979 Zvks is shorthand for the following set of extensions:
40997 Zvkng is part of the vector crypto extensions.
40999 Zvkng is shorthand for the following set of extensions:
41015 Certain extensions require two levels of implications. For example,
41029 Zvkn is part of the vector crypto extensions.
41031 Zvkn is shorthand for the following set of extensions:
41049 Zvksh is part of the vector crypto extensions.
41083 Zvksed is part of the vector crypto extensions.
41119 Zvknh[a,b] are parts of the vector crypto extensions.
41156 Zvkned is part of the vector crypto extensions.
41213 Zvkg is part of the vector crypto extensions.
41247 Zvbc is part of the crypto vector extensions.
41285 Zvbb is part of the vector crypto extensions.
41391 * fmv* to access high bits of FP registers in case XLEN < FLEN
41404 value to the actual floating-point value in the last operand of the fli*
41427 limiations of the Zfa FP literal parsing.
41534 Blocks of 8 spaces be replaced with tabs.
41564 version of the ABI spec, and such usages are all fixed to say just $r21
41565 for every project I could think of that accepted a LoongArch port.
41567 Plus, the upcoming LSX/LASX support makes use of registers named
41581 (loongarch_args_parser_can_match_arg_helper): Warn in case of
41615 inspect code with heavy bit manipulation, or of unclear signedness, but
41619 Precisely how one approaches the original use case is not taken care of
41647 disassembly output of signed immediate operands.
41694 matchers as disassembler-only, so some degree of isolation between
41699 corresponding opcode entry cannot have meaningful match/mask values.
41700 Secondly, some of these pseudo-instructions can be realized in more than
41702 be realized on LA64 with any of `addi.w`, `addi.d` or `ori`. If we tie
41703 disassembly of such aliases with the corresponding GAS support, only one
41705 would mildly impact the readability of disassembly output.
41711 For example, `li.w` and `li.d` of immediates within int32_t range
41764 Add details for the changes made from Version 1 to Version 2 of the format.
41766 Also add details about alignment in the SFrame format. A portion of the
41774 SFrame version 2 encodes the size of repetitive insn block explicitly
41776 of the block of repeating instructions. This information is used only
41777 for SFrame FDEs of type SFRAME_FDE_TYPE_PCMASK.
41780 accesses to the members of the SFrame Frame Descriptor Entry (FDE) are
41802 In other words, like the rest of the binutils, only the current SFrame
41851 * libsframe.find/plt-findfre-1.c: Use new API in the testcase.
41853 * sframe.h: Add member to encode size of the code block of
41854 repeating instructions. Add 2 bytes of padding.
41881 stack trace information for the 3 pltN entries of 16 bytes each:
41889 is of type SFRAME_FDE_TYPE_PCMASK (denoted by the [m] on LHS).
41891 Where each pltN (note: excluding plt0 entry) entry looks like:
41905 Now, to find SFrame stack trace information from an FDE of type
41910 This works for pltN entry of size, say, less than 16 bytes. But if the
41911 pltN entries or similar code stubs (for which SFrame FDE of type
41912 SFRAME_FDE_TYPE_PCMASK may be used), evolve to be of size > 16 bytes,
41917 size of the pltN entry. Further, this constant should ideally be
41920 In SFrame Version 2 of the format, we will move towards encoding it
41989 the number of dynamic symbol table entries equals the number of chains.
42118 …se when they appear in test cases. lto-wrapper: warning: using serial compilation of N LTRANS jobs
42144 There is no need for the toolchain to restrict combinations of unrelated
42151 vestiges of this from the documentation.
42159 of matching: section statements of the form
42185 Fix handling of DW_TAG_unspecified_type for Ada
42187 DIE") changed the handling of DW_TAG_unspecified_type. Before this
42195 However, that is somewhat difficult given the state of the DWARF
42197 potentially many CUs to find the correct type.
42207 a bit more of this remaining in __init__.py, but I haven't tried
42282 Some of these changes update the ABI in an incompatible way.
42286 libsframe: bfd: use uint32_t for return type of get_num_fidx APIs
42302 libsframe: use appropriate data types for args of sframe_encode
42304 * sframe-api.h (sframe_encode): Use of uint8_t is more
42311 libsframe: use uint8_t for return type of sframe_fre_get_base_reg_id
42325 libsframe: use uint8_t instead of unsigned char for abi_arch
42342 libsframe: bfd: use uint32_t for return type of sframe_calc_fre_type
42363 instead of unsigned int.
42385 libsframe: update the semantics of sframe_fre_get_fp_offset
42391 On second look, it appears to make sense to hide these details of
42397 This patch changes the behavior of sframe_fre_get_fp_offset (): it turns
42399 release of libsframe, where all the exposed symbols will be versioned
42408 libsframe: update the semantics of sframe_fre_get_ra_offset
42414 On second look, it appears to make sense to hide these details of
42427 This patch changes the behavior of sframe_fre_get_ra_offset: it turns an
42429 release of libsframe, where all exposed symbols will be versioned for
42444 The previous release of libsframe (libsframe.so.0) did not have
42446 of the library (and its consumers) can manage the changes better.
42449 restrict the set of exported symbols, so at this time there is no need
42476 Change the return type of the previous definition and make a note about
42480 * sframe-api.h: Change return type of sframe_get_funcdesc_with_addr.
42497 For the next release of the library (libsframe.so.1), incompatible ABI
42499 - Deprecation of some APIs, like sframe_get_funcdesc_with_addr (), and
42500 - Change in the contract of some APIs (e.g., return type, behavior).
42516 as of version 1.0-rc2.
42631 inferior exits early, and because of the overly generic ".*" pattern the
42642 one of the generic patterns to match entering the main function and the
42646 Also, as a precaution add a maximum number of times the "next" command will
42657 used when the destination of a branch exceeds a bounce through another
42666 This is done by increasing the size of rela_dyn_ during do_relax to
42668 relocations until the end of relaxation once the layout has
42673 (Target_powerpc::do_relax): Capture the size of rela_dyn_ at
42674 the start of relaxation. Artifically increase its size during
42686 called before do_relax. Provide a way of setting DT_RELCOUNT and
42709 sorted as they should be to the start of .rela.dyn, due to adding one
42710 particular class of dynamic reloc using the wrong "add" method.
42757 files at the start of the test-case:
42816 inferior-continuation commands use the "&" form; the main benefit of
42845 Fix type of DAP hitCondition
42868 First of all, name of VariableReferences must always be of string type.
42876 of list index) which makes the entire request go bad.
42904 _bfd_elf_link_info_read_relocs instead of
43021 This is in principle not a problem, but the absence of a prompt makes a
43040 The semantics of Term::wait_for is:
43069 Use the to_string method of target_waitstatus in
43076 x86: fix expansion of %XV
43084 data doesn't make a lot of sense since get_synthetic_symtab is only
43104 This changes a couple of spots in ax-general.c to use ARRAY_SIZE.
43105 While making this change, I noticed that one of the bounds checks was
43115 (the assert predates the use of a .def file here). This patch removes
43273 a reference from the .ptid attribute of the ThreadExitedEvent
43274 to the ptid attribute of InferiorThread. To do this,
43282 by doing a comparison of it's `thread_info* thread` to nullptr. This
43283 means that any access of it's attributes may (probably, since we are
43285 removed from the thread object. Therefore I've decided in v3 of this
43286 patch to just emit most of the same fields that gdb.InferiorThread has, namely
43296 comes at the cost of gdb.InferiorThread believing it is "valid" - which means,
43313 - name: name of the thread or none if not set
43314 - ptid: the PTID of the thread, a 3-attribute tuple, identical to
43338 So I couldn't determine right now, what operation of name change that
43340 names for an applications that set the name of a thread in ways that
43395 if (tui_border_attrs != entry->value)
43397 tui_border_attrs = entry->value;
43403 need_redraw |= assign_return_if_changed<int> (tui_border_attrs, entry->value);
43407 assign_set_if_changed<int> (tui_border_attrs, entry->value, need_redraw);
43410 The names are a composition of the functionality. The functions:
43422 * config/tc-riscv.c (md_atof): Use target_big_endian instead of
43437 files at the start of the test-case:
43459 "SyntaxError: invalid syntax" due to usage of an f-string in test-case
43509 ld: i386:x86-64 architecture of input file `b~prog.o' is incompatible with \
43542 be referenced out of shared object.
43568 that there are common patterns of when which form of masking is
43569 permitted. This then also eliminates the large set of open-codings of
43588 Mention the addition of Sony Allegrex processor support to the MIPS port.
43618 The pspdev organization maintains all sorts of tools to create software
43624 Rewrite the paragraph to match the style of Tag_GNU_MIPS_ABI_FP text
43708 glibc-32bit-debuginfo), we have for -m64 (note: __GI__exit instead of _exit):
43716 and -m32 (note: _Exit instead of _exit):
43754 A number of backends want to return bfd_reloc_dangerous messaqes from
43805 end of screen: at last line
43885 # Older versions of Python can't really implement this.
43900 x86_64) by reading 8 bytes (the size of a pointer).
43923 The definition of the DW_OP_deref (from Dwarf5 2.5.1.3 Stack Operations)
43924 says that "The size of the data retrieved from the dereferenced address
43925 is the size of an address on the target machine."
43927 On x86_64, the size of an int is 4 while the size of an address is 8.
43929 outside of the `a` variable.
43935 While at it, also change the definition of the int type in the assembled
43937 of the literal 4.
43989 In the case of armflang, this evaluation step is disrupted by the
43990 presence of the following warning:
43999 armflang flavour of warning.
44008 # of expected passes 560
44009 # of unexpected failures 113
44010 # of unresolved testcases 2
44011 # of untested testcases 5
44012 # of duplicate test names 2
44016 # of expected passes 5388
44017 # of unexpected failures 628
44018 # of known failures 10
44019 # of untested testcases 8
44020 # of unsupported tests 5
44021 # of duplicate test names 5
44032 Kévin pointed out that gdb claims a minimum Python version of 3.2, but
44035 This patch removes the uses of f-strings from the DAP code. I can't
44036 test an older version of Python, but I did confirm that this still
44043 exception breakpoints, and not other kinds of breakpoints. This patch
44055 returns less frames than requested (which indicates the end of the
44090 initialize request. In this case, gdb can include the type of a
44100 without requiring the use of parse_and_eval.
44108 probably check the types of objects coming from the client. This
44113 core of the checker is written by hand. I haven't tried to make a
44119 type that is accepted. I've added a couple of comments to this effect
44122 I've tried to make this code compatible with older versions of Python,
44131 mutated in the body of the function, the changes will stick around.
44150 When I first started implementing DAP, I had some vague plan of having
44200 Mark members of ada_catchpoint "private"
44201 This changes the members of ada_catchpoint to be private.
44203 Turn should_stop_exception into a method of ada_catchpoint
44205 method of ada_catchpoint.
44212 Transfer ownership of exception string to ada_catchpoint
44214 ownership of the exception string can be transferred to the catchpoint
44242 (gdb) FAIL: gdb.python/py-rbreak.exp: check number of returned breakpoints is 11
44280 26 for C of S loop^M
44286 instead of optimize=-O2.
44327 future versions of Fedora. (E.g. when trying the example shown below
44328 on Fedora 38, GDB says that the value of 'value' has been optimized
44358 Examination of the debuginfo showed the following:
44377 Note that there's no DW_AT_location, so I looked for an abstract origin entry:
44404 Note that "[uninitialized]" is part of the output. (But also note
44426 Add a new test plt-findfre-1 to ensure lookup of SFrame stack trace
44429 In this test, a dummy SFrame FDE of type SFRAME_FDE_TYPE_PCMASK is
44430 created. The size of the 'function code block' covered by the SFrame
44431 FDE is equivalent to 5 pltN entries of 16 bytes each.
44434 entry, followed by lookups for some addresses in the fourth pltN entry.
44438 * testsuite/libsframe.find/find.exp: Add new test.
44439 * testsuite/libsframe.find/local.mk: Likewise.
44440 * testsuite/libsframe.find/plt-findfre-1.c: New test.
44445 To find SFrame stack trace information from an FDE of type
44451 work for a pltN entry of size say, 16 bytes).
44453 At this time, the size of the pltN entry is implicitly assumed to be 16
44454 bytes by libsframe. In next version of the SFrame format, we can encode
44463 SFrame FDEs of type SFRAME_FDE_TYPE_PCMASK.
44588 in turn sets up libcurl, which makes use of openssl. Somewhere during
44622 of GDB's make_final_cleanup to register a function that will call
44656 READ of size 1 at 0x603000068034 thread T0
44726 language, so for Ada and Fortran the string will be an array of
44734 couldn't see any other obvious places where this type of assumption
44744 I found a couple of spots that could use scoped_value_mark. One of
44777 of the patch is moving these around a little so they are accessible
44790 (_bfd_ecoff_slurp_symbolic_info): Replace uses of raw_syments
44845 warning is printed once for each time the file was mapped. I find this
44855 example, it is possible to have a core dump of a process which had
44857 such case the core dump does contain the information that portions of
44952 even to the point of having identical comments.
44962 …ge indicating that alignment and size discrepancies between the definition of common symbols and n…
44989 it's something we want to get rid of (PR build/10723). Nevertheless, I think
44993 [ In the meanwhile, a fix was committed in the devel branch of the readline
44994 repo, contained in commit 8d0c439 ("rollup of changes since readline-8.2"),
45013 This patch fixes both of AArch64's and Arm's prologue skippers to not skip past
45014 the end of a function. It also incorporates a fix to the testcase so it
45015 doesn't assume the prologue skipper will stop at the first instruction of the
45098 about the possibility of later recreating anything lost by this
45102 tdata or section bfd_user_data to tidy memory. This means most of the
45106 This patch fixes the documentation problems and moves most of the
45149 uninitialized" warning with some combination of compiler and
45161 Change the data type of some of the members of the sframe_decoder_ctx
45169 (struct sframe_encoder_ctx): Likewise. Use same style of
45268 couple of attempts to fix this issue. Simon originally posted two
45274 Before Pedro then posted a version of his own:
45292 The tests here are a combinations of everyone's work, and the commit
45342 pass a pointer to this string, along with the length of this
45345 In value_cstring GDB allocates an array value of the given character
45346 type, and copies in requested number of characters. However
45347 value_cstring does not add a null-character of its own. This means
45351 of value_cstring, this is not the case.
45353 When GDB tries to print one of these strings the value contents are
45374 is of size '1'.
45377 character at the end of the string value it creates.
45382 are just an array of characters, GDB already has the function
45391 type = array (1 .. 4) of char
45395 type = array (1 .. 1) of char
45410 Fortran and Ada this can be a bounded array of characters with no null
45476 There's one code change, the name of macro SIG_CODE_BONDARY_FAULT changed to
45499 csym against remaining space for symbols. Error on out of bounds
45515 For mips32, the position of sel in MFTR/MTTR is same with mfc0 etc,
45518 We also add an extesion format of cftc2/cttc2/mftc2/mfthc2/mttc2/mtthc2:
45519 concatenating rs with rx as the index of control or data.
45763 - changep -> changedp (name of variable)
45791 [gdb/python] Fix doc string of valpy_const_value
45795 "Return a 'const' qualied version of the same value." },
45820 [gdb/tui] Fix help text of show tui tab-width
45835 [gdb/cli] Fix help text of maint info target-sections
45841 Print the current targets section list. This is a sub-set of all
45852 [gdb/cli] Fix help text of maint set ignore-prologue-end-flag
45858 breakpoints past the prologue of functions. Disabeling its use use forces \
45859 the use of prologue scanners.
45960 Reduce translation work of "invalid symbol index" error message.
45975 Define a new constant for the maximum number of stack offsets handled in
45990 cast. Use uint16_t instead of unsigned short.
46039 OPD handling in elf64-ppc.c makes use of this fact by caching some
46049 could hit an assertion in opd_entry_value or read out of bounds in
46053 reloc symbol to be defined in a .opd section of a non-ppc64 input.)
46066 location of contents and relocs.
46067 (ppc64_elf_relocate_section): Adjust for changed location of
46080 at sections, which leads to duplication of code in target
46168 didn't mention the possibility of multiple arguments, and I also
46183 I noticed a couple instance of this warning when rebuilding the gdb
46264 of the screen.
46267 layout the fingerprint of the cmd window in the layout is taken. If the
46309 This new feature would effectively replace an existing feature of GDB,
46336 The implementation of $_as_string is passed a gdb.Value object that is
46339 pointer transformation is part of our expression evaluation. And in
46376 print the string representation of flag enums, so given:
46397 So all functionality of $_as_string is replaced by %V. I'm not
46402 As %V is a feature of printf, GDB's dprintf breakpoints naturally gain
46408 The use of '%V' will work just fine when dprintf-style is 'gdb'.
46412 doesn't prevent use of '%V', but the documentation makes it clear that
46419 would be wrong to block use of '%V' in this case. The documentation
46423 When dprintf-style is 'agent' then GDB does no support the use of
46686 Instead of having the interpreter code registering observers for the
46697 interpreter of the right kind, print the stop notifiation.
46707 observers, the order of the two messages is not stable, unless we define
46709 approach of using virtual methods on the interpreters seems like a good
46728 in-repo copy of readline, but most likely not in any system readline yet.
46942 Add support for an ARMMAGIC value of 0xa00 to the PE dumper.
46993 I came across a bug in the implementation of line feed in tuiterm, and added a
47116 The intention of returning 0 is mentioned here in tui_dispatch_ctrl_char:
47125 0 as the first part of an utf-8 multibyte char, and tries to read the next
47187 Lots of targets already fixed the TEXTREL problem for TLS in PIE.
47216 the index of -1.
47224 Enhance objdump's --private option so that it can display the contents of PE format files.
47234 * testsuite/binutils-all/objdump.exp: Add a test of the new feature.
47317 The set of 32-bit-only and 64-bit-only tests has grown quite large. In
47322 This in particular reduces the number of pointers to non-const that we
47323 have (and that could potentially be used for undue modification of
47330 The present way of dealing with them - misusing MAX_MNEM_SIZE, which has
47343 This first of all removes a dependency on bfd_byte and unsigned char
47352 x86: figure braces aren't really part of mnemonics
47358 pseudo-prefixes (bringing things in line with the other use of figure
47381 Inspite of implementing a rather simple functionality, this function was
47387 contract of the API.
47411 A number of targets that I test regularly fail the "Build pr22263-1"
47422 or lack of a linker optimisation. Lack of an optimisation isn't
47457 empty at the time of call.
47468 was correctly used. After some careful examination of the
47476 Remove the breakpoint_pointer_iterator layer. Adjust all users of
47477 all_breakpoints and all_tracepoints to use references instead of
47492 …/home/smarchi/src/binutils-gdb/gdb/breakpoint.c:11007:41: error: cannot allocate an object of abst…
47518 …/home/smarchi/src/binutils-gdb/gdb/breakpoint.c:3030:46: error: cannot allocate an object of abstr…
47533 This is because the operator* method of the basic_safe_iterator iterator
47534 wrapper returns a value_type. So, even if the method of the underlying
47536 `breakpoint &`, the method of the wrapper returns a `breakpoint`.
47554 Remove the bp_location_pointer_iterator layer. Adjust all users of
47555 breakpoint::locations to use references instead of pointers.
47563 Replace the hand-maintained linked lists of breakpoint locations with
47571 - bp_location currently has a default constructor because of one use
47583 existing callers of breakpoint::locations don't need to change right
47586 The rest of the changes are to adapt the call sites to use the new
47587 methods, of breakpoint::locations, rather than breakpoint::loc directly.
47608 …/usr/include/c++/13.1.1/bits/stl_iterator_base_funcs.h: In instantiation of ‘constexpr void std::_…
47618 the compiler chooses the overload of __advance that accepts a
47630 non-const overloads). A subsequent patch changes the list of locations
47641 surprisingly big number of places that access the first location of
47643 the possibility of multi-location breakpoints, I don't know. But
47665 A subsequent patch changes the list of breakpoints to be an
47682 locations that come out of a const breakpoint will be const as well. It
47684 well. Make that change now to reduce the size of the following patches.
47692 Some implementations of breakpoint::check_status and
47698 looking at the call sites of check_status and print_it), so it would
47707 gdb: get gdbarch from syscall_catchpoint instead of location
47708 I noticed some methods of syscall_catchpoint doing this:
47712 `loc` is the list of locations of this catchpoint. Logically, the owner
47733 use of parameter save area for integer arg regs. Comment.
47747 I found some potential uses of this new overload in amd-dbgapi-target.c,
47748 update them to illustrate the use of the new overload. To build
47829 the environment of the inferior.
47840 name of "main". Argument setting is also supported.
47858 POSIX.1-2017 (IEEE Std 1003.1) says of fopen:
47866 unless the input operation encounters end-of-file."
47922 use it rather than a collection of 'int' and 'bool'. More flags will
47954 command name and vector of arguments, and does not do any escape
47959 This introduces some helper methods for mi_parse that handle some of
47960 the details of parsing. This approach lets us reuse them later.
47963 Change the mi_parse function to be a static method of mi_parse. This
47967 This changes mi_parse_argv to be a method of mi_parse. This is just a
47997 of the line with '\r'. A new line isn't actually started, so the prompt
48016 normally RELA relocs in BFD should not consider the contents of the
48020 Since the inception of the aarch64 BFD backend all the relocs have a
48036 already part of the go-produced object file (so the addend is
48058 the function can_relocate_call, with a suggestion of a broken stack.
48068 And the segmentation fault happening at the final "ret" instruction of
48069 can_relocate_call. Looking at the disassembled version of the later
48070 half of the important function, we see:
48100 The epilogue of set_point0 (11cf for clang, 401146 for gcc) is the main
48123 The concept of quoted symbols names was introduced pretty late. Utilize
48124 it to allow access to symbols with names matching that of a register (or,
48150 * i386-dis.c: New entry for fred, lkgs.
48183 * i386-dis.c: New entry for fred, lkgs.
48200 entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner);
48201 if (tui_border_lrcorner != (chtype) entry->value)
48203 tui_border_lrcorner = (entry->value < 0) ? ACS_LRCORNER : entry->value;
48206 When assigning the new value to tui_border_lrcorner, an entry->value of -1 is
48207 taken into account, but not when comparing to the current value of
48212 int val = (entry->value < 0) ? ACS_LRCORNER : entry->value;
48225 I'll be submitting eventually; in others I think I need to do a bit of
48249 Term::get_line_with_attrs instead of Term::get_line.
48265 Revert value of DT_ENCODING to as it was before commit a7fd118627, and
48276 PowerPC64 report number of stub iterations
48293 non-zero multiple of 12 so stabsize - 4 can't underflow.
48302 I started down the path of attempting to fix
48307 one being reporting of errors up the call chain. The while loop to
48322 defines both of these functions, so the code also provides a wrapper
48346 return None at the ends of the stack. This patch updates the
48387 Therefore the second call to lookup_cmd () at line 697 fails to find
48390 This commit addresses this particular problem by creating a *copy* of
48391 original command string for the sole purpose of using it after command
48435 the start of a symtab.
48443 GDB was reading beyond the end of an array in the function
48448 GDB's symtab_and_line lookup, we try to find a result for an address,
48451 appropriate entry, except we never find one, and GDB just keeps going,
48452 wandering off the end of the array.
48455 end of the array is pretty cheap, and if something does go wrong in
48473 the start of a symtab.
48482 ... these days we can just make use of the DWARF assembler to achieve
48486 The original patch was about about how we find the best symtab and
48487 line table entry, and what to do when GDB can't find a good match.
48489 The new test creates a CU with two functions, only one of which is
48497 gdb.dwarf2/dw2-step-out-of-function-no-stmt.exp
48501 for one of the functions in the source file, and as a consequence GDB
48504 However, both of those tests are really focused on other issues, so I
48512 gdb/breakpoint: use warning function instead of gdb_printf
48519 Instead of using the `warning` function. There are a number of
48532 3. And I have included the address of the bp_location in the warning
48553 changed in Python 3.7, instead of an error like this:
48557 earlier versions of Python emit:
48569 RISC-V: Support subtraction of .uleb128.
48574 * Do not shrink the length of the uleb128 value, even if the value is reduced
48583 R_RISCV_SET_ULEB128 relocations. Do not shrink the length of the
48637 Oddly enough == and != were not permitted, because of '=' not having
48643 While a442cac5084e ("ix86: wrap constants") helped address a number of
48645 certain bogus uses of constants to no longer be warned about. Leverage
48647 expressions to 32 bits - any involvement of binary expressions (which
48657 - adjust expectations of the disp-imm-32 testcase (there are now
48666 Most of those which use this hook already cope with NULL being passed
48667 for the left operand (typically because of checking the operator first).
48679 - shifts, where only signedness of the left hand operand matters,
48693 too relaxed: Any indication of a mode that's possible with BFD64 only
48694 should avoid the truncation. Therefore, like in the other two cases of
48770 we want to test. These variables contain the return values of the
48772 to check the return values of the lbound and ubound functions as
48786 # of expected passes 111
48787 # of unexpected failures 62
48790 is called, the dynamic linker will not simply fill the .got.plt entry
48791 with the actual address of IFUNC symbol, it will call the IFUNC resolver
48793 and puts it in the .got.plt entry. Initial address in .got.plt entry is
48796 a .plt entry address to fill in the corresponding .got.plt entry.
48813 in elf_gnu_ifunc_resolve_by_got(), it gets the contents of the
48814 .got.plt entry and determines if the contents is the correct address
48816 principle analysis above, the address filled in the .got.plt entry is
48818 entry address corresponding symbol like *@plt. In this case, gdb just
48820 in the .got.plt entry. After that, gdb can get a real ifun address via
48821 .got.plt entry.
48824 is the first .plt entry address. Some architectures such as LoongArch
48825 define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the .plt
48826 section. This symbol is the first plt entry, so gdb needs to check
48847 Disassembly of section .plt:
48883 #of expected passes 173
48917 we use few negative tests to lookup FREs with PCs not in the range of
48924 * testsuite/libsframe.find/find.exp: Include new test.
48925 * testsuite/libsframe.find/findfunc-1.c: New Test.
48926 * testsuite/libsframe.find/local.mk: Include new test.
48931 libsframe provides an API to find the FRE associated with a given PC in
48932 the program. This patch adds a direct test of this API.
48936 last FRE from one of the FDEs. Such a test ensures better regression
48938 bread and butter of an SFrame based stack tracer.
48942 * testsuite/libsframe.find/find.exp: New test.
48943 * testsuite/libsframe.find/findfre-1.c: New test.
48944 * testsuite/libsframe.find/local.mk: Build new test.
48945 * testsuite/local.mk: Include libsframe.find.
48992 "&str" is an important type in Rust -- it's the type of string
49021 sys/byteorder.h defines _BIG_ENDIAN but not any of the BYTE_ORDER
49028 of #elif. Test _LITTLE_ENDIAN and _BIG_ENDIAN in final tests.
49048 * loongarch-opc.c: Supply all fields of zero struct initialisation
49060 Sometimes gprofng creates two functions instead of one.
49073 numbers 6 and 7 if they're in scope of the source window:
49123 gdb/testsuite: fix formatting of gdb.python/py-disasm.py
49130 queries GDB for the list of supported languages, rather than just
49131 containing a hard-coded list of languages.
49140 * ld.texi (-Ur): Clarify the actions of this option.
49152 buildbot notified me of a regression on s390 in the test:
49172 munmap on a page of the inferior's code. The test is checking that
49184 function is placed at the program's entry point, e.g. often the _start
49212 of the instructions.
49218 string of their choosing, this string then became the disassembled
49227 Neither of these approaches allowed for, or preserved, disassembler
49228 styling, which is now available within libopcodes for many of the more
49237 the instruction fully styled. All of GDB's existing style
49249 Within builtin_disassemble, instead of capturing the print calls from
49253 The DisassemblerTextPart will capture a small piece of text along with
49260 address be printed, and takes care of printing the address and
49275 another, the result being returned will have a list of parts. Back in
49276 GDB's C++ code we walk the list of parts and call back into GDB's core
49314 This commit is a refactor ahead of the next change which will make
49334 of GDB, so I don't expect it to be widely used yet, and
49340 Having prevented sub-classing I can now rework the tail end of the
49341 gdbpy_print_insn function; instead of pulling the results out of the
49372 objfiles" and then inspects to ensure that the entry in question has a
49379 LoongArch: Fix PLT entry generate bug
49381 directly called by bl instruction, the PLT entry is not required.
49386 entry generate bug.
49431 the internal list of parsed script commands. This isn't obvious
49476 by arranging to either defer some aspects of a symbol to the
49480 symbol names in an unusual way (as compared to the rest of gdb).
49484 LOC_BLOCK symbol implement its own function to find the underlying
49488 This moves the definition of symbol::value_block outside of the class.
49490 and it seemed simplest to move this method out-of-line, and cleaner to
49573 * Rework the description of the DisassemblerResult class to include
49574 mention of builtin_disassemble.
49586 Added some special handling of '^' to gdb_test -- a leading '^' will
49590 It was pointed out that the '-wrap' flag of gdb_test_multiple is
49619 There were a small number of tests that needed adjustment after this
49633 First argument of $_gdb_maint_setting must be a valid setting of the 'show' command.
49663 the "generic type" has the size of an address on the target machine, which for
49688 due to is_target_64 failing because of:
49702 of using system compiler 7.5.0 which doesn't support -gdwarf64.
49704 Fix this by making is_target_64 use nodebug instead of debug for compilation.
49713 Say we have a terminal with a width of 40 chars:
49719 With TERM=xterm, we report a width of 40 chars:
49723 Number of characters gdb thinks are in a line is 40.
49726 And with TERM=ansi, a width of 39 chars:
49730 Number of characters gdb thinks are in a line is 39.
49736 (in other words GDB), hence we get 39 instead of 40.
49738 II. Types of wrapping
49740 Looking a bit more in detail inside gdb, it seems there are two types of
49744 This type of wrapping attempts to wrap some of the gdb output earlier
49765 It looks like wrapping occurred after 38, while readline should be capable of
49812 Number of characters readline reports are in a line is 40.
49816 Number of characters readline reports are in a line is 39.
49842 ... such that none of them would need forward declarations anymore.
49850 gas: equates of registers
49851 There are two problems: symbol_equated_p() doesn't recognize equates of
49865 equates of registers,
49868 more ought to, but many don't look to consider the possibility of
49884 A user reported a bug where printing a certain array of integer types
49893 of a value -- in this case it returned true, meaning there is a
49906 gdb's debuginfod progress messages include the size of the file being
49912 This size information is omitted if it's not available at the time of
49923 Disable out-of-scope watchpoints
49924 Currently, when a local software watchpoint goes out of scope, GDB sets
49931 software watchpoint goes out of scope, the watchpoint will not be
49941 when going out of scope.
49944 of scope. It also adds a test to ensure this feature isn't regressed in
49947 Calling `breakpoint_auto_delete' on all kinds of stops (in
49950 instead of just going through the bpstat chain (which only contains the
49959 I noticed that "scheduler-locking" does not appear in the index of the
49965 This is one part of the fix for GCC PR109128, along with a
49971 decides to use the object in the first place, but use of this _p
49972 interface (called as part of trying to decide whether to use the
50048 To represent 11 we'd need 2 digits, so we expect to see ___04_ here instead of
50052 Fix this in tui_source_window::set_contents, by updating the computation of
50078 The problem is that the second field of the rust_aggregate_operation
50107 evaluation of this expression requires the target program to be active
50182 There are a couple of problems with compact-source.
50184 First of all the documentation mentions:
50204 continue past the end of the file, so fix this by allocating space for
50222 Then again, it could be part of the calculation for the number of digits
50241 which shows that the number of digits needed for printing i is
50259 Also fix the documentation and help text to actually match effect of
50314 READ of size 8 at 0x611000034980 thread T0
50363 0x611000034980 is located 0 bytes inside of 208-byte region [0x611000034980,0x611000034a50)
50442 Stops fuzzed files triggering reads past the end of the reloc buffer.
50457 This was previously clearing the upper 32 bytes of ZMM0-15 rather than
50465 These two methods are both overrides of public methods in base
50472 of the same function currently results in a warning about jumping to another
50512 This is done regardless of whether such a reference will be used,
50544 There's just a single remaining use of the ALL_BREAKPOINTS_SAFE macro;
50557 I think objfile::sections makes sense as the name of the method to
50567 Allow pretty-print of static members
50602 I found a couple of spots in ada-valprint.c that use an explicit loop,
50627 contains a single global vector of all the initialization and
50631 object, the object constructor takes care of registering the two
50635 gdbpy_initialize_file class which take care of walking the callback
50645 guaranteed ordering of how the various sub-systems are initialized (or
50647 use of the environment variable GDB_REVERSE_INIT_FUNCTIONS, this is
50651 reverse the list of Python initialization (and finalization)
50653 environment variable set then this should offer some level of
50661 One other change of note was for gdbpy_initialize_gdb_readline, this
50666 All of the other initialize (and finalize) functions have been made
50685 I found a couple of other locations in gdb_continue_to_breakpoint,
50688 In all these locations one or both of the following issues are
50691 1. A leading pattern of '[\r\n]*' is pointless. If there is a
50694 at the start of a pattern, if there is a newline expect is happy to
50699 unexpected blank lines at the end of a command's output, but also,
50702 remainder of the newline matched by the pattern from gdb.exp. This
50704 appeared as a consequence of how gdb.exp was originally written. In
50708 were places where GDB emits a blank line at the end of the command
50712 gdb.dwarf2/dw2-out-of-range-end-of-seq.exp
50716 Or a location where the test script was matching part of the newline
50717 sequence, while gdb.exp was previously matching the remainder of the
50760 string, including FILENAME, and also removes some uses of '.*' to make
50774 This happens because decode_locdesc allows the use of
50780 1. Find a constant address of a symbol that happens to be encoded as a
50783 2. Find the offset of a function in a virtual table. (This one should
50789 3. Find the offset of a field, if the offset is a constant.
50791 None of these require TLS.
50808 of removing utils.h.
50849 One of Simon's recent commits (2a740b3ba4c9f39c86dd75e0914ee00942cab471)
50851 issue of the bug, so the KFails can be removed from the test.
50873 name, type, and value of variables with simple types, and print only the
50874 name and type of variables with compound types.
50902 If we start GDB in MI mode and continue to 'sum', the behaviour of
50909 Note that the value of the argument 's' was printed, even though 's' is
50913 behaviour caused Microsoft to avoid the use of '--simple-values' in
50923 of '--simple-values' so that it takes reference types into account:
50941 This patch implements solution (1) as I think the current behaviour of
50949 Stop the linker from loosing the entry point for COFF/PE code when compiling with LTO enabled.
50951 …* emultempl/pep.em (set_entry_point): Add an undefined reference to the entry point if it has been…
50957 …* scripttempl/pru.sc (OUTPUT_SECTION_ALIGN): New helper variable to place at end of DMEM output se…
50984 char is unsigned on s390x, so there are a lot of warnings like:
50987 …gas/config/tc-bpf.c:900:14: error: comparison is always false due to limited range of data type [-…
51029 uses frame_list, which is a static member of class frame_info_ptr,
51041 Because the destructor of selected_frame uses frame_list, its destructor needs
51042 to be called before the destructor of frame_list.
51047 The commit fixed this by handling the case that the destructor of frame_list
51067 Reverting the commit is another way of fixing the already fixed
51081 This means that it prints to gdb_stdout instead of the stream given as
51105 …gdbsupport/intrusive_list.h:415:12: error: storing the address of local variable ‘<anonymous>’ in …
51135 Improve the speed of computing checksums for COFF binaries.
51138 …* coffcode.h (coff_compute_checksum): Improve speed by reducing the number of seeks and reads used.
51148 annotated with keywords, and generates much of bfd.h and libbfd.h from
51154 CODE_FRAGMENT), moves most of the code out of bfd-in.h, and improves a
51175 it acts a little like some of the other bfd_open* routines. Also give
51205 Change signature of bfd crc functions
51206 The crc calculated is 32 bits. Replace uses of unsigned long with
51216 * auto-load.c (auto_load_objfile_script): Update type of
51219 * gdb_bfd.c (get_file_crc): Update type of
51228 matches part of the standard 16-bit sign extension (resulting in
51229 exactly the same value), and hoisted the calculation out of the loop.
51232 comment. Hoist calculation out of loop.
51261 …xcoffread.c:629:37: error: storing the address of local variable ‘main_subfile’ in ‘*inclTable.19_…
51274 xcoff_symfile_finish. Adjust the use of main_subfile in
51285 The use of expr is not idiomatic. Fix this by using set instead:
51306 error_stream is trivial and only used in a couple of spots in
51307 breakpoint.c. This patch removes it in favor of just writing it out
51342 this request are not part of this specification.
51354 is very useful. As of today, it looks like an unnecessary indirection
51355 layer. Move the contents of ui_interp_info directly into struct ui, and
51363 Use intrusive_list, instead of hand-made linked list.
51372 deserve their own file, instead of being scattered through top.{c,h} and
51379 Turn set_inferior_args_vector into method of inferior
51380 This patch turns set_inferior_args_vector into an overload of
51393 expression. Removing it also removes a lot of ugly (IMO) calls to
51412 updates all the callers. Most of this patch was written by script.
51429 with the resulting width being 77 instead of the expected 78.
51446 Number of characters gdb thinks are in a line is 78.
51448 Number of characters gdb thinks are in a line is 77.
51451 In tui_resize_all, we need the actual screen width, and using a screenwidth of
51460 and dump the screen we get the same type of screen garbling:
51472 Number of characters curses thinks are in a line is 78.
51476 Number of characters curses thinks are in a line is 77.
51534 Use safe-gdb-ctype.h as the include instead of "safe-ctype.h"
51535 to keep this isolated to gdb since rest of binutils
51643 The assert is a result of the print_thread_id call when trying to
51683 I certainly didn't intend for this test to rely on this feature of the
51692 I've extended the documentation of the `-p` flag to explain the
51695 I have also added a NEWS entry just in case someone runs into this
51701 form of pending breakpoint, something like:
51733 Instead of using a scratch variable which is then pushed into the
51748 Instead of using a scratch variable which is then pushed into the
51778 only ever reflect the last call to 'set args ...' regardless of which
51787 remove the use of deprecated_show_value_hack.
51794 In infcmd.c, in order to add command completion to some of the 'set'
51802 I don't know if there's actually any tests for completion of these
51813 I see these failures, when running with the native-gdbserver of
51849 4 bytes of memory at address 0x00007fffffffdc5c changed from: 6a 01 00 00
51866 4 bytes of memory at address 0x00007fffffffdc5c changed from: 00 00 00 00
51877 4 bytes of memory at address 0x00007fffffffdc7c changed from: 00 00 00 00
51882 In this list, we only have entries for the beginning of each line. This
51883 is because of the remote target's support for range stepping. The
51902 evaluation of this expression requires the target program to be active
51924 Otherwise, it attempts to read the value of the string from the target's
51925 memory (which is what actually generates the "evaluation of this ..."
51984 I've done that where appropriate. In a couple of other places I've
51985 made use of multi_line to better build the expected output pattern.
52029 a thus pointless level of indirection.
52036 All the Intel syntax related state adjustments apply independent of
52040 ... out of mainline code, grouping together the two case labels. This
52042 of shifts.
52047 course of the re-work
52058 course of the re-work wrong M_0 suffixes are also corrected to be M_1
52066 Re: Keeping track of rs6000-coff archive element pointers
52180 lang_add_section won't actually insert anything for most of them. That
52182 OTOH first created a tree of all candidates sections, including those
52184 of the sorting problem. In the testcase the chain length went from
52188 This splits out most of the early-out code from lang_add_section to its
52190 refactoring slightly changes the order of early-out tests (the ones
52205 gdb/doc: extend the documentation of the jump command
52208 deficiency with GDB's documentation of the jump command.
52226 used at the start of a gdb_test pattern. Consider this usage:
52252 bother anchoring the output with a '^', and a quick scan of the
52262 inject the regexp version of the command after the '^', followed by a
52268 that appears as a result of running a particular command.
52276 some output from GDB. This might be a result of some asynchronous
52291 There are a bunch of tests that do already use '^' followed by the
52311 places where, as part of this commit, I've needed to add an extra
52322 newline. There are a strangely large number of tests that end with a
52324 single character, this is then matching half of the trailing newline
52326 of the sequence. I can think of no reason why this would be
52332 The basic rule of gdb_test after this is that the expected pattern
52339 also removed the '[\r\n]*' that was added to the start of the pattern
52342 The addition of this pattern adds no value. If the user pattern
52343 matches at the start of a line then this would match against the
52345 match at the start of a line then this group doesn't care, it'll
52350 consequence of this part of the patch.
52357 A TCL proc will return the return value of the last command executed
52359 gdb_test_no_output is already returning the return value of
52362 However, I'm not a fan of (relying on) this implicit return value
52372 return value of gdb_test_no_output, and continue to pass after this
52376 use of gdb_test_no_output, so I did that.
52384 of our pattern matching when using gdb_test, I ran into some failures
52389 newline at the end of any warning message.
52397 of the warning message (in addition to the trailing newline), which
52399 as was done here -- in the middle of a sentence. Additionally, the
52403 None of the expected test result need updating with this commit,
52418 The test tries to find the number of the first internal breakpoint
52422 gdb_test_multiple "maint info break" "find first internal bp num" {
52438 problem as it turns out that -1 is the number of the first internal
52444 internal breakpoint number, it just needs the number of any internal
52465 gdb, doc: add index entry for the $_inferior_thread_count convenience var
52494 dispatch table (but also keeps the behaviour of allowing any unknow
52503 - the naming follows chapter 27 of the RISC-V ISA specification
52588 * testsuite/gas/bpf/*.d: Add -pseudoc variants of the tests.
52648 [gdb/tui] Fix length of status line string
52653 without updating subsequent uses of string.size (), which returns 0 after the
52657 - using string_val.size () instead of string.size (), and
52705 1) i386-dis.c:12055:11: runtime error: left shift of negative value -1
52706 Bit twiddling is best done unsigned, due to UB on overflow of signed
52740 Also, with the binutils testsuite now taking notice of CC_FOR_TARGET,
52741 I found a couple of debuginfod.exp fails with one of my compilers that
52785 on a long list of loaded files. I've originally retained using
52804 Special casing GPR names in my_getSmallExpression() leads to a number of
52813 casing of GPRs in my_getSmallExpression() aren't really tested anywhere
52815 there any test for uses of symbols with names matching GPRs, where such
52818 known affected insns; re-ordering of entries in riscv_opcodes[] could,
52819 however, yield more of them.)
52826 succeed). This also eliminates the latent problem of percent_op_itype[]
52827 and percent_op_stype[] growing a non-identical set of recognized
52831 The use of a wrong (for the insn) relocation operator (or a future one
52833 of the) expression "bad". Furthermore alongside the error from
52844 insns ahead of non-alias ones, this has the effect of avoiding "bad
52846 Here, however, all alternative forms of an insn type will again start
52852 riscv_ip() looks only for whitespace when finding the end of a mnemonic.
52855 The sole caller of parse_relocation() has already checked for the %
52918 bottom of cmd window is blank
52991 because it expects the prompt at the start of the line.
52993 Fix this by allowing the prompt at the start of a window as well.
53056 The semantics of wait_for are non-trivial, and a bit hard to understand
53064 I've added this ad-hoc a couple of times, and it seems that it's worth having
53099 With an entire testsuite run taking about 30 minutes, that is about 2.5% of
53172 [gdb/testsuite] Fix -wrap in presence of -prompt in gdb_test_multiple
53175 "$gdb_prompt $" instead of $prompt_regexp.
53297 opcodes/i386-dis.c:9865:22: error: storing the address of local
53306 The testcase managed to trigger creation of a wild pointer in
53317 objcopy of archives tidy
53348 For quite come time print_insn() has been storing the address of a local
53350 field won't be accessed again after print_insn() returns, it may kind of
53351 legitimately diagnose this. And recent enough gcc does as of the
53352 introduction of the fetch_error() return paths (replacing setjmp()-based
53367 asm code with lots of debug info.
53443 0x10: ret <-- end_pc | prologue_end of fun2
53465 construct of the "set language" command to say "pick the appropriate
53472 synonym) early, instead of in the for loop. I think it makes the two
53476 instead of using the "auto" language definition.
53479 unknown_language and move the bits of the existing unknown_language
53482 - Remove the set_language at the end of _initialize_language. I think
53489 - Use language_unknown instead of language_auto when creating a minimal
53491 is used to indicate that we don't know the symbol of the minimal
53505 setting. The source of truth is really current_language and
53517 gdb: remove return value of set_language
53528 Directory gdb/testsuite/boards contains a number of host/target boards, which
53531 The benefits of using these boards are:
53532 - improving test coverage of gdb,
53545 drop-in replacement of make check, while excercising all host/target boards in
53548 An example of make-check-all.sh for one test-case is:
53552 # of expected passes 8
53554 # of expected passes 8
53557 # of expected passes 8
53559 # of expected passes 8
53570 While working on PRs tui/30337 and cli/30346 I came across various notions of
53580 less than the actual screen size, to deal with lack of auto-wrap.
53581 This becomes gdb's notion of screen size (in other words the point where
53584 adjust to deal with lack of auto-wrap. This becomes readlines notion
53585 of screen size (well, internally the unadjusted one, but it'll report back
53594 Number of characters gdb thinks are in a line is 118.
53595 Number of characters readline reports are in a line is 118.
53596 Number of characters curses thinks are in a line is 118.
53597 Number of characters environment thinks are in a line is 118 (COLUMNS).
53598 Number of lines gdb thinks are in a page is 27.
53599 Number of lines readline reports are in a page is 27.
53600 Number of lines curses thinks are in a page is 27.
53601 Number of lines environment thinks are in a page is 27 (LINES).
53607 Number of characters gdb thinks are in a line is 117.
53608 Number of characters readline reports are in a line is 116.
53609 Number of characters curses thinks are in a line is 118.
53610 Number of characters environment thinks are in a line is 118 (COLUMNS).
53611 Number of lines gdb thinks are in a page is 27.
53612 Number of lines readline reports are in a page is 27.
53613 Number of lines curses thinks are in a page is 27.
53614 Number of lines environment thinks are in a page is 27 (LINES).
53618 is due to gdb making readline adjust twice for the lack of auto-wrap, this is
53624 Number of characters characters curses thinks are in a line is 110.
53625 Number of characters environment thinks are in a line is 111 (COLUMNS). ]
53629 Number of characters gdb thinks are in a line is 4294967295 (unlimited).
53630 Number of characters readline reports are in a line is 32766 (unlimited - 1).
53631 Number of characters curses thinks are in a line is 118.
53632 Number of characters environment thinks are in a line is 118 (COLUMNS).
53633 Number of lines gdb thinks are in a page is 4294967295 (unlimited).
53634 Number of lines readline reports are in a page is 32767 (unlimited).
53635 Number of lines curses thinks are in a page is 27.
53636 Number of lines environment thinks are in a page is 27 (LINES).
53675 * i386-dis.c (OP_J): Check result of get16.
53679 Use entry values for 32-bit PPC struct return
53687 entry value of r3, if available. Ulrich confirmed this matches the
53694 that "finish" would still not correctly find the return value via
53695 entry values.
53723 On platforms like PPC64 that use function descriptors, this may find
53739 x86: drop use of setjmp() from disassembler
53747 With this no further users of FETCH_DATA() remain, so the macro and its
53751 think that beyond get64() use of bfd_{,signed_}vma is really necessary.
53752 With type change of "disp" in OP_E_memory(), change the 2nd parameter of
53754 need for a local variable of signed type). This also eliminates the need
53755 for custom printing of '-' in Intel syntax displacement expressions.
53771 cases which are of interest to the (sole) caller. This also allows doing
53772 away with the abuse of "rex_used".
53802 RISC-V: Optimize relaxation of gp with max_alignment.
53820 all gcc/binutils regressions of riscv-gnu-toolchain, so should be worth and
53830 max_alignment_for_gp. It is used to record the maximum alignment of
53850 At least older versions of one of the doc generation tools complain
53855 Keeping track of rs6000-coff archive element pointers
53856 rs6000-coff archives use a linked list of file offsets, where each
53857 element points to the next element. The idea is to allow updating of
53862 back to the previous element, but of course that didn't last long.
53864 So this patch implements a scheme to keep track of file offset ranges
53872 If anyone is concerned this list of element ranges might grow large
53886 * coff-rs6000.c: Replace uses of xcoff_ardata and
53897 * coff64-rs6000.c: Replace uses of xcoff_ardata and
53906 much larger change than this little bit of cleanup.
53926 clone of a testcase was missed in the set of tests needing --divide
53955 Allow backends to add to gc_sym_list before handling entry sym.
53973 Yet another out-of-memory fuzzed object
53974 Do I care about out of memory conditions triggered by fuzzers? Not
53976 the memory hog. Oh well, this one was an element of a coff-alpha
53982 archive can only expand a maximum of eight times.
53984 size of symbol table agains file size.
54017 libsframe: use return type of bool for predicate functions
54030 (sframe_set_fre_info): Remove the usage of ATTRIBUTE_UNUSED.
54054 to the function need to be aware that due to the potential of string
54065 syntax") as the root cause of PR gas/30248. (The testcase is left in
54070 the function's behavior is a result of get_symbol_name()'s, make a copy
54071 of the incoming string before invoking that function.
54073 Like for parse_real_register() follow the model of strtol() et al: input
54082 Follow the model of strtol() et al - input string is const-qualified to
54105 distinguish between the two. There have been proposals of how to extend
54142 Assembler Internal Docs: Describe handling of opcodes for relaxation a bit better.
54167 of the current mapping symbol.
54170 4) If a proper mapping symbol is found in either step 2 or 3, find its boundary,
54180 0x12 .word 1234 <-- Found at step 2, the boundary is the end of section.
54182 The disassemble time of the test cases has been reduced from ~20 minutes to ~4
54190 (riscv_search_mapping_symbol): Cache the result of latest
54195 objdump use of uninitialised value in pr_string_field
54211 We interpose a lot of libC functions (dlopen, fork, pthread_create, etc.).
54212 Some of these functions have versions. For example,
54228 The current implementation of the interposed functions is:
54230 we use dlvsym (dlflag, "pthread_create", "GLIBC_<NN>") to find and call
54262 of all options and commands that have been documented so far.
54306 In the case of fork, we have nothing to do if `child_inf` is nullptr,
54313 In the case of exec, we detach from the exec'ing inferior and attach to
54314 the following inferior. This works regardless of whether they are the
54317 amd-dbgapi needs to be aware of the new address space created by the
54327 Same for exec. A previous version of the code had the amd-dbgapi target
54343 of the process target of the inferior used to fetch the event. The idea is
54368 stack, the stack of inferior 1. This is problematic because "another target"
54372 even was reported, not just some inferior of the same process target.
54381 either of these, switch to an arbitrary inferior with that process
54402 sequence of events would happen, if it was not for the current patch.
54411 target of inferior 2. This makes inferior 1 the current inferior, as
54440 interface as a whole more independent of the global context.
54442 My first attempt at doing this was to find an inferior using the process
54478 There is one spot that needs to be updated outside of the regcache code,
54507 doesn't really make sense to put it there. The only user of
54519 amd-dbgapi target will need to be notified of fork events through an
54529 notified of it, so we can attach to the child, and catch if the child
54569 Add overload of fits_in_type
54570 This adds an overload of fits_in_type that accepts a gdb_mpz. A
54596 situation of zero-length types. This can happen for a Rust '()' type;
54612 Table of the .debug_line section:
54629 Note that the behaviour of read_direct_string has been present since repo
54666 I've then added a new test that makes use of 'scripts' in
54685 Introduced the use of {"} in mi-support.exp. There is absolutely
54687 editor to get the syntax highlighting of this file wrong after this
54691 editor.... but I'm hoping I can instead take the lazy approach of just
54704 provide additional register outside of gdb's known and expected feature
54710 QEMU has postponed inclusion of the pauth feature string in version 8, and
54722 report additional system registers and thus doesn't cause a crash of older
54730 debug registers: Add missing debug version entry for FEAT_Debugv8p8
54737 No visible changes should happen as consequence of this patch, but in the
54745 (1) Description of problem
54761 On LoongArch, variable intarray address 0x120008068 out of range for IHEX,
54767 # Check the address of a variable. If it is bigger than 32-bit,
54794 of linker.
54813 Because 64-bit variable address out of range for IHEX, it's not an
54814 functional problem for LoongArch. Refer to the handling of 64-bit
54826 Use maint set tui-left-margin verbose to make the extend of the left margin
54847 This patch fixes the problem by introducing a non-throwing variant of
54889 end of the bfd_check_format_matches loop making the bfd in-memory. On
54908 The m_digits member of tui_source_window is documented as having semantics:
54944 of the left margin is not written, which is a problem because that location is
54948 The problem is caused by confusion about the meaning of:
54953 There's the meaning of defining the size of this zero-terminated char array:
54959 And there's the meaning of defining part of the size of the left margin:
54978 This changes the layout of the disassembly window back to what it was before
55000 The TUI has two types of windows derived from tui_source_window_base:
55052 of the left margin is not written, a problem reported as PR tui/30325.
55096 I found a couple of tests that check gnatmake_version_at_least using
55122 Fix typos in the linker's documentation of the --enable-non-contiguous-regions option.
55130 of the code reading relocs using sh_size (often no bfd section is
55131 created) but in the case of SHF_ALLOC dynamic relocs we had some code
55154 ubsan: dwarf2.c:2232:7: runtime error: index 16 out of bounds
55155 Except it isn't out of bounds because space for a larger array has
55163 Fail of x86_64 AMX-COMPLEX insns (Intel disassembly)
55182 (part of BFD_FLAGS_SAVED) to be removed.
55217 1) The if (..) is meaningless -- we're xoring with that value, and of
55223 a mask of those 4 bits out of the loop.
55237 could be 'a space separated list of inferior numbers' which is correct
55239 combination of numbers and (ascending) ranges.
55241 The beginning of the section now describes the ID list as a new keyword.
55249 …warf.c (read_and_display_attr_value): Warn if the number of views is greater than the number of lo…
55255 Fix an attempt to allocate an excessive amount of memory when parsing a corrupt DWARF file.
55257 * dwarf.c (display_debug_lines_decoded): Check for an overlarge number of files or directories.
55261 * dwarf.c (prealloc_cu_tu_list): Always allocate at least one entry.
55263 Fix an attempt to allocate an overlarge amount of memory when decoding a corrupt ELF format file.
55283 instead of $gdb_test_name in one place. Fixed in this commit.
55363 different set of options for limiting hardware watchpoints on remote
55372 on a riscv64 target. It turns out the cause of the problem is that I
55374 test makes use of. The test requires GDB to backtrace through a
55447 Fix typos in previous commit of gdb.texinfo.
55453 This is a bug in the intersection of two obscure options that cannot
55454 even be invoked from ld with a feature added to stop ld of the
55458 just with their input CU name but with a version of their input CU name
55469 double-linking of CTF (so that your CTF can be grouped into output dicts
55472 mapping to be created (even if empty), we did the creation of empty dicts
55474 you ended up with a pile of useless empty dicts and then all the content
55496 caller is apt to find a previous, lingering error and misinterpret
55500 dicts as a result of carrying out other user-requested operations on
55508 So, audit and fix all those places. Add tests for as many of those
55535 So pass down an indication of whether this is a cross into the
55556 the libiberty hash table and to use new and delete. A couple of other
55614 version of the linker
55681 entry on the stack. This is also fixed in this commit.
55701 hundreds of FAILs like so:
55714 AIX GCC has the same issue, and there the easier way of adding
55717 So add explicit uses of all globals to the generated code.
55719 For the C++ test, that reveals that the static variable members of the
55742 The change is just the addition of an extra "," -- there will be no
55751 improves (I think) some of the error messages emitted when values of
55760 the second argument is of the wrong type then we get this error:
55790 text of the exception to more closely match the "standard" error
55840 There's no huge benefit for making this change, both of these methods
55842 will take advantage of the keyword arguments in these cases, but I
55864 As part of this update we now use gdb_PyArg_ParseTupleAndKeywords
55865 instead of PyArg_UnpackTuple to parse the function arguments.
55869 that we can check the argument type (is gdb.Value) as part of the
55871 the function. One result of this is that we now get a better error
55885 too excessive. As such, I've updated the name of the argument from
55907 lead to random register corruption when the inferior makes use of
55913 one of two states, either the displaced step succeeded, or the
55917 called, which has the job of fixing up the state of the current
55939 of the instruction being stepped.
55962 report), the signal stops the inferior at the address of the displaced
55965 first cancellation of the displaced step that causes the problem; in
55972 of any temporary registers, so when a displaced step is not completed
55980 instructions, which increases the chances of this bug triggering.
55995 sequence of replacement instructions we got, and from that GDB can
56011 minimal roll-back version of the code inside the architecture specific
56012 fixup functions for AArch64, rs600, s390, and ARM. For all of these
56021 also added support for testing the displaced step in the presence of
56026 branches to itself. I added these tests after a first version of this
56048 Fix memory leaks and do a general tidy of the code for printing coff
56055 "num_parents" non-zero with tests of "parents" non-NULL
56084 This patch corrects that and avoids some dubious copying of strings.
56125 gdb: Fix reading of partial symtabs in dbxread.c
56160 The problem is simple: a pair of parentheses was removed from the
56171 Improve documentation of GDB build requirements and options
56173 was inappropriate and out of place. In addition, the description
56174 of how to go about specifying 'configure' time options for
56175 building with libraries was highly repetitive. Some of the text
56199 Convert the return type of 'should_print_thread' from int to bool.
56207 a method of process_stratum_target.
56215 Make find_thread_ptid (the overload that takes an inferior) a method of
56231 outside of maintainer mode dependencies will cause the subset of files
56234 under bfd/po/, i.e. in maintainer mode.
56236 In the course of looking around in an attempt to try to understand how
56239 quite right (the output doesn't change when any of the enumerated files
56247 time, but skipping ones which look to be of interest for debugging
56255 lot of code. It's better to bfd_alloc the memory which allows it all
56256 to be freed without fuss when the bfd is closed. In the process of
56257 doing this I reverted most of commit a6336913332.
56259 Some of the stabs handling code grows arrays of pointers with realloc,
56260 to deal with arbitrary numbers of fields, function args, etc. The
56275 in place of xmalloc and memset.
56282 memory in place of xcalloc. Update callers.
56336 of the few ways for a client to actually acquire a memory reference.
56341 I noticed a couple of places in infrun.c where we call
56354 thread number of that arbitrary thread.
56396 Evaluation of the expression containing the function
56412 I find this second stop report a little confusing. While it is true
56413 that GDB stopped as a result of hitting breakpoint 1, I think the
56415 actually stopped at a location of breakpoint 1, which is not the case.
56417 Also, I find the second stop message draws attention away from
56419 message, and this second stop might be thought of as replacing in
56447 Evaluation of the expression containing the function
56452 The user can still find the number of the breakpoint that triggered
56464 (b) the $pc of the thread changed during condition evaluation.
56497 Evaluation of the expression containing the function
56533 because the thread stopped due to SIGSEGV. As a result of this we
56534 print the first instance of the line (as seen above in the example).
56540 print a second instance of the line, as seen in the example.
56569 Evaluation of the expression containing the function
56587 This commit extends gdbserver to take account of a failed memory
56592 reading memory, I have not updated any of the calls related to
56594 with that area of gdb/gdbserver, and I don't want to break anything,
56600 checks for different sizes of memory access.
56612 However, none of the callers of agent_mem_read actually check the
56614 next commit I will update the users of agent_mem_read to check for the
56623 When GDB fails to test the condition of a conditional breakpoint, for
56642 was #1 because in the final line of the message GDB reports the stop
56672 Evaluation of the expression containing the function
56682 Notice that, the final lines of output reports the stop as being at
56686 I find this behaviour confusing, and propose that this should be
56712 This commit just changes the one line of the error, and updates the
56731 access ibytes after read_memory_func error. Change type of
56748 Dump of assembler code for function bar:
56761 End of assembler dump.
56781 that the function is in the process of restoring state before
56798 and (in our imagined situation) with more aggressive levels of
56816 This fixes some of the failures in gdb.base/unwind-on-each-insn.exp,
56824 that some of the failures in gdb.base/unwind-on-each-insn.exp resolved
56830 frame-id during the last few instructions of the function. These are
56838 However, in the particular case of interest here, the test function
56840 GDB's prologue scan could, in theory, scan every instruction of the
56845 instruction happens to be one of the compressed instructions that I'm
56849 really does go from the start of the function right up to the current
56855 of the function -- there are some instructions we always need to stop
56874 All of these settings now take a boolean rather than an integer, and
56883 the whitespace in the cpsie instruction was inconsistent with most of
56912 The first of these commits fixed an issue in GDB and tried to extend
56919 The second commit reverts some of the gdb.server/server-kill.exp
56930 breakpoint.c that is the core of the first commit and ran the test
56944 part of the stepi logic, it is during this frame-id calculation that
56965 should find that without this patch there are zero test failures,
56992 Older versions of Python result in output like this:
57001 While more recent versions of Python give a similar, but slightly more
57011 The test was only accepting the first version of the output. This
57020 for backwards compatibility, the detection should be based on the size of
57024 iovec size of 16. If a target only supports TPIDR and not TPIDR2, it will
57025 return a iovec size of 8, even if we asked for 16 bytes.
57039 A case of a string section ending with an unterminated string. Fix it
57053 tc-aarch64.c:1473:27: runtime error: left shift of 7 by 30 places
57064 objdump and objcopy exit. It is of course better from a user
57123 instead of the .ARM.exidx one. Unfortunately some glibc calls have more
57128 Dump of assembler code for function pthread_cond_timedwait@@GLIBC_2.4:
57148 But in IR, since all symbols of the same type have the same value and
57149 section, we can't tell if a symbol is an alias of another symbol by
57194 Type commands for definition of "remove".^M
57203 Type commands for definition of "remove".^M
57231 Fix this by matching the entire output of "define remove", including the
57246 NULL check in language_demangle is not needed by either of the
57258 of worker threads is set to zero. These turn out to be the same
57270 Allow consumers of GDB to extract the name of the main method. This is
57273 Used by both MAP and DDT e.g. it is used to detect the presence of debug
57280 GDB: Bring back the handling of DW_CC_program
57281 Fix a functional regression and restore the handling of DW_CC_program
57282 code of DW_AT_calling_convention attribute for determining the name of
57283 the starting function of the program where the DW_AT_main_subprogram
57297 In the case where a Fortran program has a program name of "main" and
57309 This patch fixes this issue by increasing the precedence of the full
57310 symbol when the language of the current frame is Fortran.
57312 Newer versions of GCC transform the program name to "MAIN__" in this
57331 we can find good two character (or less) operand type.
57334 to "Wif" because of its special handling (and allocating single character
57367 outside of 64-bit mode unused (typically ignored) register encoding bits
57369 the necessary registers cannot be specified (and some of these bits
57370 can't even be used outside of 64-bit mode). And then there are odd tests
57379 the SIB byte actually being the supposed immediate. Some of these could
57391 of the extension opcode functionality.
57404 immediate size from the size of other (typically register) operands
57407 allow size (and signedness) specification. In the absence of such, the
57414 Size specification is permitted at bit granularity, but of course the
57421 .insn isn't going to have a constraint of only a single immediate when,
57434 later, as will the handling of EVEX embedded broadcast and EVEX Disp8
57438 up cannot be used with .insn outside of 64-bit mode. Users would need to
57449 gas in order to make use of the extension opcode functionality.
57468 While only a secondary issue there, the testcase of PR gas/27212 exposes
57487 though the addition of a case for RETURN_FORCED_QUIT isn't the actual
57493 this portion of the backtrace from the bug report:
57505 /* Get out of tfind mode, and kill or detach all inferiors. */
57544 It was introduced as part of SME2, but it belongs to the
57579 worth of elements to two registers' worth, or two registers'
57587 - SQRSHR, SQRSHRU and UQRSHR, which operate on lists of two
57590 - SQRSHRN, SQRSHRUN and UQRSHRN, which operate on lists of
57603 - SQCVT, SQCVTU and UQCVT, which operate on lists of two or
57606 - SQCVTN, SQCVTUN and UQCVTN, which operate on lists of
57613 which narrow a pair of .S registers to a single .H register.
57616 This patch adds the SME2 versions of the FP<->integer conversion
57635 There are also 64-bit forms of SVDOT and UVDOT.
57653 encoding. They are the first instance of a ZA (as opposed to ZA tile)
57654 operand having a range of offsets. As with ZA tiles, the expected
57660 This patch adds the SME2 multi-register forms of F{MAX,MIN}{,NM}
57693 LUTI2 takes an unsuffixed SVE vector index of the form Zn[<imm>],
57701 - the WHILE* instructions have forms that return a pair of predicate
57702 registers. This is the first time that we've had lists of predicate
57710 - PEXT takes an unsuffixed predicate index of the form PN<n>[<imm>].
57711 This is the first instance of a vector/predicate index having
57717 SME2 adds LD1 and ST1 variants for lists of 2 and 4 registers.
57719 2-register lists have a stride of 8, starting at register x0xxx.
57720 4-register lists have a stride of 4, starting at register x00xx.
57724 bounds of 7 and 15, this is the first plain register operand to have a
57737 One notable feature of these instructions (and many other SME2
57739 of the list's size. The patch uses the general error "start register
57740 out of range" when this constraint isn't met, rather than an error
57761 Some SME2 instructions operate on a range of consecutive ZA vectors.
57773 Many SME2 instructions operate on groups of 2 or 4 ZA vectors.
57785 A quirk of the way errors are reported means that if an instruction
57786 is wrong both in its qualifiers and its use of a group size, we'll
57789 things like out-of-range immediates. It's also not obviously the
57798 AARCH64_OPND_SME_ZA_array, but are distinguished by the size of
57799 their offset fields. This patch adds _off4 to the name of the
57804 an lsb position suffix to the name of the field that we already have.
57828 such as { z0.s, z4.s, z8.s, z12.s }. The purpose of this
57831 The parsing code already had (unused) support for strides of 2.
57837 take a bitmask of acceptable strides, which allows multiple
57850 the names of the associated FLD_* enum.
57866 aarch64: Rename some of GAS's REG_TYPE_* macros
57881 Quite a lot of SME2 instructions have an opcode bit that selects
57882 between 32-bit and 64-bit forms of an instruction, with the 32-bit
57883 forms being part of base SME2 and with the 64-bit forms being part
57884 of an optional extension. It's nevertheless useful to have a single
57885 opcode entry for both forms since (a) that matches the ISA definition
57896 This patch just moves some out-of-order-looking OP_SVE_* macros.
57902 the SVE and SME uses of qualifiers: a macro defined for one can
57907 aarch64: Tweak priorities of parsing-related errors
57908 There are three main kinds of error reported during parsing,
57909 in increasing order of priority:
57911 - AARCH64_OPDE_RECOVERABLE (register seen instead of immediate)
57917 instead of an immediate, that's likely to be a better match than
57920 The idea of this patch is to prioritise parsing-related errors
57929 error against the final opcode entry that got to the qualifier-
57931 the opcode entry that had the closest match, just like we
57932 pick the closest match within an opcode entry for the
57935 This patch adds the number of invalid operands as an
57944 invalid number of registers in the list; N registers are expected at operand M -- `insn'
57948 (invalid number of registers in the list; N registers are expected) at operand M
57959 expected number of registers. However, there are quite a few
57962 it isn't obvious which opcode entry they meant. Saying that we
57992 aarch64: Add an error code for out-of-range registers
57993 libopcodes currently reports out-of-range registers as a general
57997 adds a dedicated error type for out-of-range errors.
58002 SME2 has many instructions that take a list of SVE registers.
58004 different numbers of registers.
58007 we find that the number of registers does not match the opcode entry,
58010 and 4-register forms of an instruction, and if the assembly code uses
58011 the 2-register form with an out-of-range value, the out-of-range value
58013 than the "wrong number of registers" error against the 4-register
58021 The contents of operand_mismatch_kind_names were out of sync
58026 aarch64: Rework reporting of failed register checks
58029 each of these entries, but the specific error might vary from one
58030 entry to another, depending on the exact nature of the problem.
58033 error out of all the failed matches. And in many cases it works well.
58034 However, one of the limitations is that the error is always reported
58035 against a single opcode table entry. If that table entry isn't the
58040 name, or uses a type of register that is not accepted by any
58041 opcode table entry. For example, one of the expected error
58047 the SVE form of ADDP rather than the Advanced SIMD one. There are
58048 many other instances of this in the testsuite.
58056 the register types that an opcode table entry expected for a
58057 given operand. It also records what kind of register was
58066 product of all known mnemonics and one example from each register
58071 for each of these combinations. In each case, the combination didn't
58074 of personal taste around this kind of thing though.
58077 of the type, but we don't actually need/want 1<<REG_TYPE_MAX.
58085 of the form "operand N must be X".
58101 of ext, even though the operand is clearly a list.
58103 This patch uses set_fatal_syntax_error to bump the priority of the
58104 error once we're sure that the operand is a list of the right type.
58111 or sees an unexpected kind of register, it queues a default
58130 If we've parsed the opening '{' of a register list, and then see
58133 default error. The operand won't be a valid list of anything,
58135 a list of Y".
58139 aarch64: Tweak parsing of integer & FP registers
58147 open-coded the calculation of the qualifier.
58158 of doing that is that it isn't immediately clear which register
58201 Now that parse_typed_reg checks the range of tile register numbers
58202 and libopcodes checks the range of vector select offsets, there's
58203 very little difference between the parsing of ZA tile indices,
58209 routine, parameterised by the type of register that they expect.
58218 (This is because out-of-range indices are treated as more severe than
58220 to the point of checking the completed opcode.)
58231 of the index. The patch keeps that test but adds another with
58275 One important effect of going through parsed_type_reg (in general)
58279 However, to support existing unqualified uses of ZA, parse_reg_with_qual
58295 Now that all parsing of ZA tile names goes through parse_typed_reg,
58296 we can check there for out-of-range tile numbers. The other check
58303 This involves adding a way of suppressing the usual treatment
58304 of register indices, since ZA indices look very different from
58312 to return the register entry instead, since that has both pieces
58313 of information in one place.
58316 a mask of flags. This hopefully makes calls easier to read
58368 For compatibility reasons, we can't extend the set of registers
58388 aarch64: Restrict range of PRFM opcodes
58389 In the register-index forms of PRFM, the unallocated prefetch opcodes
58390 24-31 have been reused for the encoding of the new RPRFM instruction.
58392 forms of PRFM are unaffected.
58418 this job. Users can make use of this to avoid having to write out
58426 new helper class, and I've also made use of this helper within the
58445 Currently all of these frame-id attributes need to be gdb.Value
58485 _("The value of the '%s' attribute is not a pointer."),
58495 meanings of these states are:
58504 We need to update pending_framepy_create_unwind_info, the only user of
58544 Rather than trying to describe the whole algorithm of
58547 summary of what the function does.
58563 A consequence of all this is that it doesn't really make sense to
58564 allow sub-classing of gdb.UnwindInfo. Any sub-class can't call the
58592 limit to which methods we can add to it, but many of the methods that
58598 In terms of implementation: if I was starting from scratch then I
58599 would implement many of these (or most of these) as attributes rather
58601 different representation of a frame, I think there is value in keeping
58664 This registers a global unwinder that calls each of the new
58665 PendingFrame methods and checks the result is of an acceptable type.
58687 Some of the exception messages will change slightly with this commit,
58688 though the type of the exceptions is still ValueError in all cases.
58694 In pyuw_sniffer where the pending frames are created, we make use of a
58706 As part of this commit I now initialize the frame_info field, which
58749 attribute of each unwinder object directly, after this commit, this
58752 There's tests for all the changes, and lots of documentation updates
58835 than just handle in R_RISCV_PCREL relocs. Ideally, since the value of
58851 RISC-V: Clarify link behaviors of R_RISCV_32/64 relocations with ABS symbol.
58887 These types of codes are different for each target, I am not sure what are the
58943 version_at_least is a less capable variant of version_compare, so this
58951 This adds a 'rust_at_least' helper proc, for checking the version of
58982 The ERROR_NO_INFERIOR macro is already called at the beginning of the
58991 It was pointed out during review of another patch that the function
59000 slightly easier to call in a couple of places where we already have a
59005 Updated all users of displaced_step_dump_bytes.
59009 Finally, I ended up having to add an include of gdb_assert.h into
59023 the original instruction, I just need to go find the information
59026 And we do print out the bytes of the new instruction, so I can figure
59029 Also, the code that prints the bytes of the replacement instruction
59032 In this commit I remove the existing code that prints the bytes of the
59033 replacement instruction, and add two new blocks of code to
59039 Here's an example of what the output looks like on x86-64 (this is
59062 series of instructions.
59075 to limit the disassembly. But this seems like a lot of effort just to
59153 This isn't exactly as run_host_cmd does, as it lacks reordering of
59190 Move definition of unrelocated_addr earlier
59191 This moves the definition of unrelocated_addr a bit earlier in
59226 of a pretty-printer's "to_string" method. Instead, it always shows
59241 able to return a list of two elements: the zero/non-zero value, and a
59325 We have the following series of events:
59331 to gdbserver instead of gdb, and we run into the timeout.
59333 There is some notion of current gdb, tracked in both gdb_spawn_id and fileid
59334 of the host board (see switch_gdb_spawn_id). And because the host and target
59357 FreeBSD, we have to correct the year of copyright manually. So fix this
59398 Given p = A where p is a pointer to some type and A is an array of
59405 to address 0x62600000016c with insufficient space for an object of
59430 gdb compile failed, default_target_compile: Can't find rustc --color never.
59440 Since the rest of the code in allow_rust_tests is also about availability of
59466 ubsan: elfnn-aarch64.c:4595:19: runtime error: load of value 190
59489 Use GDB_SIGNAL_TRAP instead of SIGTRAP. This is a no-op since the
59490 value of SIGTRAP on FreeBSD matches the value of GDB_SIGNAL_TRAP, but
59512 gprofng: 30089 [display text] Invalid number of threads
59514 We interpose a lot of libC functions (dlopen, fork, pthread_create, etc.).
59515 Some of these functions have versions. For example, dlopen@GLIBC_2.34,
59517 We have to interpose each of the functions because we don't know
59518 which version of libC will be used during profiling.
59519 Historically, we have used three versions of scripts (mapfile.aarch64-Linux,
59525 - added new version symbols which are defined in latest versions of libC.
59535 * libcollector/Makefile.am: Use libgprofng.ver instead of mapfile.*
59564 lwp_info::waitstatus and details the description of lwp_info::status
59572 displaced step: pass down target_waitstatus instead of gdb_signal
59574 target_waitstatus instead of a gdb_signal. This is needed because a
59582 also think of it as a clean up.
59614 In do_self_tests we try to find out the location of the gdb to debug, which
59617 In principle, the host board specifies the location of GDB, on host.
59674 presumably boolean result of calling value_binop. However,
59703 Currently, gdb_mpz::safe_export will always make a copy of *this.
59746 host, because the current implementation of gdb_ensure_index doesn't support it.
59895 long is a poor choice of type to store 32-bit values read from
59905 I decided to change the field names too, which makes most of this
59942 coffgrok access of u.auxent.x_sym.x_tagndx.p
59945 field without first checking fix_tag, and removes a whole lot of code
59988 gdb compile failed, default_target_compile: Can't find gdc.
60066 Preserve name of range types
60068 picked up by the AdaCore internal test suite. Previously, the name of
60078 adapter the context in which an evaluation occurs. One of the
60079 supported values is "repl", which we took to mean evaluation of a gdb
60083 rest of the protocol. For example if the user types "continue",
60090 [gdb/symtab] Fix line number of static const class member
60116 99d679e7b30 ("[gdb/symtab] Fix "file index out of range" complaint") by
60117 limiting the scope of the fix in the original commit.
60119 Fix this regression by yet further limiting the scope of that fix, making sure
60134 libctf: get the offsets of fields of unnamed structs/unions right
60135 We were failing to add the offsets of the containing struct/union
60141 * ctf-types.c (ctf_member_info): Add the offset of the unnamed
60142 member of the current struct as necessary.
60162 domain-specific knowledge of the state of the ctf_next_t iterator
60175 function that ensures that the order of output types is stable is not
60179 Fixed, audited for further instances of the same failure (none found)
60200 of the code in the new thread. This also lets us remove a FIXME.
60205 There were reports of gdb throwing internal errors when calling
60293 gdb.base/break.exp and gdb.base/access-mem-running.exp are two examples of
60297 enabled more broad use of pointer authentication masks to remove non-address
60298 bits of pointers, but wasn't immediately detected because systems with native
60301 The above crash happens because gdb is in the middle of handling an event,
60308 types of situation where we don't have a register cache. The problem with that
60309 is the inconsistent state of inferior_ptid, which is used by
60340 in. But this prevents the use of target_has_registers to guard against the
60341 lack of registers, since, although current_thread_ is still nullptr,
60349 a couple (or 4, for bare-metal) mask registers to mask off some bits of
60353 thread/current regcache because gdb is in the middle of doing event handling
60356 Simon suggested the use of inferior_ptid to fetch the register cache, as
60365 don't run into assertions or errors. If any of the checks fail, we fallback to
60366 using a default mask to remove non-address bits of a pointer.
60368 I discussed with Pedro the possibility of caching the mask register values
60378 to access a memory address (now that gdb is capable of reading memory even
60380 of that memory access, will attempt to access registers, running into errors.
60388 increment string_ptr to end of new string.
60488 [gdb/dap] Add logging of ignored lines
60518 node of the manual. I'm checking in this patch to correct it.
60535 ERROR: remote_download to target of \
60540 Fix this by using gdb_remote_download (instead of plain remote_download) in
60541 allow_opencl_test, which takes care of:
60568 so the location of the second stub is known at build time, this may
60592 ARCH-tdep.c. I have no idea which of these is the better choice -- or
60594 just not aware of how to choose between them.
60601 indirect operands, all of which appear to be working fine with this
60649 relocated addresses again") changed the format of that command, but
60656 FAIL: gdb.dwarf2/dw2-out-of-range-end-of-seq.exp: END with address 1 eliminated
60693 instead of relocated. This breaks a few tests on systems where that
60703 These tests run "maintenance info line-table" to record the address of
60770 creating sections. Setting SEC_LINKER_CREATED stops the display of
60825 PPC64 multiple entry points, a normal entry point and an alternate entry
60826 point. The alternate entry point is to setup the Table of Contents (TOC)
60827 register before continuing at the normal entry point. When the TOC is
60828 already valid, the normal entry point is used, this is typically the case.
60829 The alternate entry point is typically referred to as the global entry
60830 point (GEP) in IBM. The normal entry point is typically referred to as
60831 the local entry point (LEP).
60845 The issue is in gdb/infcmd.c, function finish_command. The value of the
60847 to SAL.PC. However, SAL has just been declared. The value of SAL.PC is
60848 zero at this point. The intialization of ALT_ENTRY_POINT and ENTRY_POINT
60849 needs to be after the initialization of SAL.
60851 This patch moves the initialization of ALT_ENTRY_POINT and ENTRY_POINT
60859 Make sure the result of each remote_exec in gdb/testsuite/boards/*.exp is
60877 Looking at the implementation of ${board}_file in remote-stdio-gdbserver.exp,
60878 I don't see a relevant difference with the implementation of standard_file
60887 [gdb/testsuite] Use localhost instead of 127.0.0.1 for boards
60914 removed handling of HOST_DIR in local-remote-host-native.exp to fix FAILs
60917 Reintroduce handling of HOST_DIR using remotedir, now that using remotedir for
60934 We also checked the implementation of return value in arm and mips.
60955 I noticed a weird comment in one of the .y files, and then ended up
61064 If we accept that we can't fix the symbol language detection 100% of
61072 This results in GDB trying to find all symbols that match 'pars',
61094 of the symbol name is stripped off, thus, we check 'pars' against
61104 occurs on the last iteration of the loop, when we are comparing to
61143 skip range, as the stored skip range is before the start of the
61189 The first iteration of the loop will match the 'foo', then add the
61191 find the ':' after the '<int>' the first iteration of the loop fails
61193 second iteration of the loop.
61197 iteration of the loop succeeds, but, once again we left the '<int>' in
61198 place as a skip region, even though this occurs before the start of
61208 Instead of placing the fix in strncmp_iw_with_mode, I place the fix in
61238 This solves the problem of a rust symbol ending up in the C++ specific
61244 going to merge this fix. I've left the discussion of rust in this
61246 the context of GDB prior to commit 6e7eef72164c00d6a5a7.
61254 quite achieve that: '$' for example is unconditionally marked as part of
61265 had no real significance to the rest of the assembler. If '%' was to be
61268 Note further that this also addresses the latent issue of a sub-target
61270 valid part of symbol names, but would have included them in what
61271 is_identifier_char() considers a valid part of a name. (There's a minor
61273 '@' only in the middle of symbol names, yet starts_memory_operand()
61274 specifically looks at the first character of [possibly] a symbol name.)
61282 "allow_naked_reg" part of the condition: This has only led to
61287 x86/AT&T: restrict recognition of the "absolute branch" prefix character
61290 isn't going to be a branch: All elements of same-mnemonic template
61309 With the SDM long having dropped the NDS/NDD/DDS concept of identifying
61311 the few consumers of the attribute, only an assertion was still checking
61320 The function has accumulated a number of special cases for no real
61322 particular) weren't suitably utilized instead. Note that the addition of
61328 in line with the SDM long having dropped the NDS/NDD/DDS concept of
61329 identifying encoding variants. The fallout will be taken care of
61339 Recent BPF patch removed and renamed the list of relocations based on
61340 the limitations of BPF instruction set.
61386 include "thread 1.1" instead of just "thread 1", even when there is
61393 I then update the existing print_thread_id to make use of this new
61463 Regen ld/po/BLD-POTFILES.in
61469 checking. This of course doesn't stop the fuzzers finding a way to
61507 This removes objfile_type, in favor of always using the per-arch
61523 This renames objfile_type to be an overload of builtin_type, in
61544 should generally allocate on the relevant objfile, regardless of the
61545 underlying type of the set, which is what this patch implements.
61554 should generally allocate on the relevant objfile, regardless of the
61555 placement of the index type of the array, which is what this patch
61565 should generally allocate on the relevant objfile, regardless of the
61566 underlying type of the range, which is what this patch implements.
61670 to abstract out the placement of new types, so that type-creation code
61703 Simon pointed out a line table regression, and after a couple of false
61706 The bug is that most of the code in do_mixed_source_and_assembly uses
61714 unrelocated addresses in the line table. This prevents this sort of
61761 locations of tracepoints. This is because bl_address_is_meaningful used
61812 With this, I see a few instances of 'Target returns error code: 01'
61813 disappearing from gdb.log, and the results of gdb.trace/*.exp improve a
61816 -# of expected passes 3765
61817 +# of expected passes 3781
61818 -# of unexpected failures 518
61819 +# of unexpected failures 498
61828 PPC64 multiple entry points, a normal entry point and an alternate entry
61829 point. The alternate entry point is to setup the Table of Contents (TOC)
61830 register before continuing at the normal entry point. When the TOC is
61831 already valid, the normal entry point is used, this is typically the case.
61832 The alternate entry point is typically referred to as the global entry
61833 point (GEP) in IBM. The normal entry point is typically referred to as
61834 the local entry point (LEP).
61837 finish_backward currently sets the break point at the alternate entry point.
61839 entered the function via the normal entry point, execution in the reverse
61840 direction will never sees the break point at the alternate entry point. In
61845 address of the alternate entry point (GEP). The finish_backwards function
61846 is updated, if the stopping point is between the normal entry point (LEP)
61847 and the end of the function, a breakpoint is set at the normal entry point.
61848 If the stopping point is between the entry points, a breakpoint is set at
61849 the alternate entry point. This ensures that GDB will always stop at the
61850 normal entry point. If the function did enter via the alternate entry
61852 function until the alternate entry point is reached.
61854 The patch fixes the behavior of the reverse-finish command on PowerPC to
61855 match the behavior of the command on other platforms, specifically X86.
61856 The patch does not change the behavior of the command on X86.
61872 gdb_step_until in lib/gdb.exp is simpler variant of the new repeat_cmd_until
61876 with the existing uses of procedure gdb_step_until.
62007 instead of:
62030 escape_for_host that care of this for us, allowing us to write:
62039 mach-o: out of memory in get_dynamic_reloc_upper_bound
62063 specific equivalents of unary '+' is a similar way, if such an arch-
62074 Yet again with the removal of gasp about 20 years ago this extra level
62075 of indirection isn't necessary anymore either. Drop macro.c's local
62083 Again with the removal of gasp about 20 years ago the extra level of
62094 With the removal of gasp (about 20 years ago) the need for this kind-
62095 of-hook has disappeared. Go a step beyond merely moving the to be called
62101 After running test-case gdb.debuginfod/crc_mismatch.exp, I find a dir called '$':
62128 This commit aims to add some of this missing information.
62148 # of expected passes 2
62149 # of unexpected failures 1
62158 # of expected passes 3
62280 ld: add support of QNX stack arguments for aarch64nto
62365 making the script initialise the section type to INFO, one of the
62366 noalloc section types. That also allows the address of .comment to be
62369 Also, use source_sh for all of the sourced scripts to set up make
62428 that problem uncovered another problem in sorting of dynamic relocs,
62545 There's a number of gdb.arch/amd64*.exp test-cases that fail with host+target
62546 board local-remote-host-native.exp because of using a .S file, generated from
62559 Breakpoint 2, fn2 (y=y@entry=25, x=x@entry=6) at amd64-entry-value-inline.c:32^M
62560 32 in gdb.arch/amd64-entry-value-inline.c^M
62561 (gdb) FAIL: gdb.arch/amd64-entry-value-inline.exp: continue to breakpoint: \
62571 Add --enable-linker-version option to bfd linker to add an entry in the .comment section.
62573 …/arclinux.sc: Remove stabs and comment sections and replace with inclusion of misc-sections.sc * s…
62577 * mep.opc (mep_print_insn): Check for an out of range index.
62596 so the output of pretty-printers is available.
62600 Hide the implementation of gdb_mpf
62601 This renames the data member of gdb_mpf and makes it private. It also
62639 match the rest of gdb.
62643 Fix DAP frame bug with older versions of Python
62661 Add a test-case that tests the sanity of target/host boards.
62663 It contains a number of tests related to remote file manipulation, exercising:
62673 with the return value of proc ${board}_file for delete, so fix this.
62761 gas/compress-debug.c init all of strm
62762 * compress-debug.c (compress_init): Clear all of strm.
62772 stepping; it controls the size of the buffers allocated for the
62779 amd64 as part of branch-tracing instruction classification.
62782 always the maximum instruction length, but sometimes is a multiple of
62784 ARM, and AArch64 for examples of this.
62786 It seems to me that we are overloading the meaning of the
62794 claims to do; represent the maximum length of a single instruction.
62799 value of max_insn_length. Architectures than need more buffer space
62822 The flip side of this is that 'invalid=False' seems to be far more
62845 I noticed that there are a bunch of 'predefault="0"' lines in
62846 gdbarch_components.py, and that some (just some, not all) of these are
62869 0 in gdbarch_gcore_bfd_target_p, which, given the field is of type
62876 gdbarch: improve generation of validation in gdbarch getters
62915 For some reason the following value components of gdbarch:
62938 This commit ensures that the 'invalid' property of all components is
62971 As a consequence of the gdbarch_types.py changes we see some
62974 with plenty of other getters that also have a similar comment. Plenty
62975 of the getters do have validation, so I think it is reasonable to have
62996 favour of a comment like:
62998 print(f" /* Skip verify of {c.name}, invalid_p == 0 */", file=f)
63035 component is pointless. This commit removes the setting of invalid.
63048 There are a bunch of components that are declared with both a
63053 'invalid=True' lines. There's no change in any of the generated files
63062 The crash has a number of causes.
63065 its own twist -- some hex digits added to the end of a symbol. So,
63066 while gdb finds the correct name of "main":
63076 preferring the linkage name of the main program.
63081 crash also seems to require the nested function inside of 'main', at
63106 The problem is that the result of Term::prepare_for_tui is not checked.
63132 FAIL: gdb.tui/completion.exp: completion of layout names: \
63204 Once in a while I find myself rewriting a TUI test-case into a non-TUI
63209 committing the non-TUI version, so having just written a non-TUI version of
63217 Also remove hard-coding of a source line number.
63280 python black formatter was complaining about the formatting of
63289 out-of-tree for a while but I think it's worth upstreaming. The code
63302 this code here, as the point of these operators is to short-circuit
63313 aarch64: Expand documentation of XML features
63314 Similar to the arm target documentation situation, the documentation of the
63317 perspective of what debugging servers should define in the XML features, how and
63324 arm: Expand documentation of XML features
63325 The documentation of the XML features for Arm targets is very brief. I have
63326 received feedback saying it is quite unclear from the perspective of the
63375 I have no way of testing it.
63401 This adds a couple of comparison operators to linetable_entry, and
63429 in build failures if the external binutils package is out of sync with
63430 the version of GDB being built.
63461 (e.g. https://github.com/rust-lang/rust/pull/106511 not addressed as of
63492 (e.g. https://github.com/rust-lang/rust/pull/106511 not addressed as of
63498 necessity of -mrelax-relocations=no: HWAddressSanitizer x86-64 will
63543 The test-case gdb.python/py-cmd.exp passes, but the handling of the
63641 More uses of require with istarget
63646 One use of gdb_skip_stdio_test can use 'require'.
63650 In a few spots, the require is hoisted to the top of the file, to
63664 …Revert "Prevent the ASCII linker script directive from generating huge amounts of padding if the s…
63668 This reverts the ascii.d part of commit 5f497256bee624f0fa470949aa41534093bc5b25.
63677 This is a hopefully temporary reversion of new ld features for
63735 A number of newer features are really SIMD or FP extensions, but don't
63742 x86-64: adjust REX-prefix part of SSE2AVX test
63743 Before altering how build_modrm_byte() works, arrange for this part of
63745 register numbers, such that incorrect propagation of, in particular, the
63751 x86: move more disp processing out of md_assemble()
63759 another benefit then: We can replace the two uses of current_templates
63762 subject of another change.)
63768 handling of .insn operands. The earlier use requires moving up the
63774 Fix another case of oss-fuzz tripping over gas static state,
63793 Replace spaces with tabs in a bunch of places.
63856 Fix this by accepting this form of new thread message.
63890 matching of the message in commit 2e5843d87c4 ("[gdb/testsuite] Fix
63945 Fix this by removing the hard-coding of /usr/bin/gdbserver in
64004 adds testing of killing gdbserver alongside.
64013 PID of the ssh client session instead.
64019 original method of getting the gdbserver PID which does work for target board
64094 the end of the program.
64157 gdb/amdgpu: provide dummy implementation of gdbarch_return_value_as_value
64159 ("Add new overload of gdbarch_return_value"), which made it mandatory
64161 return_value_as_value implementation. Because of my failure to test
64173 So it's better to not complicate the core of GDB to know how to deal
64176 There is an implementation of return_value in the downstream ROCgdb port
64179 of return_value_as_value to avoid the failed assertion.
64195 it unconditionally sets members of the CU when reading a DIE. Also,
64209 (maybe some iota of performance).
64228 interp_lookup to pass that name instead of the string that it receives
64242 so they can return a reference instead of a pointer.
64245 avoid a copying it in a local variable, instead of getting a reference.
64262 gprofng reads Dwarf to find function names, sources, and line numbers.
64313 Ensure index cache entry written in test
64391 reinstalling the desired 2.69 still generates a lot of changes.
64468 and other targets are not affected as a consequence of the same.
64477 - factoring out mi_load_shlib out of mi_load_shlibs
64480 - factoring out mi_locate_shlib out of mi_load_shlib
64524 …ort/enum-flags.h:95:52: error: integer value -1 is outside the valid range of values [0, 15] for t…
64528 The error message does not make it clear in the context of which enum
64530 matter, we have similar warning/errors for many of them, if we let the
64536 as the underlying type of the enum.
64594 Since the current code does what we want, and I don't see any way of doing it
64658 As of 2023-02-13 "gdb/python: deallocate tui window factories at Python
64691 and I want to cache the result of have_compile_flag.
64699 and then use that proc instead, but I find this cumbersome and
64787 an error, leaving the vector of relocs only partly initialised and one
64838 Many of the fatal errors in nm ought to be recoverable. This patch
64839 downgrades most of them. The ones that are left are most likely due
64870 (print_symbol): Use lineno_cache in place of statics. Don't
64899 gdb/testsuite: use `kill -FOO` instead of `kill -SIGFOO`
64940 Specify the signal to send, using one of the symbolic names defined
64941 in the <signal.h> header. Values of signal_name shall be recognized
64944 value zero. The corresponding signal shall be sent instead of SIGTERM.
64961 [gdb/testsuite] Use set always-read-ctf on instead of --strip-debug
64962 Use "set always-read-ctf on" instead of --strip-debug in the ctf test-cases.
64970 'x/f' caused a couple of regressions in long_long.exp. This patch
64975 …Prevent the ASCII linker script directive from generating huge amounts of padding if the size expr…
64981 Small cleanup to use std::string::size instead of calling strlen on
64982 the result of std::string::c_str.
64989 Open-coding part of what may eventually be needed is somewhat risky.
64990 Let's use the function we have, taking care of all pieces of data which
64995 x86: drop redundant calculation of EVEX broadcast size
64996 In commit a5748e0d8c50 ("x86/Intel: allow MASM representation of
64997 embedded broadcast") I replaced the calculation of i.broadcast.bytes in
65017 In the course of using the upcoming .insn directive to eliminate various
65019 more .byte than necessary even without the availability of .insn.
65074 uninitialized bytes of field u over from the temporary object to the new
65077 in the `kind == INTERNALVAR_VOID` state, in which the contents of the union is
65105 of objects of a given class type. Modified compute_struct_member ()
65165 [ This is a simplified rewrite of an earlier submission "[RFC][gdb/symtab] Add
65186 unconditional reading of ctf, allowing us to do:
65196 A bit of background on the relevance of reading order: the formats have a
65200 the most detailed info is found. This explains the current reading order of
65203 Add the unconditional reading of ctf before dwarf2, because it's less detailed
65204 than dwarf2. The conditional reading of ctf is still done after the attempt to
65208 The new command allow us to replace uses of -Wl,--strip-debug added in commit
65210 uses of "set always-read-ctf on", but I've left that for another commit.
65221 they end in 2022 instead of 2023. I suppose because I posted (or at
65223 to update the year. I found a bunch of other files that are in the same
65276 Fix type of check_valid_shift_count parameter
65323 due to having only 4 insn instead of 100:
65346 Correct order of tests for invalid repeat counts. Ensure
65369 When debugging GDB, I find it a bit tedious to inspect htab_t objects.
65370 It is possible to find the entries by poking at the fields, but it's
65380 The htab_t itself doesn't know about the type of pointed objects. But
65403 Most of the time is spent in handling a try-catch, which triggers a malloc. I
65404 think this bit is more relevant for the "catch throw" part of the test-case,
65412 value_in is unused. From git log, it seems to have been part of the
65446 When a thread-specific breakpoint is deleted as a result of the
65448 called which sets the disposition of the breakpoint to
65450 the breakpoint number to zero has the effect of hiding the breakpoint
65454 It was brought to my attention during a review of another patch[1]
65479 'maint info breakpoints' to see what GDB thought of the
65523 printed as part of the 'stop only in thread ...' line. Printing the
65612 of setting the disposition to disp_del_at_next_stop and setting the
65645 FinishBreakpoint goes out of scope; and this includes when the thread
65649 Specifically, after this change I was loosing some of the out_of_scope
65652 The problem is that the out_of_scope call (of which I'm interested) is
65714 make more use of the support procs in mi-support.exp. This did
65715 require making a couple of adjustments to mi-support.exp, but I think
65719 One of the test names has changed after this work, I think the old
65736 lib/gdb.exp, and update all the places I could find that used this
65737 pattern to make use of the helper proc.
65760 The point of this proc is that we sometimes shouldn't run the separate
65765 I've updated two tests that can make use of this helper proc. I'm
65774 gdb/testsuite: extend the use of mi_clean_restart
65781 The benefit of this is that we can now use mi_clean_restart when we
65784 contents of mi_clean_restart in different tests.
65793 gdb/testsuite: make more use of mi-support.exp
65796 patterns for thread specific breakpoints, make use of this
65824 always identical, that we might get away with removing one of the
65829 We did have a couple of tests that contained the duplicate fields in
65832 more a case of copying whatever output GDB produced and using that as
65838 of this in a new test I've added that is just about creating
65846 but I still think its worth adding a NEWS entry, that way, if someone
65857 gdb: remove an out of date comment about disp_del_at_next_stop
65858 Delete an out of date comment about disp_del_at_next_stop, the comment
65881 This change supports MEC which is part of RME (Realm Management Extension).
65885 chew.c printf of intptr_t
65888 …chew.c:1434:59: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type…
65922 More anti-fuzzer bounds checking for the ECOFF support. A lot of this
65927 most of the longs used in binutils with size_t, but that's more than I
65949 During my audit of the use of gdb_exception with regard to QUIT
65986 Introduce set_force_quit_flag and change type of sync_quit_force_run
66008 gdb_exception_forced_quit, or, in a couple of cases for gdb_exception,
66012 Most of these are straightforward - it made sense to continue to allow
66013 an existing catch of gdb_exception to also catch gdb_exception_quit;
66022 call one of the functions in remote_fio_func_map[]. Taking the
66038 catch/throw for gdb_exception_forced_quit. I also did a bit of
66039 rewriting here, adding a catch for gdb_exception_quit in favor of
66097 earlier version of this patch, but Pedro pointed out that it is
66113 Catch gdb_exception_error instead of gdb_exception (in many places)
66121 current behavior in which GDB exits upon receipt of a SIGTERM.
66125 which satisifed one or more of the following conditions:
66129 instances where the tool didn't provide an answer of "yes, this
66160 setting of this global is the important bit for the SIGTERM part of
66164 been received. This is performed via use of the QUIT macro in
66176 At the moment, SIGTERM is handled very differently. Instead of
66187 to get out of sync. When that happens, the "current_thread_ != nullptr"
66197 This commit implements the obvious part of Pedro's suggestion:
66198 Instead of calling quit_force from quit(), throw_forced_quit() is now
66212 test case does not test. I did an audit of all of the try / catch
66217 due to a swallowed gdb_exception_quit in one of the cases I've
66218 identified.) The rest of the patches in this series deal with this
66232 The addition of this exception plus supporting code will allow us to
66234 recognition of that fact to the upper levels of GDB where it can be
66236 will attempt to exit via a series of calls from the QUIT checking
66240 target memory from within ps_xfer_memory(), it can happen that some of
66241 GDB's state is out of sync with regard to the cleanup code's
66264 does a lot of computations in a loop, all the values will be kept live
66265 by the value chain, resulting in gdb using a large amount of memory.
66271 consequence of the ancient decision to use the value chain to avoid
66284 scoped_value_mark to ensure that the requirements of bug #12533 are
66291 In the future I think we should replace the use of raw "value *" with
66381 - the inferior last stopped because of a fork catchpoint,
66423 get_last_target_status to find the thread that has a pending fork, it
66437 ... does not follow to the fork child of inferior 1, because the
66441 All of the above are fixed by this patch. It changes follow_fork to
66443 set of threads that the user is resuming, and find the one that has a
66444 pending_follow kind of fork/vfork.
66474 find the thread that had the latest (user-visible) stop. And that
66491 "info program" shows info about the last stop of the selected
66507 Using the running image of child process 710867.
66517 Using the running image of child process 710867.
66523 In both cases, the first line of output is new.
66584 several places that really want to get rid of previous_thread thread,
66641 Tweak "Using the running image of ..." output
66648 Using the running image of child Thread 0x7ffff7d89740 (LWP 1097968).
66653 Using the running image of child Thread 0x7ffff7d89740 (LWP 1097968).
66664 Using the running image of child process 1097968.
66669 Using the running image of child process 1097968.
66676 program" manual entry even says:
66678 "Display information about the status of your program: whether it is
66727 …/home/simark/src/binutils-gdb/gdb/gdbarch.py:206:13 - error: Type of "copyright" is partially unkn…
66728 … Type of "copyright" is "(tool: Unknown, description: Unknown) -> str" (reportUnknownMemberType)
66745 Also, replace the read & exec of gdbarch-components.py by a regular
66758 advantages of type checking to a crowd used to C/C++.
66761 issues than the default of "basic".
66776 Info.__init__. We however need to make the printer parameter of
66784 gdb: gdbarch.py: spell out parameters of _Component.__init__
66788 properties of components. So it's full of squiggly lines, and typing
66789 analysis (which I find really helpful) doesn't work. I therefore think
66840 type, at least for the purposes of agent expressions. This patch
66842 somewhat larger subset of Ada expressions be compiled.
66849 expressions. However, a subset of simple operations can be, and this
66852 On one internal AdaCore test case, this improves the performance of a
66862 This commit makes use of the new script to regenerate the Linux
66884 somewhat (but not consistently) sorted by "family" of syscalls.
67287 Currently, when GDB prints a value of type my_type, it looks like
67299 std::vector of length 2, capacity 2 = {(unknown: 0x2), (unknown: 0x4)}
67304 enums unless we find an enumerator with a non-flag like value.
67318 std::vector of length 2, capacity 2 = {2, 4}
67341 gdb/testsuite: Improve testing of GDB's completion functions
67342 When looking at some failures of gdb.linespec/cp-completion-aliases.exp,
67360 Use nullptr instead of NULL and boolify two local variables in
67382 Replace a couple of uses of xmalloc and alloc with a gdb::byte_vector
67419 strings: std::string of course, but also obstack and even objalloc
67421 series removed all the uses of struct buffer, so this one can remove
67427 requires a copy of the string.
67431 This isn't completely ideal, in that it requires a copy of the string
67458 This patch changes gdb to write the cache entry a worker thread. (As
67459 usual, in the absence of threads, this work is simply done immediately
67471 In normal use, neither of these waits will be very visible. For users
67488 file. It seems to me that checking for the existence of a build-id is
67506 prune them from all the outputs if they are found at the beginning of
67531 Note that for some forms of XCHG, {store} has already been performing
67532 this function, apparently as an unnoticed side effect of adding D to
67564 corresponding number of bits in the other direction. To refuse such,
67565 give meaning to the combination of Imm8 and Imm8S in templates (so far
67594 GDB: Fix out of bounds accesses with limited-length values
67596 `contents_copy_raw_bitwise' so that they observe the limit of the
67611 The segfault was a symptom of messing with the absolute section next
67613 That's not all that was going wrong. The INSERT list of output
67615 list of linker statements.
67619 case of the insert script being inserted before the first
67632 The option can test effectiveness of GP relaxation and support some ABI
67694 some. I couldn't find anybody caring deeply for that option, and it's
67713 This leads to weird code in a couple of spots that tries to
67718 The fix is to add a bit of quoting when evaluating the expression.
67736 Now that Tcl has the {*} operator, we can remove the use of eval from
67763 gdb: LoongArch: Modify the result of the info reg command
67765 but it shows the information of all registers in the current code,
67833 expecting to look at something other than a whole lot of zeros, don't
67879 Instead of only testing this on systems that have a SYS_time syscall,
67884 not aware of yet, we'll still exercise it, and likely fail, at which
67903 While there also drop the redundant Word from the first operand of
67910 certain cases. Outside of 64-bit mode all 4 insns can have the data
67973 built with curses independently of the availability of the TUI.
67981 maintenance burden if support for other variations of curses are added.
68096 Update the description of the bfd_fill_in_gnu_debuglink_section function
68160 …#4 do_notify_resume (regs=regs@entry=0xffff80000a96beb0, thread_flags=4) at /repos/linux/arch/arm…
68161 …re_exit_to_user_mode (regs=0xffff80000a96beb0) at /repos/linux/arch/arm64/kernel/entry-common.c:137
68162 …#6 exit_to_user_mode (regs=0xffff80000a96beb0) at /repos/linux/arch/arm64/kernel/entry-common.c:1…
68163 #7 el0_svc (regs=0xffff80000a96beb0) at /repos/linux/arch/arm64/kernel/entry-common.c:638
68164 …in el0t_64_sync_handler (regs=<optimized out>) at /repos/linux/arch/arm64/kernel/entry-common.c:655
68165 #9 0xffff800008011548 [PAC] in el0t_64_sync () at /repos/linux/arch/arm64/kernel/entry.S:586
68185 continue on with rest of test past first fail.
68194 ./ld-new: cannot find -limagelib: No such file or directory
68195 ./ld-new: cannot find -lstarlet: No such file or directory
68196 ./ld-new: cannot find -lsys$public_vectors: No such file or directory
68202 So rubbish instead of tmpdir/libimagelib.a and the other required libs.
68247 called by any user of the library, so I don't think it's useful to put
68260 Fix formatting of long function description in chew output
68267 external form of the relocation information attached to SEC into
68277 the external form of the relocation information attached to SEC
68313 In some tests, the path reported on Windows will have a \ instead of a
68337 Except for a few of the tracing command, which just use:
68345 of that command are split up using multiple @subsubheading
68349 command, and then continue to use @subheading for each part of
68375 .eh_frame section), start using the dwarf2 unwinder instead of the
68401 .eh_frame section), we'd like to start using the dwarf2 unwinder instead of
68416 while making sure that only one of the two is active. Likewise for i386. NFC.
68455 The use of compunit_epilogue_unwind_valid in both amd64_stack_frame_destroyed_p
68459 Fix this by moving the use of compunit_epilogue_unwind_valid to
68470 Also add a comment in the new function about the assumption that in absence of
68538 bfd-in-memory. We'd need to handle quite a lot of corner cases to
68539 support nesting of such archives, so just stop it before we run into
68552 This converts contained_in to be a method of block.
68558 This removes allocate_block and allocate_global_block in favor of
68583 This removes ALL_BLOCK_SYMBOLS in favor of foreach.
68586 This removes ALL_BLOCK_SYMBOLS_WITH_NAME in favor of foreach.
68589 This converts most existing explicit uses of block_iterator to use
68597 Combine both styles of block iterator
68598 This merges the two styles of block iterator, having the
68680 An earlier patch of mine introduced a memory leak in chew. The bug
68682 patch fixes it by arranging to transfer ownership of the name to the
68702 is for the code in find_main_name to use d_main_name to find the name.
68710 benefit of slightly speeding up DWARF indexing. I assume this
68725 requiring canonicalization. Because of this, we can add a parameter
68728 This is kind of tricky and ugly, so I've tried to comment it
68733 needs of C in this situation, because those only affect certain types.
68759 I noticed a couple of spots in go-lang.c that could be improved by
68780 the tdesc_info of the current inferior, the above commit stopped this
68830 When debugging multiple inferiors, an additional set of
68833 First of all, aix-thread.c used to have a number of global
68840 comparing the list of threads returned by libpthdebug
68841 for *one* process with GDB's list of threads for *all*
68842 processes. Now we only use he GDB threads of the current
68849 Finally, the presence of the thread library in any but
68859 I found a couple of spots in ada-lang.c where a return follows a call
68904 this sort of fix is too fragile.
68906 We could of course fix this by simply not running to exit. But ideally we'd
68922 - use exit instead of _exit in the .S file,
68970 Given the possible values of ppc_cpu, I think the as_fatal at the end
68971 of ppc_arch will never be reached, so it can be deleted and the code
68980 Rename parameter of create_ada_exception_catchpoint
69001 * ldgram.y: Add parsing of the ASCII command.
69006 …* testsuite/ld-scripts/asciz.t: Adjust to work on more architectures and to test more aspects of t…
69030 macros, which of course do nothing at all with the definitions in
69052 this is where the bulk of gas initialisation belongs. Also reorder
69063 Therefore there shouldn't be any at the end of the format string.
69080 Once a symbol had its expression evaluated, the "segment" of the symbol
69083 the first of the assertions put in place by 4d1bb7955a8b was too strict.
69245 just loops a number of times calling the "foo" function.
69265 user typed Ctrl-C on the prompt a number of times with no inferior
69298 perspective of the CLI, when users type Ctrl-C in this situation,
69299 they're thinking of aborting whatever other command they were typing
69376 Currently, printing the type of an internal function in Ada shows
69412 Currently, looking at the type of an internal function, like below,
69451 gdb.python/py-xmethods.exp testcase to make sure of that.
69467 gdb_assert instead of an error:
69486 That will be subject of the following patch.
69496 read-debug-names.c. The only entry point exposed by
69506 read-gdb-index.c. The only entry point exposed by read-gdb-index.{c,h}
69541 READ of size 8 at 0x6210003392a8 thread T0
69558 0x6210003392a8 is located 424 bytes inside of 4064-byte region [0x621000339100,0x62100033a0e0)
69589 The problem is a stale entry in the bfcache hash table (in
69590 record-btrace.c), left across a reinit_frame_cache. This entry points
69613 frame id. The computation of the frame id for that frame (and only that
69624 called for it, and it leaves a stale entry in bfcache. That then leads
69625 to a use-after-free when that entry is accessed later, which ASan
69654 This patch removes all the uses of the RETURNS word and removes it
69664 a couple of cases where there was redundant text. In these cases I
69784 in info doesn't know how to find the next node.
69786 I think this style of @node is a leftover from ancient times.
69811 order in the output of "show convenience". And the order changes when
69814 I think that a nice way to fix it is to make the output of "show
69816 the user-visible behavior of GDB should not change when using
69817 GDB_REVERSE_INIT_FUNCTIONS. Plus, it makes the output of "show
69839 It becomes necessary to allocate internalvar with new instead of XNEW.
69841 I didn't find how to trigger the code in complete_internalvar. It is
69862 Architecture of file not recognized.
69884 index records the position of @item, and the Info reader places you
69893 I fixed all of them.
69909 now another version of it that extracts different info from the bfd
69910 section. Rename it and return the bfd section instead of assorted
69911 fields of the bfd section.
69929 … * testsuite/ld-elf/merge4b.s: Use .asciz instead of .string in order to avoid the special behavio…
69934 I fixed this a while ago for ifx, one of the two Intel compilers, in
69958 and s_linefile()") I didn't pay attention to the dual purpose of the
69959 nul character previously used. This was to a fair degree because of the
69960 open-coding of certain operations. Insert the earlier found line
69961 terminator instead of a hard-coded newline, and do so early in this
69963 properly use sb_terminate() to mark the end of the string. (Note that
69982 lots of memory being requested, as the list is extended with a 16
69999 Remove a use of pagination_enabled
70017 gdb: cast return value of std::unique_ptr::release to void
70023 These warnings come from clangd, so ultimately from one of the clang
70047 agent_run_command (use of memcpy rather than strcpy). Then I noticed
70070 The bug manifests (on a Performance-core of an i7-1250U, an Alder Lake cpu) in
70126 whereas is_end_of_line[] indicates further end-of-line characters, in
70132 simply return from the body of that earlier instance of the conditional.
70135 to buffer_and_nest()'s invocation of the function: The line terminator
70163 script, replacing older code that passed the result of .get() to a
70167 This patch replaces all the newly-introduced instances of this.
70184 of these set_* methods to be replaced with constructors; but I haven't
70193 At the end of this series, I belatedly realized that values should
70210 record_latest_value now access some internals of struct value, so turn
70218 This introduces a value::set_modifiable and changes a couple of spots
70224 of the issue.
70231 This patch turns a grab bag of value functions to methods of value.
70240 This changes preserve_one_value to be a method of value. Much of this
70249 call_xmethod to be methods of value. value_from_xmethod is a static
70257 A few functions in value.c were accessing the internal fields of
70266 This turns set_value_component_location into a method of value.
70273 This changes value_non_lval and value_force_lval to be methods of
70282 availability-checking to be methods of value. The static function
70291 This turns value_copy into a method of value. Much of this was
70310 value_contents_for_printing_const -- into methods of value. It also
70319 This changes value_incref and value_decref to be methods of value.
70320 Much of this patch was written by script.
70326 Move value_ref_policy methods out-of-line
70327 This moves the value_ref_policy methods to be defined out-of-line.
70329 methods of value.
70336 This changes value_bits_synthetic_pointer to be a method of value.
70343 This changes value_contents_eq to be a method of value. It also
70361 This changes value_fetch_lazy to be a method of value. A few helper
70380 This turns value_zero into a static "constructor" of value.
70387 This turns allocate_optimized_out_value into a static "constructor" of
70395 This turns allocate_computed_value into a static "constructor" of
70403 This changes allocate_value to be a static "constructor" of value.
70410 This changes allocate_value_lazy to be a static "constructor" of
70432 methods of value.
70440 to be methods of value.
70456 functions to be methods of value.
70464 methods of value.
70472 of value. Much of this patch was written by script.
70479 This changes various offset-related functions to be methods of value.
70480 Much of this patch was written by script.
70487 This changes value_enclosing_type to be a method of value. Much of
70495 This changes deprecated_value_modifiable to be a method of value.
70502 This changes value_offset to be a method of value. Much of this patch
70510 This changes value_parent to be a method of value. Much of this patch
70518 This changes value_bitpos to be a method of value. Much of this patch
70526 This changes value_bitsize to be a method of value. Much of this patch
70534 This changes value_arch to be a method of value. Much of this patch
70542 This changes deprecated_set_value_type to be a method of value. Much
70543 of this patch was written by script.
70550 This changes value_type to be a method of value. Much of this patch
70559 public, but this is a temporary state -- by the end of the series
70566 Move ~value body out-of-line
70568 excessive code there, first move the destructor body out-of-line.
70574 Rename all fields of struct value
70575 This renames all the fields of struct value, in preparation for the
70583 this fixes the entry for 'fucomp' to use the correct Reg value
70604 initialize_known_windows, and then replaces lots of '->' with '.'
70656 This commit is the first half of the work to clean up this edge case.
70685 "... It's an error to try to replace one of the built-in windows,
70732 inclusion of the missing files. They are not needed or used in this
70738 This patch fixes this by creating (essentially) a conditional setting of the
70787 gdb: only allow one of thread or task on breakpoints or watchpoints
70789 fails for some versions of guile. It turns out that some versions of
70797 while other versions of guile emit the error like this:
70804 notice the extra 'ERROR: ' on the second line of output. This commit
70825 (stabs_generate_asm_lineno): Simplify setting of
70863 part). In the context of the gdb.rocm tests, we want to detect such
70911 xatexit to tidy most of the hash table memory, but of course that's
70913 happens if there is an error of some sort writing the output file, due
70917 * objcopy.c (copy_file): Don't return when bfd_close of output
70929 DIE-related code out of dwarf2/read.c and into this new file. This is
70930 just a small part of the long-term project to split up read.c.
70946 Failed to take account of an earlier commit:
70953 That both of these are my own commits is only more embarrassing.
70955 This small fix updates describe_other_breakpoints to take account of
70961 gdb/c++: fix handling of breakpoints on @plt symbols
70963 Additionally, PR gdb/17199 relates to this area of code, but is more
70964 of a request to refactor some parts of GDB, this commit does not
70969 a function in a shared library, GDB will currently find two locations
71000 executable and the shared library we see a number of different symbols
71004 the plt entry for foo, from this we add two entries into GDB's
71005 msymbol table, one called 'foo@plt' which points at the plt entry
71008 the plt entry,
71025 table of symbol linkage names, then we walk the hash table of
71029 mangled, as a result, in this case, the iteration of the linkage name
71030 hash table will find no matching results.
71032 However, when we walk the demangled hash table we do find some
71055 any symbols of type mst_solib_trampoline and filter these out of the
71061 During the demangled name matching, due to the use of MATCH_PARAMS
71076 '_Z3foov@plt' for the plt entry in the main executable.
71079 MATCH_PARAMS, instead of stopping at a '(' and assuming the match is a
71087 gdb.linespec/cpcompletion.exp, when searching for the symbol of a
71089 end of its name, e.g.:
71106 breakpoint only at the implementation of 'foo' in the shared library.
71125 "default" values are different, and I find the difference a little
71131 changed from 0 to -1. I've updated all the code I can find that
71132 relied on the value of 0, and I see no test regressions, especially in
71141 gdb: only allow one of thread or task on breakpoints or watchpoints
71156 was the first testing for this corner of the APIs, so I ended up
71159 For documentation I've added a NEWS entry, but I've not added anything
71172 I think the NEWS entry is enough that if someone is combining these
71296 minimum requirement of readline 7.0. This test is not about checking
71297 whether GDB has been built against an older version of readline, it is
71305 While debugging GDB I used 'show directories' and spotted lots of
71349 reorder some of the 'dir' commands, which would seem to indicate these
71358 debug information should allow us to correctly find all of the source
71365 will use @abs_srcdir@ instead of @srcdir@.
71413 interested in the result of the dwarf2 unwinder. Of course I can also
71436 objdump -D of bss sections and -s with -j
71437 There is some inconsistency between the behaviour of objdump -D and
71445 This change does find some tests that used objdump -D with expected
71447 just wanted to find a non-empty section to look at section headers
71455 (dump_section): Allow -j to override the default of not
71507 instead of errno.
71514 Move implementation of perror_with_name to gdbsupport
71525 Also move the implementation of perror_string to gdbsupport since
71537 This commit introduces the idea of loading only part of an array in
71541 of very large arrays, where very large means bigger than
71554 of GDB:
71560 worth of data into value history, so the recorded value can be accessed
71590 While it makes sense to allow accessing out-of-bounds elements in the
71622 exceeding the 32-bit span, which may cause incorrect matching. Also
71624 terms of bits with these data types, e.g.:
71661 guard against allocating an overly large amount of memory. Moreover a
71683 and the use of `value_copy' by `make_cv_value', used by Python code.
71688 Use <climits> instead of <limits.h> and ditch local fallback definitions
71778 Due to the KFAIL PR, gdb stopped in __libc_siglongjmp, and because of presence
71779 of debug info, the "current source file" becomes glibc's ./setjmp/longjmp.c.
71856 time complexity of the linker relaxation but some code portions did not
71860 actual number of passes for the RISC-V linker relaxation from 3 to 2.
71867 reflect current roles of each relaxation pass.
71871 * emultempl/riscvelf.em: Reduce the number of linker relaxation
71905 x86: drop use of VEX3SOURCES
71906 The attribute really specifies that the sum of register and memory
71911 With the use in build_modrm_byte() gone, part of an assertion there
71914 With all uses of the opcode modifier field gone, also drop that.
71918 x86: drop use of XOP2SOURCES
71929 x86: limit use of XOP2SOURCES
71932 case code. With that the handling of an immediate there can also be
71934 portion it ignores the possibility of an immediate operand (which was
71955 to further uses of an already available local variable.
71959 x86: improve special casing of certain insns
71969 objcopy of mach-o indirect symbols
71989 This patch implements this feature. It also makes a couple of other
71992 * I removed a stale FIXME from dwarf-mode. In practice I find I often
72035 gdb, testsuite: Remove unnecessary call of "set print pretty on"
72036 The command has no effect for the loading of GDB pretty printers and is
72044 Increase size of main_type::nfields
72049 This patch bumps the size of 'nfields'. To verify that the field
72051 affect the size of main_type on x86-64 Fedora 36. And, if it does
72056 This is v2 of this patch, which has these changes:
72071 Remove mention of cooked_index_vector
72072 I noticed a leftover mention of cooked_index_vector. This updates the
72145 pe_ILF_build_a_bfd converts an archive entry over to BFD_IN_MEMORY,
72152 I also think the PR 24707 fix is no longer neeeded. All of the
72155 which just compared the size of an array of symbol pointers against
72191 The sequence of events leading to this is the following:
72200 function call (this is the point of the test). This clears the frame
72215 leads us to trying to unwind the PC of frame 1:
72246 value, saving the frame id of this_frame->next. this_frame is the
72251 calls frame_find_by_id, to find the frame with the ID we saved.
72261 - The ID of the sentinel frame created for the user-created frame is
72262 not distinguishable from the ID of the regular sentinel frame. So
72263 there's no way frame_find_by_id could find the right frame, in
72267 frame_find_by_id could find it.
72278 Rergarding the first part of the change: with this patch, the sentinel
72302 able to create the various types of sentinel frames.
72314 The rest of the change is about registering the sentinel frame in the
72324 goal of that check is to avoid unnecessary repeated annotations, I
72327 After this change, I think we could theoritically get rid of the
72336 in the value, and value_fetch_lazy_register is able to find that
72349 problem is that user-created frames are not part of that chain, so we
72382 think most of the check_objfile functions need to be defined in the
72504 …warning: Could not find symbol "_ZZ9_gdb_exprP10__gdb_regsE1a" for compiled module "/tmp/gdbobj-0x…
72527 also remove some of the introductory logic. For example, this will
72566 After this, it's clear that there is only one caller of
72580 offset to the address. It seems to me that the choice of offset here
72581 is also an implicit choice of the section. This is particularly true
72594 If fixup_section does not find a matching section, it arbitrarily
72596 depend on the type of the symbol -- i.e., default data symbols to
72603 Simplify checks of cooked_index
72615 However, it only tests one of the two cases.
72631 Fix this by using maint ignore-probes to simulate the absence of the relevant
72678 f.bfd_ptr is set too early to be a reliable indicator of good debug
72690 gdb: fix display of thread condition for multi-location breakpoints
72695 of the current output:
72711 Notice that, at the end of the location for breakpoint 3, the 'thread
72716 "What" column, though slightly offset, non of the separate locations
72722 where we check the variable part_of_multiple instead of
72741 The 'thread 1' condition is now displayed at the end of each location,
72770 All of the above points are also true for the Ada 'task' breakpoint
72772 information is printed, though in the case of the Ada task there was
72773 no 'stop only in task XXX' line printed, so I've added one of those.
72780 updated all the tests I could find that checked for the old output.
72788 Fix documentation of the 'n' symbol type displayed by nm.
72789 PR 30080 * doc/binutils.texi (nm): Update description of the 'n' symbol type.
72824 The documentation for the 'handle' command does not cover all of the
72825 features of the command, and in one case, is just wrong.
72828 that this will change the behaviour of all signals, in reality, this
72877 What happens is that this loop which is supposed to run "just short of forever":
72879 /* Don't run forever. Run just short of it :) */
72890 - changing the pointed-at type of myp from signed to unsigned, which makes the
72894 - changing the pointed-at type of myp from int to long long, making the wrap
72899 - making sure the program doesn't run forever in case of trouble, by adding an
72920 during the creation of a watchpoint, GDB will give an error if
72931 making some big change. However, I have added an entry to the NEWS
72940 the use of '-force-condition', and I don't think that being able to
72941 repeat 'thread' was actually a critical part of this test.
72956 number of .debug_info sections with relocations that included lo16 and
72958 non-zero. This resulted in processing of DWARF info twice, once via
72969 to result in only one read of .debug_info, not multiple reads of the
73001 mode as part of the GDBFLAGS, so the mode will be set before GDB
73003 with_test_prefix out of the check_thread_specific_breakpoint proc.
73007 has some failures, this is because of an issue GDB currently has
73021 any loadable segment size must be a multiple of 4 [1].
73053 behaviour of the kernel core remoteproc [2]. That default is to zero
73070 due to reordering of the output sections. I believe this is a harmless
73096 The use of a narrow size to handle the mask CGEN in instruction format
73099 annotations in `src' field of the instruction, used to identify BPF
73114 gdb: make target_desc_info_from_user_p a method of target_desc_info
73143 non-pointer field of inferior.
73178 Swapping operands for commutative insns occurs outside of
73183 Dropping a meaningless segment prefix occurs outside of
73217 public release of the ROCm release at the time of writing is 5.4, so
73220 The ROCm platform allows host programs to schedule bits of code for
73227 The HIP language consists of a C++ Runtime API and kernel language.
73228 Here's an example of a very simple HIP program:
73286 GPU's memory and spawned an execution thread on it. The goal of this
73340 think of the threads running on the GPU as part of the same program as
73378 execution of GPU threads. While the debugging of host threads works
73380 of GPU threads is done through a special interface (dubbed `kfd`)
73389 - The amdgcn gdbarch (describing the hardware architecture of the GPU
73393 the list of registers.
73395 - The solib-rocm component is an solib provider that fetches the list of
73399 libraries are the pieces of code loaded on the device.
73407 solution of placing the amd-dbgapi target in the arch_stratum slot of
73408 the target stack, on top of the linux-nat target. Doing so allows the
73425 ptids of GPU threads are crafted with the following pattern:
73438 Note that we believe that this scheme could break down in the context of
73444 execute the program of interest.
73452 notified through that fd, and pushes itself on the target stack of the
73501 In the ROCm port, we need to access the underlying stream of a
73514 top of the svr4 provider for the host, in order to add solibs
73519 (un)loads a library, the ROCm part of handle_event is a no-op. When the
73522 The problem is that when handle_event is called because of a GPU event,
73525 interface and disables it through the following sequence of events:
73548 deletion. This is used in the ROCm support patch at the end of this
73560 case of a native Linux inferior. Specifically, the amd-dbgapi target
73570 A following patch will want to declare variables of the same type as
73573 each of them. Use them throughout ptid.h.
73575 I initially used pid_t, lwp_t and tid_t, but there is the risk of some
73576 system defining the pid_t type using a macro instead of a typedef, which
73602 - completion of the "set architecture" command
73636 ld/doc: use "stack trace" instead of "unwind" for SFrame
73640 * ld.texi: Replace the use of "unwind" with "stack trace".
73644 bfd: use "stack trace" instead of "unwind" for SFrame
73648 * elf-bfd.h: Replace the use of "unwind" with "stack trace".
73658 gas: use "stack trace" instead of "unwind" for SFrame
73662 * as.c: Replace the use of "unwind" with "stack trace".
73676 sframe: use "stack trace" instead of "unwind" for SFrame
73684 libsframe/doc: use "stack trace" instead of "unwind" for SFrame
73688 * doc/sframe-spec.texi: Use "stack trace" instead of "unwind".
73694 necessary pc-relative relocs. This patch removes that part of the
73713 Provide a way for config/obj-* to clean up at end of assembly, and do
73780 The problem is that the above commit introduces a direct use of the
73786 breakpoints. As the point of the above commit was to check that a
73790 To do this I make use of with_override, and override the
73802 file, there are a couple of warnings that could be produced if things
73816 about some out of date debug information on my machine, but then GDB
73830 up debug information from a separate debug file. If any of the
73831 approaches are successful then GDB will not print any of the warnings.
73833 GDB completely fails to find any suitable debug information will the
73837 crc_mismatch-2 and then strips them of debuginfo creating separate
73852 Fix compilation of the assembler with sanitization enabled.
73875 "main" object, that is the entry point to the index, is called
73877 of smaller indexes is an implementation detail.
73930 like other methods of cooked_index_functions already do.
73967 This is because the format of the "Cooked index in use" line changed
74007 at the end of the list.
74012 I noticed that some of the Power6 DFP instructions were not covered by
74020 And does cover some of the DFP instructions. But, given the number of
74056 This adjusts the testsuite to get rid of a number of XPASSes that have
74101 …../../binutils-gdb/gdb/dwarf2/cooked-index.c:492:40: error: format ‘%lx’ expects argument of type …
74107 493 | to_underlying (entry->die_offset));
74135 of memcpy.
74142 too familiar with it (that includes me), it can help get a feel of what
74145 The cooked_index_functions::dump function is called as part of the
74148 of text.
74175 The display of address maps above could probably be improved, to show it
74226 Other than in the unit tests included, no actual usage of the
74237 code violates the assumption of std::lower_bound and std::upper_bound
74241 and that a second layer of filtering would have to be done. However,
74259 the index entry is always the first argument. This allows consistency
74288 gdb: provide const-correct versions of addrmap::find and addrmap::foreach
74289 Users of addrmap::find and addrmap::foreach that have a const addrmap
74295 find and foreach virtual methods private and prefix them with "do_".
74296 Add small non-const and const wrappers for find and foreach.
74299 instead of C-style casts, then the compiler won't let you cast
74300 the const away. I changed all the callers of addrmap::find and
74301 addrmap::foreach I could find to make them use static_cast.
74324 This patch adds per-remote target variables for the configuration of
74331 connections. Similar to the command line configuration of the per-
74350 moved to a later time point of the test. It is sufficient to be
74372 work correctly today, because of said globals. I'm leaving fixing
74375 debug multiple instances of the same server (e.g., a distributed
74389 Before this patch configuring of range-stepping was not possible for one
74390 of two connected remote targets with different support for the vCont
74391 packet. As one of the targets supports vCont, it should be possible to
74392 configure "set range-stepping". However, the output of GDB looks like:
74437 provides functions to determine supported features of the target.
74438 A remote_target object now has a new member of that class.
74471 The feature array of all remote targets (in this setup the two connected
74475 The feature array of target with port :2345 which is currently selected
74478 the configuration of target with port :2345.
74484 To inform the gdb user about the new behaviour of the 'show remote
74510 v2 makes the find, all_entries, and wait methods const as well.
74548 working on the previous set of patches.
74556 While working on the previous couple of patches I noticed that when I
74591 done directly at the end of show_source_content.
74609 gdb/tui: rewrite of tui_source_window_base to handle very long lines
74618 Unfortunately, there appears to be a limit to the size of pad that can
74623 It just so happens that the reset of the tui_source_window_base code
74628 ... well, sort of ... something weird does happen in the command
74629 window, we seem to see a whole bunch of blank lines. I've not
74631 consequence of GDB attempting to write content to a WINDOW* that is
74644 and then copy the lines of content into the pad:
74662 use this to select which part of the pad is copied onto the display.
74664 The benefit of this is that we only need to copy the content to the
74675 of the content into the pad. As the user scrolls the view left and
74677 right now. But, when the user scrolls to the edge of the pad, GDB
74678 will copy a new block of content into the pad, and then update the
74681 restriction, if ncurses can't support a pad of a given size it seems
74682 likely it will not support a display window of that size either.
74708 reached the end of the pad, and the pad contents are reloaded, like
74723 Most of the changes are pretty mundane, just updating to match the
74733 skipping some of the leading content. Imagine then that we have a
74746 skips some number of printable characters, but processes all the
74757 This makes more sense in the context of a later commit where I plan to
74776 itself correctly - the output uses only '\n' at the end of each line,
74778 to the start of each line after the '\n'.
74781 instead of just '\n', and this would fix most of the problems. The
74783 instead of libbacktrace, in this case we use backtrace_symbols_fd to
74797 which means we loose some of the backtrace, which isn't ideal.
74802 need to update the bt-utils.c code, and the execinfo version of the
74804 ability to scroll back to view the error message and all of the
74820 There are a number of errors that can be triggered by the focus
74839 use of the Python API to trigger and test this error.
74863 not in the current layout then one of the other errors will trigger.
74870 windows, if NAME matches multiple of these, then (b) is triggered.
74876 understanding of what went wrong. Instead of GDB claiming to not know
74877 about a window, the mention of the current layout will hint to the
74891 line of scroll is all that should be needed).
74899 …PR 29998 * pe-dll.c (build_filler_bfd): Initialise the next field of the filler input statement, s…
74917 This is the correct way of expressing things; encoding the ModR/M byte
74920 x86/Intel: improve special casing of certain insns
74928 While one of the two actually having been instrumented (i386-gen.c) now
74931 only leads to a waste of resources.
74933 With CFILES then being merely an alias of LIBOPCODES_CFILES, drop the
74963 file after we've hit some sort of error elsewhere. The iovec test is
74976 do the cleanup of bfd memory as in bfd_close_all_done.
74986 macro name requires a little restructuring of the define_macro
75010 * config/tc-iq2000.c (iq2000_add_macro): Init all fields of
75016 This is a copy of the x86 gas -gcodeview test, with changes made for the
75083 This changes a number of MI tests to use mi_clean_restart rather than
75084 separate calls. This reduces the number of lines, which is nice, and
75088 A lot of the MI tests start gdb and only then build the executable.
75098 I found a couple of spots that could use "require", and one spot where
75099 hoisting the "require" closer to the top of the file made it more
75119 A number of tests end with "return". However, this is unnecessary.
75120 This patch removes all of these.
75143 Sanity check dwarf5 form of .file
75148 * dwarf2dbg.c (dwarf2_directive_filename): Check return of
75166 crashes somewhere in the middle of gdb.cp/cpexprs.exp, and thus fails to
75195 think this is an interesting way to fix it, because it adds a bit of
75202 - Do the disassembly by symbol instead of by address.
75214 the event of interest. This is similar to what
75229 gdb/testsuite/dap: pass around dicts instead of TON objects
75238 information. If some tests specifically want to check the types of some
75256 Following some of my changes, dap_request_and_response was failing and I
75272 when you see this, you know that until the end of the line, it's
75289 Use gdb_assert instead of manual pass/fail.
75301 * src/Makefile.am: Use lib_LTLIBRARIES instead of pkglib_LTLIBRARIES.
75317 However, the epilogue unwinders prevented gdb from taking advantage of the
75318 fixed epilogue unwind info, so the scope of the epilogue unwinders was
75370 to provide the value of this register. In some situations, it might
75376 impact of the complex logic.
75392 where one of the cases appears in the middle of another block. It
75426 A number of tests will exit early without saying why. This patch adds
75427 "unsupported" at spots like this that I could readily find.
75429 There are definitely more of these; for example dw2-ranges.exp fails
75447 few of these conversions were already done in earlier patches.
75451 bonus of helping to ensure that the reason that a test is skipped is
75478 # of expected passes 25
75480 instead of:
75482 # of expected passes 133
75554 through it as well (using nexti instead of stepi).
75631 [ Note btw that we're seeing the effects of -momit-leaf-frame-pointer, with
75650 The problem is that the stack pointer has changed inbetween the sampling of
75677 gdb/tui: make use of a scoped_restore
75678 Make use of a scoped_restore object in tui_mld_read_key instead of
75688 gdb/tui: better filtering of tab completion results for focus command
75689 While working on the previous couple of commits, I noticed that the
75692 after the previous couple of commits, trying to focus the status
75707 window, when the window is part of the current layout. As a result,
75712 The gdb.tui/tui-focus.exp test script exercises this area of code, and
75713 doesn't trigger the assert, nor do any of our other existing tui
75718 gdb/testsuite/tui: more testing of the 'focus' command
75719 I noticed that we didn't have many tests of the tui 'focus' command,
75736 the test script gdb.tui/tui-nl-filtered-output.exp to take account of
75761 the test script gdb.tui/tui-disasm-long-lines.exp to take account of
75790 ncurses pad in order to hold the current page of disassembler output.
75793 meaning that tui_source_window_base::m_pad is nullptr. Luckily non of
75801 for the issue of the newpad call failing, which I'll post in a follow
75853 Spotted in gdb.cp/cpcompletion.exp that we could replace some uses of
75873 * src/Makefile.am: Move the build of gprofng.1 to doc/Makefile.am.
75882 'make pdf' in libsframe shows some warnings, some of which (especially
75884 output. Few examples of the warnings:
75904 This patch adjusts column widths of the affected cells to fix a subset
75905 of these warnings. For the rest of the warnings, use explicit newline
75918 Terminate early of there are no relocs to put
75974 integer which gets filled in with the 1-based index of the output
75985 [gdb/tdep, aarch64] Fix frame address of last insn
76001 Disassembly of foo:
76012 and $x29 (and strip the output of info frame to the first line, for brevity):
76073 answer once sp has been restored to entry value by the before-last insn.
76091 One purpose of the gdb.base/unwind-on-each-insn.exp test-case is to test the
76100 of epilogue_unwind_valid, which assumes that in absence of debug info proving
76105 49d7cd733a7 ("Change calculation of frame_id by amd64 epilogue unwinder").
76107 Fix this by making sure that we don't use .eh_frame info regardless of
76127 The use of the last disassembled insn in the test-case is to stop stepping in
76137 Fix this by simplying the test-case to continue stepping till stepping out of
76172 The test suite reports several path names in tests. I couldn't find
76173 most of these, and I suspect they are false reports, but I did manage
76178 I noticed a weird-looking bit of code in gdb.btrace/enable.exp that is
76196 This is the second step of making frame_info_ptr automatic, reinflate on
76206 the logical state of the object, because we re-create it on demand. I
76215 This is the first step of making frame_info_ptr automatic. Remove the
76242 type of the function parameters, in which we do an inferior call. This
76272 can be created out of thin air by the create_new_frame function. These
76273 frames are not the fruit of unwinding from the target's current frame.
76324 This second "frame" command shows the current target frame instead of
76354 This happens because of the scoped_restore_selected_frame object in
76406 nicer to have a version of the function that takes a frame_id directly.
76424 reinflation, it will find the existing frame_info object, created by the
76432 create one if it doesn't find one. The goal is to avoid the
76436 that makes frame_info_ptr capable of reinflating user-created frames.
76462 fields internal to frame_info, which we don't want to expose outside of
76474 The concept of call site is not DWARF-specific, another debug info
76479 wants to provide call site information, we can introduce a layer of
76491 I want to move the call_site stuff out of gdbtypes.h, to a new header
76515 Doing so reveals that a bunch of files were relying on frame.h to
76526 includes compile-internal.h for this reason, which kind of defeats the
76527 purpose of having an "internal" header file.
76617 values larger than 8 bytes anyway, so this is part of a much larger
76648 of gdb.dwarf2 still passes. And tests in other directories would be
76655 type = array [240..244] of signed_byte^M
76658 instead of the expected:
76661 type = array [-16..-12] of signed_byte^M
76675 explicit variant of it.
76693 * use power-of-two hash table
76696 * use input-offset-to-entry maps instead of retaining full input
76702 itself. On a debug-info-enabled cc1 the effect at the time of this
76712 x86: split i386-gen's opcode hash entry struct
76714 allocation size worth of 3 pointers, with an increment worth of 2
76717 hash entry. (To express the shared nature, also convert "name" to by
76729 embedding the strings. A level of indirection can be also avoided by
76730 embedding the names as an array of 8 characters directly in the arrays,
76731 and the number of base relocations in libopcodes.so (or PIE builds of
76734 To amortize for the otherwise reduced folding of string literals by the
76735 linker, use att_names_seg[] in place of string literals in append_seg()
76744 embedding the strings. A level of indirection can be also avoided by
76745 embedding the names as an array of 8 characters directly in the struct,
76746 and the number of base relocations in PIE builds of gas goes down as
76751 strcmp() in a number of places, comparing the offsets into the mnemonic
76761 identifier for the following entry in a number of cases. Re-use that on
76765 Compact the mnemonic string table such that the tails of longer
76776 there's no good use we could presently make of the otherwise saved 16
76781 on cache occupation of table entries accessed. For PIE builds of gas
76782 this also reduces the number of base relocations quite a bit (obviously
76783 independent of bitness).
76787 x86: abstract out obtaining of a template's mnemonic
76788 In preparation for changing the representation of the "name" field
76809 Emit R_386_TLS_LE and R_386_TLS_IE, instead of R_386_TLS_LE_32 and
76823 Modify test cases that verify the operation of the array element limit
76852 retain `set/show print elements' for controlling how many elements of an
76854 which is used for controlling how many characters of a string are
76857 The motivation behind this change is to allow users a finer level of
76859 be thought of as arrays of characters, users often want to treat these
76864 follow the setting of the `set/show print elements' option, as it used
76872 `print' invocation follow the limit of elements, be it set with the
76874 `set/show print elements' setting, for characters as well regardless of
76875 the current setting of the `set/show print characters' option.
76879 figures out which of the two of `print_max' and `print_max_chars' values
76906 to the list of completions now shown for the `print' command, and a bare
76907 minimum pair of checks for the right handling of `set print characters'
76923 them in terms of `var_uinteger', `var_integer' and `var_pinteger', which
76924 have the range of [0;UINT_MAX], [INT_MIN;INT_MAX], and [0;INT_MAX] each.
76927 to be used, however unlike `var_zuinteger_unlimited' any number of such
76930 The "p" in `var_pinteger' stands for "positive", for the lack of a more
76935 Add a new structure, `literal_def', the entries of which define extra
76954 defines an extra `unlimited' keyword and a user-visible 0 value, both of
76969 as a part of a command would result in an "integer -1 out of range"
76977 use of numeric equivalents is discouraged anyway as it is for historical
76982 Redefine Guile and Python parameter types in terms of the new variable
76990 programmer to expand the syntax of the `make-parameter' command and the
77017 In aarch64-tdep.c we find these register aliases:
77026 The sp alias is superfluous, because the canonical name of x31 is already sp.
77029 of fp, assigned here in _initialize_frame_reg:
77057 There's a var u of this type:
77092 bfdlib relinks and fails to find libsframe, the install time
77093 dependencies of libbfd need to be updated.
77103 All of them need a bfd_reloc_offset_in_range check before accessing
77107 All of them also need changing to support objdump -W calls to
77159 testsuite failures due to _NONE and _ALIGN relocs at the end of
77161 size set to zero, but I would rather not edit lots of files when it
77181 of the internal modules.
77198 sim-main.h is special since it is one of the files automatically
77204 from one of the generated igen C files. Add explicit includes
77205 of mn10300-sim.h, sim-fpu.h and/or sim-signal.h to dv-mn103cpu.c,
77232 Use proper English in the description of SET_LIST and SHOW_LIST.
77249 the wrong names for some source files. Finally, a couple of obsolete
77328 PowerPC uses two entry points called the local entry point (LEP) and the
77329 global entry point (GEP). Normally the LEP is used when calling a
77330 function. However, if the table of contents (TOC) value in register 2 is
77333 break point at the alternate entry point (GEP). However if the forward
77334 execution enters via the normal entry point (LEP), the reverse execution
77335 never sees the break point at the GEP of the function. Reverse execution
77336 continues until the next break point is encountered or the end of the
77340 address of the alternate function start address, known as the GEP on
77342 is between the two entry points (the LEP and GEP on PowerPC), the stepping
77343 range is set to execute back to the alternate entry point (GEP on PowerPC).
77344 Otherwise, a breakpoint is inserted at the normal entry point (LEP on
77348 execution in the caller at the first instruction of the source code line.
77349 Note, on systems that only support one entry point, the address of the two
77350 entry points are the same.
77353 reverse-finish command when the function is entered via the normal entry
77354 point (i.e. the LEP) and the alternate entry point (i.e. the GEP).
77367 the call was made. When stopped at the last instruction of the source code
77369 of the same source code line thus requiring two step/next commands to
77378 instruction of the source line where the function call was made. The
77380 reverse-next from the beginning of the function.
77383 used. This patch removes the declaration, initialization and setting of
77386 This patch requires a number of regression tests to be updated. Test
77395 reverse-finish command when returning from the entry point and from the
77396 body of the function.
77447 method already has a couple of local lambdas for a different hash
77457 pool. For example, this can happen if the number of tasks is smaller
77458 than the number of available threads. In the DWARF reader, this
77466 We noticed that a warning message about the use of scalar fp16
77470 Many of these instructions are now also part of ARMv8.1-M, so
77474 find-n-replace within the binutils sources. No tests have
77489 gas: arm: Fix a further IT-predicated vcvt issue in the presense of MVE vcvtn
77491 in the presence of the MVE architecture extension, because it could be
77495 * The MVE instruction VCVTN + E in the Else of a VPT block.
77497 Given a C reproducer of:
77514 patterns (these have all been added to the testing of this patch).
77516 This class of errors was previously worked around by:
77555 then I checked the version of makeinfo, it said,
77638 We have many uses of sys/stat.h that are unprotected by HAVE_SYS_STAT_H,
77644 We have many uses of unistd.h that are unprotected by HAVE_UNISTD_H,
77652 and it takes care of probing system extensions for us, so there's no
77663 My local testing of this code didn't catch this bug because of how
77688 on igen, we can move the conditional logic out of configure. We also
77708 Rather than force this to be built ahead of time for all targets,
77709 move the dep to the ppc code since it's the only user of it now.
77714 normal dependency graph take care of building things in parallel.
77721 things out of SIM_ALL_RECURSIVE_DEPS and rely on finer dependencies,
77771 allow_tui_tests. It also rewrites this function to use the output of
77772 "gdb --configuration", and it adds a note about the state of the TUI
77777 allow_guile_tests. It also rewrites this proc to check the output of
77910 This rewrites skip_python_tests to examine the output of
78065 Change 'require' to accept a list of predicates
78066 This changes 'require' to accept a list of simple predicates. For
78067 now, each predicate is just the name of a proc, optionally prefixed
78080 This series changes 'require' to take a list of simple predicates.
78081 This patch backs out the one use of 'require' that doesn't conform to
78102 Calling strncat with the size of the src string is not so meaningful.
78108 * sframe-dump.c (dump_sframe_func_with_fres): Use of strcat is
78124 Change the return type of normal_stop (infrun.c) from int to bool.
78143 A user pointed out that "ptype/o" of a certain Ada type -- while in C
78157 ELF_MAXPAGESIZE matters much more, with regards to layout of
78163 targets pay an extra amount of up to 60 KiB of bloat in
78168 a good example of an target where ELF_MAXPAGESIZE is set to
78189 Many tests reflect a setting of ELF_MAXPAGESIZE to 64 KiB.
78192 and regexpification of old test patterns by passing the
78209 This check has a pair of faults which, combined, can lead to memory
78210 corruption. Firstly, it assumes that the values of the ctf_link_inputs
78212 shorter structure. So the flags check which is the core of this is
78223 consisting of multiple members, so we have to consider whether to check
78224 all of them for the outdated-func-info thing we are checking here.
78225 However, no compiler exists that emits a mixture of members with this
78228 archive must have the same value of the flag, so we only need to check
78233 * ctf-link.c (ctf_link_warn_outdated_inputs): Get the types of
78234 members of ctf_link_inputs right, fixing a possible spurious
78242 is only supported in reasonably recent Tcls, so we detect the lack of
78247 regardless of the value of this conditional and sticks it in an
78248 unconditionally-executed part of the makefile, so the testsuite gets
78250 disable it by taking "dejagnu" out of AUTOMAKE_OPTIONS, because if you
78255 importing the value of the former Automake conditional as a Tcl variable
78272 explicitly state what it is and b) define things in terms of fields that
78275 (A bunch of changes of names during implementation were not reflected in
78278 Thanks to Jose "Eye of the Eagle" Marchesi for spotting these.
78281 * ctf.h (struct ctf_archive) [ctfa_ctfs]: The size element of
78284 end fo the struct ctf_archive, not at the offset of a
78285 nonexistent field. The number of elements in the array depends
78299 gold.h that is protected by GCC_VERSION < 4003. If any of the
78371 Commit 2b16913cdca2 ("gdb: make gdbarch_alloc take ownership of the tdep")
78375 So change gdbarch.py to generate the current version of gdbarch.c.
78384 requires a version of Windows later than the minimum version that is
78394 I don't have access to one of the older systems so I don't think I can
78420 * dwarf2.c (read_indexed_address): Fix check for an out of range
78451 # of expected passes 12
78452 # of unsupported tests 1
78465 The problem is that libpthread is expected as dependency of
78491 With the single-operand JAL entry now sitting ahead of the two-operand
78492 one, the parsing of a two-operand insn would first try to parse an 'a'-
78493 style operand, resulting in the insertion of bogus (and otherwise
78511 after this point of course, but let's be safe.
78530 COFF). There were remnants of this there before, but they were removed
78539 Note that the old value of jmp_aarch64_bytes was wrong, and this does
78555 Fix size of external_reloc for pe-aarch64
78564 This first patch fixes the size of RELSZ; I'm not sure why it was 14 in
78565 the first place. This is the size of the "Base Relocation Block" in
78574 function checks the 'type' and 'enclosing_type' fields of the value
78577 * The 'type' field describes the type of a value.
78580 * Scenarios where the 'type' and 'enclosing_type' of an object
78586 subobject of the real thing, and the full object is probably
78599 and 'enclosing_type' of a value are not identical.
78626 Examples are supposed to use @value{GDBP} instead of the literal "(gdb)"
78627 (many of them already do). Update a bunch of spots where it wasn't the
78635 Change some spots to use "@value{GDBN}" instead of just "GDB".
78649 For local exec TLS relocations of the form foo@NTPOFF+x the addend was
78672 ...bfd.texi:246: @include: could not find init.texi
78693 sim: move arch-specific file compilation of common/ files to top-level
78787 Now that we're ready to compile arch-specific objects, refactor some of
78807 The objects are still compiled in the subdir, but the creation of the
78811 The downside is that each object compile is a recursive make instead of
78814 away of course once the top-level compiles objects.
78819 The objects are still compiled in the subdir, but the creation of the
78823 The downside is that each object compile is a recursive make instead of
78826 away of course once the top-level compiles objects.
78831 The objects are still compiled in the subdir, but the creation of the
78835 The downside is that each object compile is a recursive make instead of
78838 away of course once the top-level compiles objects.
78843 The objects are still compiled in the subdir, but the creation of the
78847 The downside is that each object compile is a recursive make instead of
78850 away of course once the top-level compiles objects.
78855 The objects are still compiled in the subdir, but the creation of the
78859 The downside is that each object compile is a recursive make instead of
78862 away of course once the top-level compiles objects.
78867 The objects are still compiled in the subdir, but the creation of the
78871 The downside is that each object compile is a recursive make instead of
78874 away of course once the top-level compiles objects.
78879 The objects are still compiled in the subdir, but the creation of the
78883 The downside is that each object compile is a recursive make instead of
78886 away of course once the top-level compiles objects.
78891 The objects are still compiled in the subdir, but the creation of the
78895 The downside is that each object compile is a recursive make instead of
78898 away of course once the top-level compiles objects.
78903 The objects are still compiled in the subdir, but the creation of the
78907 The downside is that each object compile is a recursive make instead of
78910 away of course once the top-level compiles objects.
78915 The objects are still compiled in the subdir, but the creation of the
78919 The downside is that each object compile is a recursive make instead of
78922 away of course once the top-level compiles objects.
78927 The objects are still compiled in the subdir, but the creation of the
78931 The downside is that each object compile is a recursive make instead of
78934 away of course once the top-level compiles objects.
78937 targets, it generates the list of sources & objects on the fly in the
78943 The objects are still compiled in the subdir, but the creation of the
78947 The downside is that each object compile is a recursive make instead of
78950 away of course once the top-level compiles objects.
78955 The objects are still compiled in the subdir, but the creation of the
78959 The downside is that each object compile is a recursive make instead of
78962 away of course once the top-level compiles objects.
78967 The objects are still compiled in the subdir, but the creation of the
78971 The downside is that each object compile is a recursive make instead of
78974 away of course once the top-level compiles objects.
78979 The objects are still compiled in the subdir, but the creation of the
78983 The downside is that each object compile is a recursive make instead of
78986 away of course once the top-level compiles objects.
78991 The objects are still compiled in the subdir, but the creation of the
78995 The downside is that each object compile is a recursive make instead of
78998 away of course once the top-level compiles objects.
79003 The objects are still compiled in the subdir, but the creation of the
79007 The downside is that each object compile is a recursive make instead of
79010 away of course once the top-level compiles objects.
79015 The objects are still compiled in the subdir, but the creation of the
79019 The downside is that each object compile is a recursive make instead of
79022 away of course once the top-level compiles objects.
79027 The objects are still compiled in the subdir, but the creation of the
79031 The downside is that each object compile is a recursive make instead of
79034 away of course once the top-level compiles objects.
79039 The objects are still compiled in the subdir, but the creation of the
79043 The downside is that each object compile is a recursive make instead of
79046 away of course once the top-level compiles objects.
79051 The objects are still compiled in the subdir, but the creation of the
79055 The downside is that each object compile is a recursive make instead of
79058 away of course once the top-level compiles objects.
79063 The objects are still compiled in the subdir, but the creation of the
79067 The downside is that each object compile is a recursive make instead of
79070 away of course once the top-level compiles objects.
79075 The objects are still compiled in the subdir, but the creation of the
79079 The downside is that each object compile is a recursive make instead of
79082 away of course once the top-level compiles objects.
79087 The objects are still compiled in the subdir, but the creation of the
79091 The downside is that each object compile is a recursive make instead of
79094 away of course once the top-level compiles objects.
79099 The objects are still compiled in the subdir, but the creation of the
79103 The downside is that each object compile is a recursive make instead of
79106 away of course once the top-level compiles objects.
79111 The objects are still compiled in the subdir, but the creation of the
79115 The downside is that each object compile is a recursive make instead of
79118 away of course once the top-level compiles objects.
79123 The objects are still compiled in the subdir, but the creation of the
79127 The downside is that each object compile is a recursive make instead of
79130 away of course once the top-level compiles objects.
79135 The objects are still compiled in the subdir, but the creation of the
79139 The downside is that each object compile is a recursive make instead of
79142 away of course once the top-level compiles objects.
79147 The objects are still compiled in the subdir, but the creation of the
79151 The downside is that each object compile is a recursive make instead of
79154 away of course once the top-level compiles objects.
79159 The objects are still compiled in the subdir, but the creation of the
79163 The downside is that each object compile is a recursive make instead of
79166 away of course once the top-level compiles objects.
79171 The objects are still compiled in the subdir, but the creation of the
79175 The downside is that each object compile is a recursive make instead of
79178 away of course once the top-level compiles objects.
79195 This currently builds off of the objects that go into the libsim.a as
79204 During breakpoint re-setting, the source_filename of an
79217 source_filename instead of the symtab's fullname.
79238 fuzzers of course) when something goes wrong in the save_section_vma,
79250 (sizeof * x) as a multiplication of two variables, which I would not
79258 (rsrc_parse_entry): Check entry size read from file.
79267 marked obsolete, but we still allow reading of these object files in
79268 a number of mips targets.
79285 The idea behind reinitialising state is to see whether some set of
79288 internals of binutils. So one testcase may affect the result of the
79295 * doc/local.mk: Remove mention of init.texi and init.c.
79298 * po/SRC-POTFILES.in: Regenerate.
79354 icpx: remark: Note that use of '-g' without any optimization-level
79355 option will turn off most compiler optimizations similar to use of
79363 …: remark: Note that use of '-g' without any optimization-level option will turn off most compiler …
79367 # of untested testcases 1
79387 # of expected passes 1
79388 # of unexpected failures 9
79399 # of expected passes 19
79400 # of known failures 1
79413 of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended
79428 output of the remark when trying to figure out the compiler version
79484 the order of their sfde_func_start_fre_off. On the contrary, SFrame
79485 FDEs will be sorted in the order of their start address. So, remove
79487 sfde_func_start_fre_off seen will help determine the end of the flipped
79490 The function now keeps track of the bytes_flipped and then compares it with
79524 preventing this is that objcopy writes to one of the fields,
79525 _bfd_coff_long_section_names. This patch creates a copy of the field
79562 this by making it so instead of exiting early when finding any symbol
79567 If the resulting map has more than one entry, GDB says that the
79578 When executing in reverse and runs out of recorded history, GDB prints
79597 unexpected failures. They all fail to produce a complete list of
79631 will do the side-effects of decrementing the debug_print_depth global
79634 decrements get out of sync, meaning we should hit this assertion, in
79659 directly in the instance of the top-level caller). To confirm this, I
79705 gdb: make gdbarch_alloc take ownership of the tdep
79706 It's currently not clear how the ownership of gdbarch_tdep objects
79707 works. In fact, nothing ever takes ownership of it. This is mostly
79714 of the tdep. The tdep is thus automatically freed if the gdbarch is
79722 of xtensa_gdbarch_tdep. Since we need to pass a dynamically allocated
79788 # of expected passes 47
79793 Add type to expression dump of symbol
79807 This is ok, but it would have been handy to see the type of the
79839 The multirun generation mode is a bit of a mess as generated run files
79840 depend on generate igen files, all with unknown names ahead of time.
79841 In the multirun mode, be lazy and declare all of these generated source
79875 MAINTAINERS: add myself as maintainer of libsframe
79877 * MAINTAINERS: Add myself as maintainer of libsframe.
79907 Convert exp_uses_objfile to a method of expression
79908 This changes the exp_uses_objfile function to be a method of
79922 10`, to account for the fact that reading the debug info of the gdb
79925 timeout of 30 seconds.
79928 desired change anyway for this kind of simple command / expected
79945 objcopy fuzzed pe out of memory
79947 file in _bfd_XX_bfd_copy_private_bfd_data_common. The copy of the
79956 objcopy of archive, element containing an object with a fuzzed section
79959 time to write terabytes of sparse file, a waste of time when it will
79969 if out of range.
79973 addr2line out of memory on fuzzed file
79974 Another case of fuzzers finding the section size sanity checks are
80002 In theory the second block of logic should not trigger if the first
80004 check the define 'PRINT_BACKTRACE_ON_FATAL_SIGNAL' instead of checking
80027 implements a simple way of printing that information.
80039 4 bytes of memory at address 0x00007fffffffd5dc changed from: 01 00 00 00
80064 of the section. This is the Import Directory Table in
80066 is a concatenation of the .idata$2 sections. This is then followed by an
80072 of DLLs, the function pointers won't be aligned on an 8-byte boundary.
80076 might generate requires __imp__func (the .idata$4 entry) to be aligned
80089 The first line of sim/ppc/pk.h have changed by an effect of the commit
80151 be reused. However, for a call like "f(g())", the result of "g" might
80160 The previous patch introduced a new overload of gdbarch_return_value.
80162 of gdb -- the previous implementation is effectively deprecated,
80173 Add new overload of gdbarch_return_value
80175 types. The problem here is that the TYPE_LENGTH of such a type is 0,
80179 Fixing this requires letting the implementation of the gdbarch method
80184 update all implementations (there are ~80) of this method. So,
80229 of PyObject_CallObject.
80298 This should have been part of the previous commit 80636a54bcfa2bca3dc8f
80309 All of these objects should be in libsim.a already, so don't link to
80350 are the last set of codegen rules that we run in subdirs, so this
80356 side-effect of being more portable.
80370 Initial implementation of Debugger Adapter Protocol
80372 to communicate with debuggers. You can find more information here:
80399 This is not a complete implementation of the protocol, but it does
80406 There is also a bit of documentation -- just documenting the new
80497 xfails and other pieces of support specific to those targets. And
80515 sim: drop mention of & support for subdir configure
80527 These defines seem to have been added in anticipation of adding another
80535 manual copyright year range of various GDB files to add 2023
80545 than located at the start of the file.
80549 Update copyright year range in header of all files managed by GDB
80550 This commit is the result of running the gdb/copyright.py script,
80551 which automated the update of the copyright year range for all
80557 gdb/copyright.py: Adjust following rename of sim/ppc/ppc-instructions...
80562 the corresponding entry in NOT_FSF_LIST needs to be renamed as well.
80566 Update copyright year in help message of gdb, gdbserver, gdbreplay
80569 of New Year procedure. The corresponding source files' copyright
80584 Update year range in copyright notice of binutils files
80594 fix name of script in examples.
80596 Adds libsframe to list of default dirs. I would have added gprofng
80677 of it is obsolete.
80690 [ Partial resubmission of an earlier submission by Andrew (
80727 problem out-of-scope for this patch. ]
80744 In the case of the thread exit, the callback triggers because
80747 So why doesn't the callback trigger in the case of the breakpoint?
80749 Well, the b->frame_id is the frame_id of the frame of main (the frame
80951 This is due to -fcf-protection, which adds the endbr64 at the start of get_alias_set:
80957 so the extra insn gets an is-stmt line number entry:
80970 get_alias_set (t=t@entry=0x555555558018 <xx>) at step-and-next-inline.cc:50^M
80991 get_alias_set (t=t@entry=0x555555558018 <xx>) at step-and-next-inline.cc:51^M
81019 This fixes a couple of places in display_debug_lines_decoded that were
81021 displays the DWARF5 entry 0 for the program current directory rather
81029 directory entry 0 for DWARF5. Properly check directory index
81030 against number of entries in the table. Revert to using
81109 of the Boehm GC that is used by Guile on my machine causes a SEGV
81114 and reduces the running time of gdb.gdb from 20 minutes to about 11
81126 Since these are the last mips igen rules, we can clean up a number of
81135 Originally there was only one set of rules for generating code from
81139 this generation mode. So rename the set of rules from "igen" to
81150 generate itable with everything else out of convenience. This means
81158 I spent a lot of time staring at this code, building for diff mips
81174 nothing sets SIM_MIPS_GEN=MICROMIPS in the config, all of this
81196 bfd/dwarf2.c: allow use of DWARF5 directory entry 0
81198 for DWARF5 where index zero is allowed and is the current directory of
81199 the compilation. Most times this will be covered by the use of
81201 of putting the current dir in .debug_line was so the section could
81207 * dwarf2.c (concat_filename): Correct and simplify tests of
81234 (on-disk format). When the host is big-endian, the address of the
81236 value of the FRE start addr, not uint32_t sized value; we intend to copy
81237 out only the fre_start_addr_sz number of bytes.
81243 (sframe_encoder_write_fre): Use it instead of memcpy.
81261 enabled, things quickly crash as none of the other CPU structs are
81276 of hardcoding cpu0.
81297 This is the last bit of logic that exists in the mips configure
81324 shell script. This creates a lot of boilerplate in the build and not an
81325 insignificant amount of build-time overhead. Move the simple "is the file
81329 These are const data arrays of strings and numbers. We don't want
81347 of 'info sources' to figure out if the debug information for a
81349 some lines of the 'info sources' output can be very long, this was
81351 dynamic-linker was installed, in this case, the list of source files
81368 as many of the generated CGEN files refer only to sim-main.h. We'll
81394 sframe_decode () needs to malloc a temporary buffer of the same size as
81400 The malloc'd buffer needs to be kept track of, so that it can freed up in
81406 member to keep track of the internally malloc'd buffer.
81418 The test fails to find --with-mpfr or --without-mpfr in the "show
81431 as many of the generated CGEN files refer only to sim-main.h. We'll
81469 of the arch-specific content out of sim-main.h to it. This isn't a big
81475 Also take the opportunity to purge a lot of unused headers from these.
81477 no need to force everyone to pull them in. A lot of this is a hold over
81478 from the pre-igen days of this port.
81511 of the arch-specific content out of sim-main.h to it. This isn't a
81588 the end of the directory table.
81593 This allows to build GDB even though the default value of
81600 instead of 'PPROC_THREAD_ATTRIBUTE_LIST' (which might not be defined
81614 ld: Write types into IPI stream of PDB
81616 ld: Write types into TPI stream of PDB
81629 Enable compilation of ld/pdb.c just for x86, as is done for bfd/pdb.c.
81630 This reduces the size of ld and is necessary with the following
81645 Move this out of the global sim-main.h and to the few files that
81651 so move the include out of sim-main.h and to that header. It might
81652 be needed in other specific modules, but for now let's kick it out of
81661 I had grepped the top of the tree, but I must have only done mn10300.
81672 sim-endian.c, so move the bfd.h include there and out of sim-endian.h
81677 sim: move bfd.h include out of sim-main.h
81698 Nothing actually uses these, so punt them. Some of the ports are
81725 RISC-V: Reorder the prefixed extensions which are out of order.
81729 checking to allow the whole extensions be written out of orders, including
81790 regardless of the active arch backend (which can be 32 or 64-bit).
81819 (setup_build_id): Add size for the base name of pdb_name, not
81897 - SFRAME_AARCH64_PAUTH_KEY_A has a value of 0
81898 - SFRAME_AARCH64_PAUTH_KEY_B has a value of 1
81915 It is kind of odd to have the expansions of such constructs ahead of
81917 by pulling ahead the output of the definition lines, taking care to
81937 Note that cpu_arch[] has no SNP entry, so CPU_ANY_SNP_FLAGS remains
81956 x86: correct dependencies of a few AVX512 sub-features
81963 So far the set of ".noavx512*" has been accumulating, which isn't ideal.
81966 Furthermore limit redundancy by wrapping the repeated block of insns in
81982 CPU_*_MASK for the 3rd argument of SUBARCH() - they need to use
81988 - FISTTP which has no corresponding entry in cpu_arch[],
81991 would be a little more clumsy to suppress generating of the #define).
81997 been a permanent source of mistakes. Reduce what needs specifying
82000 out of sync anymore (at least in the vast majority of cases; there are a
82001 few special cases to still take care of manually). In the course of this
82005 Note that to retain the correct reverse dependency of AVX512F wrt
82020 As a side effect disabling of SSE or SSE2 will now also disable AES,
82028 the sim should care about is the CPU target. So reduce most of the
82056 sim: build: hoist lists of hw devices up
82063 sim: build: hoist lists of common objects up
82064 In order to create libsim.a in the common dir, we need the list of
82083 of duplicate attributes wins.
82093 Fix compiling of top.c
82108 Also this allows building of GMP and MPFR with the toplevel
82110 We now error out in the toplevel configure of the version
82111 of GMP and MPFR that is wrong.
82150 * README: Update GMP/MPFR section of the config
82187 that set the declaration line of the using directive correctly (such as
82191 Finally, because the final test of gdb.cp/nsusing.exp has turned into
82201 Fix an attempt to allocate an unreasonably large amount of memory when parsing a corrupt ELF file.
82221 cross build of binutils won't really test intended functionality. Since
82222 this testing takes quite a bit of time (typically more than running all
82223 of binutils, gas, and ld testsuites together), restrict the testing to
82234 The patch also tidies the warning quoting of section and file names,
82235 consistently using `%pA' and `%pB'. I'm no stickler for one style of
82283 for the old sim_cpu_base layout. There's a lot of noise here, so
82363 This is the first in a series of changes: it adds a define to select
82373 uses these, the APIs are part of the sim, not gdb. Move the headers
82374 out of the gdb/ include namespace and into sim/ instead.
82383 Simplify the build by moving the generation of these files from
82401 The libtool patch broke install-strip of gdb:
82420 Since INSTALL_PROGRAM_ENV is no longer at the beginning of the command, the
82425 bfd: Discard symbol regardless of warning flag
82426 The discard of symbols should be performed whether the warning for
82445 Regen opcodes/po/POTFILES.in
82451 leave the choice of whether to use them to the compiler via a -D
82457 The core device has an attach address method as the root of the tree
82514 This changes the uses of value_print_options to use 'true' and 'false'
82528 Any users of MI 1 can and should upgrade to a newer version.
82534 Remove vestiges of MI version 0
82535 I found a few vestiges of MI version 0 in the test suite. This patch
82579 without Java support, and when the building of the constituents of the
82582 run no longer report failure just because of this.
82593 end-of-line indicator is to follow immediately.
82596 The signal handling tests spend most of their time in the signal
82602 gprofng/testsuite: adjust linking of synprog
82645 the section of the current branch, now that it has been cut.
82657 Also, as a result of the version bump, the following changes
82671 to bfd_get_relocated_section_contents. The idea is to make use of the
82677 to the section size. In that case we want to use the larger of
82717 matches. It was quite limited in the style of message supported, only
82718 one message could be printed, and didn't really meet the stated aim of
82752 checking first element of an archive. Use caching error handler
82757 * targets.c (per_xvec_warn): Change type of array elements.
82788 In the textual dump of the SFrame section, when an SFrame FRE recovers a
82844 The behaviour of the mangled-RA info bit in SFrame format closely
82845 follows the behaviour of DW_CFA_AARCH64_negate_ra_state in DWARF. During
82847 encountered, it means the upper bits of the return address contain Pointer
82863 As of 1bcb0708f229 ("gdb/linux-nat: Check whether /proc/pid/mem is
82865 early at GDB startup, in order to get a consistent warning, instead of
82906 seconds (instead of 1) for the threads to start running, but only sleeping if
82915 gdb: fix crash when getting the value of a label symbol
82917 actually pretty hard for a user to find out more about that label.
82935 This commit doesn't fix any of the above issues, I mention them just
82952 When GDB tries to fetch the value of a label symbol then we end up in
82955 address of the label into a value object with builtin_core_addr type.
82962 GCC has an extension that allows users to take the address of a goto
82963 label (using &&), in that case the result is of type 'void *'.
82966 object, we use builtin_func_ptr type instead of builtin_core_addr,
82967 this means the result will be of type 'void (*) ()'. The benefit of
82976 After this asking for the value of a label symbol works just fine:
82989 Replace the use of struct buffer in linux-osdata.c with std::string.
82999 Add a version of buffer_xml_printf (defined in gdbsupport/buffer.{c,h})
83008 The code is a direct copy of buffer_xml_printf. The old version is
83023 gdb: make more use of make_target_connection_string
83025 Introduced a couple of inefficient uses of std::string, both of which
83052 [aarch64] Fix removal of non-address bits for PAuth
83057 constant represents the number of address bits in a pointer.
83068 of the non-address bits.
83071 and user-space addresses. But trying to clear a range of bits crossing the
83075 remove_non_address_bits and passes a pointer as opposed to the number of
83099 x86: change representation of extension opcode
83100 Having a "None" field in the vast majority of entries is needlessly
83101 cluttering the overall table. Instead of this being a separate field,
83102 use a representation matching that of Intel SDM and AMD PM for the main
83103 use of the field: Append the value after a / as the separator.
83119 The use of the static buffer in command_line_input is becoming
83127 buffer. After the execution of the define command, execute_command does
83159 command, but leave ownership of memory to the buffer . */
83181 of the frame row entry.
83183 For #1, we can fix this by reordering the struct members of
83190 of memory in the on-disk SFrame FRE that are on not on their natural
83243 Spotted a couple of places in findvar.c where we use:
83265 gdb: make more use of make_target_connection_string
83308 information in the output of 'maint info program-spaces'.
83318 can do some work depending on the type of target, so it is important
83344 new methods. Previously it was the responsibility of the caller to
83347 In a couple of places (event-top.c and top.c) I have been able to
83373 of 'target_ops *' to using a C++ std::array<target_ops_ref, ...>. The
83374 benefit of this change is that some of the reference counting of
83388 to calling a pure virtual function. The backtrace at the point of
83401 however, this is the_dummy_target, which is of type dummy_target,
83403 I believe the reason we ended up in the wrong implementation of
83408 Anyway, the point of this patch is not to fix GDB's ability to
83409 print an assert during exit, but to address the root cause of the
83410 assert. With that aside out of the way, we can return to the main
83428 entry from the all_connection_objects map.
83431 as part of GDB's exit code, which is run after the Python interpreter
83469 In a later commit I will provide the final part of the fix.
83471 As mentioned at the start of the commit message, this commit changes
83483 the reference out of m_stack like this:
83488 target_ops_ref until the end of the scope while allowing the m_stack
83489 entry to be reset back to nullptr. The alternative would be to
83490 directly set the m_stack entry to nullptr, like this:
83494 The problem here is that when we set the m_stack entry to nullptr we
83496 entry to nullptr.
83506 By using std::move to move the reference out of m_stack, this clears
83507 the m_stack entry, meaning the inferior no longer contains the
83508 target_ops in its target_stack. Now when the REF object goes out of
83512 I've made use of the Python connection_removed listener API to add a
83525 I think it would be better to make use of gdb::ref_ptr to automate the
83530 instead of using the scoped_mark_target_starting constructor and
83540 didn't care what the value of starting_up was, we just set it to true
83575 bndplt (MPX prefix)", that some of my builds were failing with
83596 different levels of verbosity for symbol-lookup debug.
83600 both on entry, and at exit, this is done in the scoped_debug_start_end
83609 templated, however, nothing outside of common-debug.h needs to change.
83612 added a couple of token uses in symtab.c. I didn't want to add too
83616 Within symtab.h I created a couple of global functions that can be
83617 used to query the status of the symbol_lookup_debug control variable,
83628 Convert the implementation of 'set debug symbol-lookup' to the new
83661 the type for the result of the 'sizeof' expression,
83682 lookup_name_info::language_lookup_name). As the canonical form of
83687 The above commit fixes this by avoiding the use of non-canonical names
83700 In the buggy version of GDB this would cause the debug information
83701 for the library to be fully expanded, while in the fixed version of
83736 The following test also includes detection of 'readnow', but does the
83743 correctly spot when readnow is in use, and many of the above tests
83748 removed the readnow call, this simplifies the next part of this patch
83764 With these changes, all of the tests listed above now pass correctly
83770 The current AS accepts invalid operands due to miss of operands length check.
83774 "e6", 2)" in the case above. So the generated encoding is same as that of
83875 the size of the array element rather than the size of a type.
83876 (frame_display_row): Adjust printing of col_offset.
83912 Initially, I thought a simpler version of this patch would work.
83928 Windows-specific implementation of this function is added to
84034 A couple of calls to parse_probe_linespec had an unnecessary cast. I
84050 temporary file in the build/gdb/testsuite/ directory, instead of in
84061 Dump of assembler code for function test:^M
84072 End of assembler dump.^M
84093 only after all input was processed (or more generally for any use of
84095 is related to [part of] the present stack of locations). To maintain the
84099 the road as_where() will likely want to return a list of (file,line)
84104 Arm: avoid unhelpful uses of .macro in testsuite
84164 (_bfd_elf_mips_get_relocated_section_contents): Adjust uses of
84175 This patch is essentially a revert of
84179 As the specific configure check now uses libtool, this explicit mention of the
84271 Rust assignments always have the value (), still as a matter of
84349 the removal of maybe_adjust_templates() and associated logic. Since
84351 and also simplify it, possible again as a result of said removal (plus
84356 x86: move bad-use-of-TLS-reloc check
84363 md_assemble(). Note though that this still leaves a lof of insns which
84372 x86-64: allow HLE store of accumulator to absolute 32-bit address
84373 In commit 1212781b35c9 ("ix86: allow HLE store of accumulator to
84378 While there also limit the amount of further checks done: The operand
84389 insns. Also suppress deriving of the suffix in Intel mode except in the
84394 only supported in 64-bit mode" on the SIMD forms of MOVQ) we need to
84395 defer parse_insn()'s emitting of errors unrelated to prefix parsing.
84407 quirky. Introduce a 2nd matching pass in case the 1st one couldn't find
84409 suffix to find a match at all. This requires error reporting adjustments
84425 really proper Intel syntax, we've been permitting all of those except
84433 prototype. To avoid using any kind of cast, simply calculate the update
84434 of "line" from the function's input and output.
84436 x86: revert disassembler parts of "x86: Allow 16-bit register source for LAR and LSL"
84437 This reverts the disassembler parts of 859aa2c86dc9 ("x86: Allow 16-bit
84439 That change was itself a partial revert of c9f5b96bdab0 ("x86: correct
84440 handling of LAR and LSL"), without actually saying so. While the earlier
84443 part of that change wasn't even necessary to address PR gas/29844.
84447 PR29892, Field file_table of struct module is uninitialized
84452 Lack of bounds checking in vms-alpha.c parse_module
84482 Plus segvs if the C-library doesn't handle printf %s of NULL.
84489 Simplify xcalloc of file_table.
84493 gas/codeview: avoid "shadowing" of glibc function name
84495 declaration of fileno() in stdio.h, which triggers a "shadows a global
84496 declaration" warning with our choice of warning level and with at least
84500 Speed up gas startup by avoiding runtime allocation of the instances of
84503 notes_alloc() may incur) by reusing the "end" slot of a preceding entry
84504 for the "start" slot of the subsequent one.
84508 determine the end of the table. Re-arrange the processing loop in
84513 As requested by H.J., just for the sake of people potentially building
84525 opcodes/ to the building of i386-dis.o, despite the file not really
84530 x86: instantiate i386_{op,reg}tab[] in gas instead of in libopcodes
84532 between assembly and disassembly. Any consumer of libopcodes would only
84533 ever access one of the two. Since gas is the only consumer of the
84538 This also shrinks the number of relocations to be processed for
84554 name entry.
84596 The problem is in displaced stepping, forced by the presence of the breakpoint,
84649 The new name better reflects the purpose of the function.
84667 SFrame function info is an unsigned 8-bit field comprising of the following
84674 address encoding of SFRAME_FDE_TYPE_PCINC has a value of zero, and the upper
84682 future, when the format does evolve to make use of the currently unused
84700 range of offsets that can be encoded in the start address of an SFrame
84705 these limits, and remove the usage of magic numbers.
84744 register. But we need to consider cases of systems that only have TPIDR and
84763 expose a non-throwing version of it.
84766 abort if it doesn't find a particular register name. The patch moves code
84770 This allows us to do register name lookups to find a particular register
84790 than the last one of the sequence need to be treated specially since
84830 (gdb) PASS: gdb.guile/scm-symtab.exp: step out of func2
84831 guile (print (> (sal-line (find-pc-line (frame-pc (selected-frame)))) line))^M
84833 (gdb) FAIL: gdb.guile/scm-symtab.exp: test find-pc-line with resume address
84854 - the insn of the call to func2 (0x10000714), and
84856 and expects the line number of the latter to be greater than the line number
84857 of the former.
84924 When building GDB with the following CFLAGS and CXXFLAGS as part of
84939 # of unexpected failures 1
84946 CXXFLAGS as part of the configuration line, the default value (-O2 -g)
84950 The root cause of this FAIL is that the $gdb_file_cmd_debug_info didn't
84972 # of untested testcases 1
84984 Update the description of the linker script's TYPE directive.
85047 Instead of using `select_frame (nullptr)` to invalidate the selected
85105 - Move compress_debug field out of link_info to ld_config.
85128 * objcopy.c (copy_file): Tidy setting of bfd compress flags.
85170 This is just a couple of cosmetic fixes in ppc-sysv-tdep.c: fixing
85179 Fix a dereference of NULL when scanning the symbol hashes array in the ARM linker.
85196 of the test name, and therefore this is a duplicate, which is currently not
85239 Here we only stop because of running into the safety net breakpoint at
85278 use of '<' instead of '<='. This commit fixes this issue.
85292 Get rid of SEC_ELF_COMPRESS
85312 Get rid of SEC_ELF_RENAME
85315 accomplished more directly in one of the objcopy specific bfd
85322 of compressed/decompressed debug sections.
85325 (elf_fake_sections): Don't handle renaming of debug sections for
85336 Define an enum instead of using ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD
85349 * elf.c (_bfd_elf_make_section_from_shdr): Replace uses of
85356 uses of ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD with
85394 Not a big deal, but it seems strange to check errno instead of the
85402 No caller cares about the value of *SIGINFO on failure. It's also
85461 perrors on runto failure I could find.
85464 run, to avoid running the test of the test unnecessarily.
85466 I thought of adding a check ran between test (in gdb_finish
85481 Prevent an illegal memory access when comparing the prefix of a section name regexp.
85506 Use tab for the first eight spaces of indentation, and align the gdb_printf
85507 arguments to the open parenthesis of the function call.
85536 puzzled by the imbalance of increments/decrements, but then I forgot to
85539 While there also switch to sb_add_string() instead of effectively open-
85551 * vms-alpha.c (parse_module): Fix potential out of bounds memory
85565 Tested by running all of the objdump commands used by the gas
85581 clearer the size of the value that is being displayed, and is inline
85582 with what many of the other libopcode disassemblers do.
85623 Move a couple of elf.c functions to compress.c.
85651 Since LAR and LSL only access 16 bits of the source operand, regardless
85652 of operand size, allow 16-bit register source for LAR and LSL, and always
85706 instead of adding separate variables / macros / commands for each solib
85719 With the general use of C99 there's no need anymore to have i386-gen
85724 Note that as a "side effect" this corrects type_names[]'es imm8s entry.
85729 For one, because of CheckRegSize, there's no need to check the size of
85734 Leverage the C (commutative) attribute to also reduce the number of XCHG
85764 breakpoint on the first instruction of the function. PowerPC uses
85781 initial break point for the rest of the test on the function pointer call
85784 This patch fixes two PowerPC test failures in each of the tests
85820 PR symtab/29105 shows a number of situations where symbol lookup can
85821 result in the expansion of too many CUs.
85827 every CU that has an entry for "int" -- i.e., nearly all of them. A
85828 crucial component of this is that the caller, objfile::lookup_symbol,
85829 does not do this canonicalization, so when it tries to find the symbol
85839 needed. And, in particular, due to the lack of overloading (thus
85876 dwarf2_compute_name has a redundant check of the CU's language -- this
85886 out of GDB expanding many symtabs. GDB was busy in a loop in
85890 useful too, since we iterate over a potentially big number of index
85903 the "find new threads" target operation to "update thread list", making
85904 the target responsible of adding new threads and removing exited
85930 * po/POTFILES.in: Likewise.
85935 PR compile/29541 points out that some of the C++ tests in gdb.compile
85944 Unfortunately, the crash is reported as a timeout, as the gdb side of
85964 Remove one copy of skip_compile_feature_tests
85965 I noticed that there are two identical copies of
85967 gdb.exp, in favor of the one in compile-support.exp.
85973 take into account the headers of each CU and could include the locviews
85978 0000001d <End of list>
86001 choose the endianness of the output.
86005 endianness of the input file.
86008 * testsuite/binutils-all/objcopy.exp: Add tests of the new behaviour.
86013 x86: rework of match_template()'s suffix checking
86015 doesn't really require the full structure. With the removal of
86017 anymore to pull out such a loop invariant: We're dealing a check of a
86027 With the removal of its use for FPU insns the suffix is now finally
86031 x86/Intel: restrict use of LONG_DOUBLE_MNEM_SUFFIX
86032 As a comment near the top of match_template() already says: We really
86091 I excercised the case of floatformat_ibm_long_double_big by
86095 Improve printing of float formats") is required.
86134 Also modernize the test-case by using clean_restart instead of gdb_exit/gdb_start.
86148 aren't called with the prefix tree. Hence initialization of the latter
86151 So, remove all of that.
86156 Now that we have a list of potentially matching sections per wild
86161 So instead of looking at all sections names for each glob for each wild
86163 against those globs that have a possibility of a match at all (usually
86172 section behind our back and some of them (e.g. on powerpc the
86173 "linker stubs" .got) need to come in front of all others, despite
86182 and remember the results. Before this the order of section matching
86186 foreach pattern P of S
86188 foreach section S of I
86194 lang_find_relro_sections and of course map_input_to_output_sections.
86196 So we iterate over all sections of all files many many times (for each
86199 that's the gist of it.
86203 a 75% speedup of the overall section selection process.
86214 if there was some kind of runtime corruption -- it could cause a gdb
86230 Rename fields of cli_interp_base::saved_output_files
86231 This renames the fields of cli_interp_base::saved_output_files, as
86233 reflect what the field is used for. I also added a couple of
86240 [gdb] Improve printing of float formats
86252 This is due to this bit of code in pformat:
86254 /* Just print out one of them - this is only for diagnostics. */
86282 slightly, bringing a piece of code out of sync with its comment, and
86287 x86: clean up after removal of support for gcc <= 2.8.1
86291 being in need of dealing with the compiler anomaly, and hence the
86307 other means, as D is set only on a very limited number of FPU templates.
86308 Also move the respective conditional out of the code path taken by all
86314 which of the two would be recognized. For this, however, we don't need
86334 | Add libsframe to the list of top level directories that will be included
86344 This patch fixes the issue by adding libsframe to the list of
86364 printed size of optimized out vla
86369 In order to find the size of the optimized out vla, gdb needs to evaluate:
86378 matching the pc, but doesn't find it:
86381 -ex "break f1" -ex run -ex "set debug entry-values 1" -ex "print sizeof (a)"
86386 DW_OP_entry_value resolving cannot find DW_TAG_call_site 0x100006b0 in main
86400 Cannot find matching parameter at DW_TAG_call_site 0x10000690 at main
86406 parameter i, for which we find location list entries:
86413 range, and that that the range starts at the start of the function, to deduce
86435 Make it return the result of gdb_test_multiple directly, change
86469 the test results in the form of an UNRESOLVED. It will also spare us
86502 of a structure returned from the xtensa_get_config_v<x> function call.
86506 configuration and return an address of an exported object from it.
86525 (xtensa_isa_init): Call xtensa_get_modules instead of taking
86526 address of global xtensa_modules.
86553 gdb/testsuite: remove use of then keyword from library files
86554 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86555 still a bunch of places in the testsuite where we make use of the
86559 This commit removes all use of the 'then' keyword from the testsuite
86561 removed all uses of the 'then' keyword from the test script files,
86568 gdb/testsuite: remove use of then keyword from gdb.*/*.exp scripts
86569 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86570 still a bunch of places in the testsuite where we make use of the
86574 This commit removes all use of the 'then' keyword from the remaining
86575 gdb.*/*.exp scripts. Previous commits have done the bulk of this
86577 contain a low number of instances.
86583 gdb/testsuite: remove use of then keyword from gdb.multi/*.exp
86584 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86585 still a bunch of places in the testsuite where we make use of the
86589 This commit removes all use of the 'then' keyword from the gdb.multi/
86596 gdb/testsuite: remove use of then keyword from gdb.fortran/*.exp
86597 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86598 still a bunch of places in the testsuite where we make use of the
86602 This commit removes all use of the 'then' keyword from the gdb.fortran/
86609 gdb/testsuite: remove use of then keyword from gdb.disasm/*.exp
86610 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86611 still a bunch of places in the testsuite where we make use of the
86615 This commit removes all use of the 'then' keyword from the gdb.disasm/
86622 gdb/testsuite: remove use of then keyword from gdb.reverse/*.exp
86623 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86624 still a bunch of places in the testsuite where we make use of the
86628 This commit removes all use of the 'then' keyword from the gdb.reverse/
86635 gdb/testsuite: remove use of then keyword from gdb.trace/*.exp
86636 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86637 still a bunch of places in the testsuite where we make use of the
86641 This commit removes all use of the 'then' keyword from the gdb.trace/
86648 gdb/testsuite: remove use of then keyword from gdb.threads/*.exp
86649 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86650 still a bunch of places in the testsuite where we make use of the
86654 This commit removes all use of the 'then' keyword from the gdb.threads/
86661 gdb/testsuite: remove use of then keyword from gdb.python/*.exp
86662 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86663 still a bunch of places in the testsuite where we make use of the
86667 This commit removes all use of the 'then' keyword from the gdb.python/
86674 gdb/testsuite: remove use of then keyword from gdb.cp/*.exp
86675 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86676 still a bunch of places in the testsuite where we make use of the
86680 This commit removes all use of the 'then' keyword from the gdb.cp/
86687 gdb/testsuite: remove use of then keyword from gdb.arch/*.exp
86688 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86689 still a bunch of places in the testsuite where we make use of the
86693 This commit removes all use of the 'then' keyword from the gdb.arch/
86700 gdb/testsuite: remove use of then keyword from gdb.base/*.exp
86701 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86702 still a bunch of places in the testsuite where we make use of the
86706 This commit removes all use of the 'then' keyword from the gdb.base/
86713 gdb/testsuite: remove use of then keyword from gdb.ada/*.exp
86714 The canonical form of 'if' in modern TCL is 'if {} {}'. But there's
86715 still a bunch of places in the testsuite where we make use of the
86719 This commit removes all use of the 'then' keyword from the gdb.ada/
86739 gdb_stdout. However, this has the side effect of also causing logging
86751 for the convenience of the users. In a subsequent patch, this will no
86753 ownership to the users of tee_file.
86758 member of cli_interp_base. This patch makes this change.
86774 …../../gdb/windows-nat.c:629:12: error: use of 'auto' in lambda parameter declaration only availabl…
86780 Fix calling convention of thread entry point
86781 For i686 the CreateThread entry point function needs the WINAPI (stdcall)
86793 Since it's not possible to change the calling convention of a lambda, I've
86799 In disasm.h we define a set of types that are used by the various
86845 is a mismatch in the set of exceptions that could be thrown.
86859 the warnings would require us to jump through a bunch of hoops.
86885 See bug gdb/29712 for an example of when this happened.
86904 …s_ftype)’ will change in C++17 because the exception specification is part of a function type [-We…
86909 new use of the disassembler classes in the future, and forgets to mark
86924 use of the Python disassembler API:
86960 ### ... snip lots of frames as we pass through Python itself ...
86982 is the C++ implementation of gdb.disassembler.builtin_disassemble, and
86988 the details of the Python exception into a C++ exception, then throw
86990 unpack the details of the Python exception, and re-raise it.
86993 some of which are in libopcodes, which is C code, and so, might not be
87000 the details of this exception within the gdbpy_disassembler object
87025 read. I'm not aware of any such disassembler that currently does
87049 favor of just using the object everywhere.
87059 included in glibc. The removal of the probe looks like an accident,
87064 In GDB, in solib-svr4.c, we have a list of probes that we look for
87065 related to the shared library loading detection. If any of these
87068 probe is include in the list of required probes.
87079 are version of glibc in the wild without the "map_failed" probe, we
87083 versions of glibc didn't include this probe, so, in some cases, if
87087 the loading of shared libraries.
87149 of an expression in a single thread. If you are confident that the expression
87181 The breakpoint is correctly set at the local entry point, and given that the
87182 local entry point doesn't correspond to a line number entry, the instruction
87183 address of the breakpoint is shown.
87205 the fast case of no sorting required at all (at the same time renaming
87212 a more generic version of match_simple_wild which needs some
87213 pre-processing of patterns. In particular it supports patterns of the
87214 form PREFIX*SUFFIX (where all parts are optional), i.e. a super set of
87215 what's handled now. Most section matchers of this form and hence don't
87218 We retain the implementation of match_simple_wild for the filename
87241 that to the callers, but not all of them do).
87252 bound of the range has its high bit set, because the test is done
87255 With this patch, if the underlying type of a range is unsigned, then
87270 PR 28275 shows that doing a sequence of:
87299 We would think that this would clear the commit_resumed_state flag of
87302 to find active process targets. And after the kill, the inferior is
87305 flag of the native target, it stays true. When reaching target_wait, in
87318 target_wait. It could be done at the end of the kill command, or at the
87319 beginning of the run command.
87328 clears the target's commit_resumed_state on entry, and leaves it false
87333 Add a test that tries to cover various combinations of actions done
87375 The internal error of GDB is actually caused by GDBserver crashing, and
87376 the error recovery of GDB is not on point. This patch aims to fix just
87407 iterate on all threads of all process to fulfull the qxfer:threads:read
87408 request, we get to a thread of process 1 for which we haven't read
87495 This commit addresses one of the issues identified in PR gdb/28275.
87497 Bug gdb/28275 identifies a number of situations in which this assert:
87501 could be triggered. There's actually a number of similar places where
87502 this assert is found in GDB, the two of interest in gdb/28275 are in
87505 In one of the comments:
87510 using a modified version of the gdb.threads/detach-step-over.exp test
87529 create an instance of scoped_disable_commit_resumed, this ensures that
87533 the bug, is that, instead of using "detach" to detach from the
87549 In this commit, I propose fixing this by adding the creation of a
87559 in this series, but for detach instead of kill.
87562 think it is still relevant to cover the resumption at the end of the
87572 Factor out some bits of gdb.threads/detach-step-over.exp to procs in
87573 preparation to adding some new variations of the test. Rename the
87583 instead of declaring global variables with the `global` keyword.
87634 Disassembly of section .fini:
87643 having a local entry point, due to incorrectly accessing an asymbol struct
87661 * doc/binutils.texi (strings): Delete example of 7-bit encoding.
87694 This commit tests both (assembler and disassembler) fixes of "Better support
87713 1. It heavily depended on the bignum internals (radix of 2^16),
87744 of an instruction. After that, zeroes are incorrectly printed.
87757 Note that, after 0xcd (after first 64-bits of the target instruction), all
87788 all the file names it finds, except the name of 'fnd file name and directory'.
87796 Stack trace of the leak:
87797 ==4113266== 490,735 bytes in 17,500 blocks are definitely lost in loss record 7,061 of 7,074
87852 ==3261873== 4,842 bytes in 69 blocks are definitely lost in loss record 6,772 of 6,839
87866 Use false/true for some inferior class members instead of 0/1
87911 gdbserver: Sending SIGINT to process group of pid 15068 failed: \
87944 I managed to reproduce this behaviour independently of gdb, by compiling
87963 could not find '.gnu_debugaltlink' file for access-mem-running-thread-exit^M
87984 Fix jump on uninit producer_is_clang bit of cu.h dwarf2_cu struct.
87988 Fix this by initializing producer_is_clang member variable of dwarf2_cu.
88043 of known standard extensions.
88113 sframe/doc: remove usage of xrefautomaticsectiontitle
88116 necessary makeinfo version. So remove the usage of it.
88122 * libsframe/doc/sframe-spec.texi: Remove usage of
88134 big, but all of these are kind of tied together. The procs starts by
88244 x86: widen applicability and use of CheckRegSize
88245 First of all make operand_type_register_match() apply to all sized
88253 Then also add CheckRegSize to a couple of non-SIMD templates matching
88254 that same pattern of memory-only vs register operands. This replaces
88263 While making the code adjustment also flip order of checks to do the
88273 x86: correct handling of LAR and LSL
88277 of the templates for the assembler and separating decode of the
88282 Tidy objdump printing of section size
88308 For v8m, the EXC_RETURN pattern, without security extension, consists of
88310 This patch extends the list of patterns to include also the FType bit
88364 terminate called after throwing an instance of 'int'^M
88371 Evaluation of the expression containing the function^M
88380 - an internal breakpoint is set on the global entry point of std::terminate
88381 - the inferior call uses the local entry point
88388 - adding a variant of function create_internal_breakpoint which takes a
88389 minimal symbol instead of an address as argument
88401 as we're not aware of any related failures, we declare this out of scope for
88419 need the out-of-range check for R_RISCV_SUB6, and the overflow checks for
88481 Some register sets described by an array of regcache_map_entry
88483 architecture but do describe a block of registers whose numbers are at
88484 fixed offsets relative to some base register value. An example of
88490 set. To reduce duplication, add variants of the collect_regset and
88493 base register number to the value from the map entry to determine the
88517 The aim here is to improve readelf handling of large 64-bit object
88535 (many functions): Replace uses of "unsigned long" with
88551 As part of the rebase of the patch, I managed to loose the local
88587 gas/sframe: avoid "shadowing" of glibc function name
88588 Once again: Old enough glibc has an (unguarded) declaration of index()
88590 with our choice of wanring level and with at least some gcc versions.
88599 Changes readelf to make use first of fseeko64 and then fseeko,
88600 depending on which of those is available. If neither is available,
88601 reverts to the previous behavior of using fseek.
88606 indicating that the offset is negative. On such systems, making use of
88631 When getting the locno of a bpstat, handle the case of bp with null locations.
88637 but the end of gdb summary shows:
88641 # of expected passes 36
88644 After the fix, the nr of expected passes increased.
88670 reporting a failed result instead of just producing the internal error.
88675 If the commands of the bpstat bs contain commands such as step or next or
88712 of msp_s, msp_ns, psp_s or psp_ns.
88718 of msp_s, msp_ns, psp_s or psp_ns. When switching active sp, the
88730 When reg_nr is one of the float and vector pseudo registers,
88764 instances of
88770 …/vol/src/gnu/gdb/hg/master/local/gdb/sol-thread.c:416:20: error: format ‘%ld’ expects argument of …
88774 note: in definition of macro ‘_’
88799 With the addition of $gdb_prompt in the regexp testing for breakpoint hit,
88826 $_hit_bpnum and $_hit_locno can a.o. be used in the command list of a
88841 The changes in RFA v4 handle the comments of Tom Tromey:
88852 The changes in RFA v3 handle the additional comments of Eli:
88855 - Use 'code location' instead of 'location'.
88861 - Use 'code location' instead of 'location'.
88863 - Use @kbd instead of examples with only one command.
88867 - Use %s for the result of paddress
88868 - Use bkptno_numopt_re instead of 2 different -re cases
88878 of the 'Smstateen' extension. It means, this extension implements sstateen*
88879 and hstateen* CSRs of the 'Smstateen' extension.
88885 This is based on the latest version of RISC-V Profiles
88909 supervisor/hypervisor part of 'Smstateen' CSRs are accessible from
88924 gdbserver/linux-x86: move lwp declaration out of __x86_64__ region
88935 …/home/smarchi/src/binutils-gdb/gdbserver/linux-low.h:709:31: note: in definition of macro ‘get_lwp…
88941 Move the lwp variable outside of the __x86_64__ region.
88970 is_64bit_tdesc would try to get the regcache of a nullptr thread.
88982 gdbserver/linux: take condition out of callback in find_lwp_pid
88994 Fix deletion of FinishBreakpoints
88995 Currently, FinishBreakpoints are set at the return address of a frame based on
88998 happening because the disposition of the breakpoint was not being set
89002 post-stop hook of the breakpoint. It also adds a test to ensure this feature
89014 …or: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-We…
89024 …uiltin___sprintf_chk’ output between 9 and 2147483648 bytes into a destination of size 2147483647
89035 of the alloca anyway.
89043 Convert the gdb.cp/call-method-register.exp test to make use of the
89059 GDB. This should fail because GDB can't take the address of the in
89063 register the structure is in, and I take advantage of this for the
89078 failure when run with some older versions of Clang, e.g. 9.0.1.
89091 This is the behaviour when the compiler is gcc, or later versions of
89105 As a result of adding the new filler work, one of the later tests,
89107 output (the top line of the source file is no longer included in the
89109 is checking that GDB managed to find the source file, it doesn't
89164 This test makes use of the DWARF assembler, and, it turns out, uses
89177 # may not guarantee the order of global asms and function. The code
89194 And make use of 'proc function_range' (from lib/dwarf.exp).
89198 One consequence of this change is that we need to compile the source
89213 These lines were setting the alignment of the .text section. What I
89220 Still, I figure, lets remove them, then, if/when we find a test that
89259 use of standard_testfile, as that seems to be the more common way of
89260 doing this sort of thing.
89287 Fixes issue where various values of '.align' causes writing of COFF files to fail.
89389 I noticed a couple of spots that used '0' rather than 'false' when
89395 The GDB coding standard specifies that nullptr should be used instead of
89396 NULL. There are numerous uses of NULL and nullptr in files infcmd.c and
89397 infrun.c. This patch replaces the various uses of NULL with nullptr in
89398 the source files. The use of NULL in the comments was not changed.
89436 the number of live (non-exited) threads in the current inferior. This
89448 I happened to find a couple of obsolete declarations in cli-interp.h.
89472 The problem is that the output captured in TCL contains lots of things
89477 So, in the TCL part of the test we were expanding '\x' to '\\x', this
89490 characters, regardless of what follows them. This is what this patch
89500 of integer or enum or char data type.
89507 gdb/fortran/testsuite: print values and types of string variables
89508 While looking through the Fortran tests, I couldn't find a test of GDB
89509 printing the value and type of a Fortran string defined using the
89518 null, so this test includes an example of that.
89526 sequences are more compact than the standard Fortran way of doing
89533 procfs.c has accumulated several compilation errors lately (some of them
89551 of procinfo::pathname will never be NULL [-Waddress]
89556 238 | char pathname[MAX_PROC_NAME_SIZE]; /* Pathname to /proc entry */
89572 It seems that this is another case of GCC PR middle-end/88059, which
89574 PR to use memcpy instead of strncpy.
89628 upper 32 bits of a double-precision floating-point register in RV32.
89777 slightly out of date -- it does not document all the states that can
89835 - using remote_exec instead of catch system, and
89883 Add libsframe to the list of top level directories that will be included
89894 of --sframe are optional for both readelf and objdump.
89927 The linker places the output .sframe section in a new segment of its
89937 This patch also adds support for generation of SFrame unwind
89942 adapted to include the control of whether .sframe unwind information
90045 encoding and probing .sframe sections. A set of error codes together
90101 directives. Splitting this out here for ease of applying and testing.
90142 option of --gsframe provides an easy way to try out .sframe support
90149 purpose of SFrame unwind info generation.
90161 Consequently, gen-sframe.[ch] only needs to interpret a subset of
90182 generated for them. Holes in instructions covered by FREs of a single
90223 (md_begin): Set values of sp/fp/ra registers.
90283 More details of the SFrame format are included in the documentation
90284 of the header file in this patch.
90304 repeat count, write.c:write_contents attempts to shove 16 bytes of
90305 padding into the remaining 4 bytes of the .text section.
90322 check features of libbfd.
90325 either in the definition of the macro, or as a consequence of checking
90328 This patch modifies the definition of the GDB_CHECK_BFD macro in order
90330 not have to list dependencies of libbfd (which are indirect to GDB) at
90347 - Check link dependencies of installed GDB with both --enable-shared
90410 is only matches part of a completion result. With check-read1, that is
90413 Fix this by expecting the \r\n at the end of the line, so we only match
90538 Fix these by using the name of a shared lib as returned by gdb_load_shlib.
90560 number of test-cases fails with a remote target setup, for instance test-case
90572 For aforementioned test-case, this happens when the name of a shared library is
90655 # If GDB is lack of XML support, and targets, like arm, have
90685 or off to enable/disable simultaneous debugging of parent/child.
90696 ABI uses register r3 to store the address of the buffer containing the
90703 of r3 on entry to a function. On PowerPC, the new gdbarch method attempts
90705 function, to determine the value of r3 on entry to the function. This
90706 requires the use of the -fvar-tracking compiler option to compile the
90710 return buffer address, in the case of a function returning a nontrivial
90761 the address of the buffer containing the function return value in register
90762 r3 on entry to the function. However, the PowerPC ABI does not guarentee
90848 (md_pseudo_table): Add entry for pacspval directive.
90865 * readelf.c (decode_arm_unwind_bytecode): Add entry to decode opcode 0xb5.
90870 Gnulib generates a warning if the system version of certain functions
90876 - C++ standard used by Clang is before C++17 (by default as of 15.0.0)
90883 was rejected because it ruins the intent of Gnulib warnings.
90907 * cpu-arm.c (processors): Add Cortex-X1C CPU entry.
90944 I realized that the more irregular output of show arch:
90965 Fix this in with_set by handling this type of output.
90986 - factoring out a new proc with_set out of proc with_complaints, and
91013 clearing of SEC_RELOC.
91017 * write.c (size_seg): Remove unneccesary twiddle of SEC_RELOC.
91032 Also enable the declaration and definition of strwinerror() when
91037 Drop apparently unneeded include of winsock2.h
91148 Use proper %p to printf a pointer instead of casting it to long and
91164 Fix this by handling the prompt. Reduces execution time of the test-case from
91180 The test-cases expect a running instance of gdb upon return, which is not
91181 there, so there's an long stream of ERRORs generated as a result.
91183 Fix this at the start of has_hw_wp_support, by (instead of accomodating a
91198 The python code maintains a list of threads for each inferior. This
91199 list is implemented as a linked list. When the number of threads grows
91201 finding a particular thread_object in the list has a complexity of O(N).
91203 We see this in ROCgdb[1], a downstream port of GDB for AMDGUP. On
91204 AMDGPU devices, the number of threads can get significantly higher than
91207 In some situations, we can reach the end of the inferior process with
91208 GDB still having a substantial list of known threads. While running
91216 inferior_object list of thread_objects into a std::unordered_map. This
91218 instead of O(N).
91239 In particular, one of the corner cases using copy_insn_closure_by_addr got
91246 the order of the statements in displaced_step_buffer::prepare.
91248 The way it is now, we first write the address of the displaced step buffer
91304 gdb/testsuite: disable some tests of gdb.cp/typeid.exp when using Clang
91317 names to subprograms of those anonymous structs (for instance, the
91319 any of them, so there is no way to pass any of the tests of
91327 of the file explaining what it is testing for.
91358 failure when printing the type of a class with an internal typedef. This
91380 parameter version, probably in an attempt to reduce the size of the
91472 of it outside of any macro(-like) construct the meaning of restoring the
91477 introduction of RepPrefixOk. Drop these leftovers.
91479 x86: drop duplicate sse4a entry from cpu_arch[]
91511 bfd_malloc_and_get_section to read contents of .MIPS.options.
91515 compressed_output.cc:86:8: error: assignment of read-only variable ‘size’
91680 Commit 041de3d73aa changed the output format of all error messages when
91689 the percentage of completion and the total download size.
91695 with a ticker ("###") that moves across the screen at a rate of 1 tick
91703 description of the download is printed. No bar or ticker is displayed.
91707 In any case, if the size of the download is known at the time the
91716 ROCm GDB port. One particularity of this patch set is that it does not
91717 support unwinding frames, that requires support of some DWARF extensions
91721 When rebasing on top of the frame_info_ptr work, GDB started tripping on
91733 printing of the frame is simply abandonned.
91735 Regardless of this ROCm GDB problem (which is admittedly temporary, it
91737 prepare_reinflate to force the computing of the frame id, for the same
91747 prepare_reinflate / reinflate. Because the frame id of frame 0 can
91768 it will avoid forcing the computation of frame 0's when calling
91780 It works right now, because all callers of print_frame_info that could
91784 value, print_frame_info does have a cached frame id on entry. So
91794 gdb: use frame_id_p instead of comparing to null_frame_id in frame_info_ptr::reinflate
91811 With the following patch applied (gdb: use frame_id_p instead of
91853 should be taken care of by frame_info_ptr::reinflate.
91859 happen, we'll need to find a solution to this problem globally
91869 I don't see any particular reason why the implementations of the
91872 add declarations of functions defined in frame.c, in frame-info.h. By
91899 This is another case of frame_info being invalidated under a function's
91928 fields of the moved-from object is not a bad idea, it helps ensure we
91947 overload match failed because of an incomplete type, and warn the user
91948 of this.
91952 expansion of gdb.cp/overload.cc because it needed the dwarf assembler,
91953 and porting all of overload.cc seemed unnecessary.
91985 for the arelent pointer array, only to find a little later that the
92050 Instead of writing:
92063 This saves ~100 lines of code. Hopefully the compiler was already
92111 Commit be6276e0aed "Allow debugging of runtime loader / dynamic linker"
92139 …nutils-gdb/gdb/infrun.c:6960:64: runtime error: member call on null pointer of type 'struct symbol'
92179 were accidentally dropped (probably due to incorrect resolution of
92201 I tracked this down to a hard-coded list of languages in typeprint.c.
92218 This macro expansion was missing a set of outer-most parenthesis which
92222 sim: ppc: drop useless linking of helper tools
92227 and debug the specific bits of code every now & then.
92234 way EXTRQ / INSERTQ would have been accepted also with kind-of-AT&T
92258 The xtheadmemidx extension consists of indirect load/store instructions
92290 The particularity of this setup is that builds are done in containers
92296 returns 4, so it allocates an array of 4 integers. However, the core
92314 The solution proposed in this patch is to find out the number of
92316 will probably always contain `0-N`, where N is the number of CPUs, minus
92320 iterate over these numbers to find the highest possible CPU id, and
92321 use that that value plus one as the size of the array to allocate.
92435 Furthermore, the purpose of not catching errors thrown by
92518 sim: mips: call Unpredictable instead of setting bogus values [PR sim/29276]
92519 The intention of this code seems to be to indicate that this insn
92520 should not be used and produces undefined behavior, so instead of
92523 a log message for users at runtime instead of silent corruption.
92634 As an application of the above,
92641 NOTE1: The addition of libtool adds a few new configure-time options
92644 picking up the right version of the referred libtool libraries
92724 explicitly to track the list of enabled arches instead.
92743 This should fix some of the buildbots.
92777 The purpose of this commit is to suppress unnecessary errors while parsing
92817 This version of the patch incorporates Simon's warning change, and
92823 Now that we link programs in the top dir instead of the arch subdir,
92828 of keeping the manual logic so we don't install wrapper shell scripts.
92838 that's 32 link steps that don't take advantage of parallel systems. On
92843 We use noinst_PROGRAMS instead of bin_PROGRAMS because we're taking care
92844 of the install ourselves rather than letting automake process it.
92858 This is only used by `make check`, so we can move it out of the
92917 rest of the test if the attach was successful.
92999 values to the instructions. The comment giving the name of the instruction
93008 "End of assembler dump" to determing the last address in the function. The
93010 "End of assembler dump". This assumption fails on PowerPC.
93012 The PowerPC disassembly of the function foo looks like:
93013 Dump of assembler code for function foo:
93024 # End of assembler dump.
93038 been introduced once again in a number of new tests.
93066 of this issue in this commit:
93074 hitting, however, an additional instance of the same problem was
93082 an uninitialized variable usage, based on the current usage of the
93095 automake now to do it all for us. As a result, many of these vars
93098 Further, some of the source file generation (e.g. .c files, or igen,
93100 care of dependency tracking for us with the object files.
93105 Since we use AC_SEARCH_LIBS to find dlopen, we don't need to hardcode
93215 The old test would append argv[0] to find the file, while the new
93216 test uses basename on it. Each method works in only one of the
93224 This test assumes that /bin/sh will never be a CRIS ELF by way of
93251 The erc32 sim does a lot itself, including handling of the CLI. It
93258 Simplify this by linking the two programs via ln/cp instead of running
93263 Note: the interf.o reference in here is a bit of a misdirect. Since
93290 sim: ppc: drop use of DATE & TIME
93299 after the last DW_MACRO_end_file, instead of before the first
93304 macros/29034 was opened for GDB to keep track of this.
93307 for all current versions of Clang. The workaround detects when
93320 …AVR Linker: Allow the start of the data region to be specified on the linker command line. [Fix P…
93324 (MEMORY): Use __DATA_REGION_ORIGIN__ as the start of the data region.
93326 AVR Linker: Allow the start of the data region to specified on the command line.
93330 (MEMORY): Use __DATA_REGION_ORIGIN__ as the start of the data region.
93335 Since all host files we compile use these settings, move them out of
93336 libcommon.a and into the default AM_CPPFLAGS. This has the effect of
93348 building of common sim files.
93351 A bunch of these paths don't include any headers, and most likely
93363 ';' does not always indicate the start of a comment, and commit
93365 instances of ';' with '@' in expected diagnostics, leading to tests
93404 Instead write this as &info_ex.StartupInfo (which is always of the
93413 nature of LONG_DOUBLE_MNEM_SUFFIX said commit, however, has led to these
93420 Comparing the sum of the relevant .imm<N> fields against a constant imo
93421 makes more obvious what is actually meant. It allows dropping of two
93424 This also increases the chances of the compiler doing the calculations
93456 when it has the same address of $d. Try to add the removed $x+arch back
93458 (riscv_mapping_state): Updated since parameters of make_mapping_symbol are
93487 (prefix_table): New entry for msrlist.
93517 (rm_table): New entry for wrmsrns.
93739 contains a string that describes the assembler syntax of the
93743 prefixed with a '%'. Here's an example of a very simple instruction
93748 The '%a' indicates a particular type of operand, the function
93750 statement that handles the '%a' operand, and takes care of printing
93768 end of the instruction disassembly.
93770 The next complexity is that the meaning of some escape sequences is
93778 both of these are the '%d' escape.
93802 of a 'base_style'. Every character from the assembler string will
93817 multiple parts, all of which have a consistent meaning, then I
93819 with the correct style. This will cover a large number of the
93848 a small number of styles are currently used.
93850 I have updated arm-dis.c to the above scheme, and checked all of the
93858 I can't guarantee that I've not missed some untested corners of the
93871 I then spotted a couple of places where there was no ';', but instead,
93872 just a '@' character. I thought that this was a case of a missing
93910 '@' consistently as its comment character, and remove all the uses of
93915 There's obviously a *lot* of tests that get updated by this commit,
93927 occurences of this type of bug.
93935 changed. The number of hardware registers needed for a watchpoint can
93939 **global_ptr_ptr has not yet been initialized. Once the value of
93988 global_ptr_ptr = &global_ptr. This changes the set of locations to be
93989 watched for the watchpoint **global_ptr_prt. The list of addresses for the
93990 breakpoint consist of the address for global_ptr_prt, global_ptr and buf.
94014 call to setup each of the three address for breakpoint 4. The slot
94048 "anyimm" static variable. Instead of using it in the loop to mask
94051 post-loop masking by "mask" ahead of the operand_type_all_zero() can be
94090 Inline initialization of gdbarch members
94092 inline. This required changing a couple of the Value instantiations
94093 to avoid a use of "gdbarch" during initialization, but on the whole I
94121 (md_assemble): Add warning for illegal input of PREFETCHI.
94154 Clang attempts to minimize the size of the debug-info by not adding
94158 construct any object of type B in that file.
94166 failure when printing the type of a class with an internal typedef. This
94174 RX assembler: switch arguments of thw MVTACGU insn.
94211 end of the shndx_pool buffer. Fix this by scanning the pool directly.
94226 Wrap an overlong line in the definition of `param_integer_error' in
94234 argument list) are deprecated forms of indefinite arguments
94255 forms of indefinite arguments passing ("-Wdeprecated-non-prototype").
94264 callback (callback) argument of an IRQ.
94271 forms of indefinite arguments passing ("-Wdeprecated-non-prototype").
94276 (cfunc) argument of an event. int32_t is chosen because "event" function
94284 argument list) are deprecated forms of indefinite arguments
94309 get rid of the copies, but I'm not addressing that in this commit. ]
94345 of the echo.
94403 Because of a Libiberty hack, getopt on GNU libc (2.25 or earlier) is
94409 is detected while configuration), a declaration of getopt in
94421 Getting rid of "include/getopt.h" (e.g. renaming this header file) is the
94451 RISC-V: Always generate mapping symbols at the start of the sections.
94452 Before figuring out the suppress rule of mapping symbol with architecture
94453 (changed back to $x), always generate them at the start of the sections.
94499 limiting the "length" of an instruction to 64-bit (or less).
94511 Some versions of gcc warn by default about shadowed outer-scope
94535 This is caused by a false positive of "maybe uninitialized" variable
94543 positive of maybe uninitialized variable detection.
94596 are different. Besides, always add $x+arch at the start of section, and do
94598 from addend of R_RISCV_ALIGN.
94609 subset_list of riscv_rps_as, rather than only release arch_str in the
94612 from subset_list of riscv_rps_as.
94614 symbol of each segment.
94616 * testsuite/gas/riscv/mapping.s: New testcase, to test most of the cases in
94635 * MAINTAINERS(C-SKY): update e-mails of Lifang & Yunhai.
94811 Fix this by adding mi_gdb_exit to the end of the test-case, as in many other
94820 [gdb/testsuite] Use remote_exec chmod instead of remote_spawn
94838 The expected series of events is (skipping disconnect and detach as I don't
94876 …lfnn-riscv.c:4256:30: error: operand of ‘?:’ changes signedness from ‘int’ to ‘unsigned int’ due t…
94890 of the object laid out for the large section. That means a large
94893 due to the error. Avoid some of this silliness.
94926 Relocation section '.rel.plt' at offset 0x128 contains 1 entry:
94975 The possible values of this bit are:
94992 RM, B3.19 Exception entry, context stacking
94997 2. If exception entry requires a transition from Secure state to
95001 So we should test for !exception_domain_is_secure instead of non-negated
95005 But another test of exception_domain_is_secure (negated due to the
95045 (gdb) si <-- used to rebuild frame cache after change of unwind-secure-frames
95073 In the lockup state the PC value of the the outer frame is irreversibly
95075 PC of some frame next to the outer one, but we cannot analyze
95081 value of the lockup state.
95114 There is a visible drawback of emitting a warning in a cache buildnig routine
95123 fewer lines of code, and to make sure to not leak open file handles.
95134 The current logic limits itself to a maxdepth of 4 when looking for
95136 at a depth of 5 which we end up ignoring when summarizing. Rather
95138 the exact set of tests that we tried to run.
95145 * peXXigen.c (_bfd_XX_print_ce_compressed_pdata): Use smaller of
95146 virt_size and bfd section size as limit of function table.
95152 section, not the reloc section. So using this_hdr gave the size of
95179 reloc is converted to 0xff R_RESERVED, and a default of zero is better
95292 version of the linker
95296 # of untested testcases 1
95304 $ for f in $(find gdb/testsuite/gdb.* -name *.S); do
95330 spawn of --once --multi localhost:2346 failed
95346 I wrote this as a macro in order to have the rethrowing throw be part of the
95386 then resolve them at the end of the section. Assuming the number of
95387 R_RISCV_DELETE is m, and the number of symbols is n, the total link complexity
95397 (typedef relax_delete_t): Function pointer declaration of delete functions.
95404 relocations from a section, at the end of _bfd_riscv_relax_section.
95425 gdb/doc: reword description of DisassembleInfo.read_memory
95426 While reading the documentation of DisassembleInfo.read_memory I
95494 I have no clue, however, to keep the structure of the code unchanged,
95534 sim/sh: use fabs instead of abs
95535 The sh simulator incorrectly uses integer abs instead of the floating
95541 The preferred way of rethrowing an exception is by using throw without
95542 expression, because it avoids object slicing of the exception [1].
95555 The preferred way of rethrowing an exception is by using throw without
95556 expression, because it avoids object slicing of the exception [1].
95569 If a custom arm-elf target is disabling the shared support, a lot of
95591 purpose of a test is assembler functionality: Drop all
95602 purpose of a test is assembler functionality: Drop all
95614 When no AVX512-specific functionality is in use, the disassembly of
95618 Where applicable drop stray uses of PREFIX_OPCODE from table entries.
95637 Now that we run `check/foo.exp` instead of `check/./foo.exp`,
95644 sim: testsuite: tweak parallel find invocation [PR sim/29596]
95646 parallel as it will find when run single threaded. When `runtest` finds
95648 `find .` with the %p option, it produces "./aarch64/allinsn.exp". Switch
95674 gdb/testsuite: add max number of instructions check in gdb.base/unwind-on-each-insn.exp
95675 This test sends my CI in an infinite loop of failures. We expect to
95676 have a handful of iterations (5 on my development machine, where the
95758 What happens here is that an older version of gdb will make an index
95775 This patch fixes the problem by introducing the idea of a "type
95805 A user found a bug where an array of packed arrays was printed
95808 update_static_array_size does not distinguish between an array of
95813 given array type is a constituent of a multi-dimensional array.
95842 command "reverse next" to skip a recursive function, instead of skipping
95843 all of the recursive calls and stopping in the previous line, we stop at
95849 start of the function, then single step out of the prologue once that
95858 previous version of the patch.
95862 Change calculation of frame_id by amd64 epilogue unwinder
95870 would place a step_resume_breakpoint from the epilogue of a function if
95879 regardless of using the epilogue unwinder or not, thanks to Andrew
95887 * po/hu.po: Updated Hungarian translation.
95893 `gdb.parameter' accept `None' for `unlimited' with parameters of the
95895 `None' is already returned by parameters of the two former types, so
95898 for the special setting of `unlimited'.
95909 already covered, and verify a choice of existing GDB parameters. Add
95918 Do not assert that a value intended for an integer parameter, of either
95991 Because of this, this commit removes this substitution.
96023 In a later commit in this series I will propose removing all of the
96027 One of the side effects of this generic mechanism is that the order in
96031 On the whole I don't think this matters, most of the sub-systems are
96032 independent of each other, though testing did reveal a few places
96044 Previously we depended on the ordering of calls to
96060 In a later commit in this series I will propose removing all of the
96064 One of the side effects of this generic mechanism is that the order in
96068 On the whole I don't think this matters, most of the sub-systems are
96069 independent of each other, though testing did reveal a few places
96074 commit, all of the implicit inter-sub-system dependencies will be
96082 py_insn_get_insn_type. This function will take care of setting up the
96098 function signatures of static functions, but I've updated some
96107 gdb: make use of scoped_restore in unduplicated_should_be_inserted
96108 I noticed that we could make use of a scoped_restore in the function
96123 noticed a manual version of scoped_restore_selected_frame. As always
96181 words of the output, after which an implicit clause in gdb_test_multiple triggers
96222 See the remarks in rtld-step.exp for a description of what this
96240 RUNTESTFLAGS="CC_FOR_TARGET=clang" on all of the above expect for
96241 Fedora 28. The (old) version of clang available on F28 did not
96251 I have left one of the flags (-static) in place which I believe
96260 Allow debugging of runtime loader / dynamic linker
96261 At present, GDB does not allow for the debugging of the runtime loader
96262 and/or dynamic linker. Much of the time, this makes sense. An
96284 Unlike other substitution, this substitution of @PROGRAM@ was done in
96306 Regen ld/po/BLD-POTFILES.in
96359 The patch adjusts all calls sites. 99% of the adjustments were done
96373 of the section header is zero.
96381 …rc/sim/iq2000/iq2000.c:50:54: error: pointer targets in passing argument 3 of ‘sim_read’ differ in…
96404 The type of '& ddata[0]' will be 'uint32_t *', which is what triggers
96407 This commit makes use of memcpy when performing the type-punning,
96490 instead of in build/gdb/testsuite/output/gdb.gdb/unittest/.
96492 This is because some of the 'maint selftest' tests create temporary
96499 we only run the second of these as part of GDB's selftests.
96535 build/gdb/testsuite directory instead of using the
96596 Relocs like PC32DBL require a right shift of the symbol value. There
96640 The hardware watchpoint check has been updated in a couple of recent
96645 exception of Power 9. The hardware watchpoint support is disabled on
96654 patch reduces the number of expected passes by 2 since because it now
96659 The number of expected passes is cut in half with the patch as it now only
96716 Cannot find thread-local storage for Thread 29613.29613, executable file \
96784 find the correct instance in case the same name is provided in more than
96788 namespace of the current_objfile argument. If no current_objfile is
96801 the debug base as part of svr4_iterate_over_objfiles_in_search_order().
96822 iterate over objfiles and are not aware of linker namespaces.
96837 There is only one use of find_quick_global_symbol_language that calls it
96841 where we may have multiple instances of global symbols with the same name
96853 to impact of linker namespaces.
96855 Recursive grep only finds two occurrences of hppa_lookup_stub_minimal_symbol:
96864 Iterate over objfiles in search order using the objfile of the selected
96872 Iterate over objfile in search order using the objfile of the context
96878 symbol of each exception. With linker namespaces there can be multiple
96884 The implementation of gdb.lookup_objfile() iterates over all objfiles and
96890 namespace of gdb.current_objfile() for the search, which defaults to the
96913 to be used together with start and prev to provide the namespace of start
96923 to provide the namespace of a library entry to GDB.
96925 This implementation uses the address of a namespace's r_debug object as
96937 executable. The load map address of this main executable is provided in
96938 an attribute of the library-list-svr4 element.
96941 to where we generate the rest of the library-list-svr4 element. This
96965 2. Add solib_svr4_r_next to find the link map in the next namespace from
96979 namespace zero for a flat list of solibs from all namespaces. Subsequent
97011 x86: generalize gas documentation for disabling of ISA extensions
97012 As of commit ae89daecb132 ("x86: generalize disabling of sub-
97013 architectures") there's no arbitrary subset of ISAs which can also be
97062 a number of gdbarch methods in gdbarch-components.py. With the extra
97074 earlier versions of gdb.
97189 Allow explicit size specifier for predicate operand of {sq, uq, }{incp, decp}
97190 …ate size specifier in vector form of {sq, uq, }{decp, incp} is deprecated and will be prohibited i…
97191 …/ddi0602/2021-09/SVE-Instructions/DECP--vector---Decrement-vector-by-count-of-true-predicate-eleme…
97193 …This allows explicit size specifier, e.g. `decp z0.h, p0.h`, for predicate operand of these SVE in…
97194 The existing behaviour of not requiring the specifier is preserved.
97219 aarch64: Tweak handling of F_STRICT
97221 rather than as part of the match. This makes it impossible to
97238 the AVX512_4VNNIW ones this is kind of an abuse (as 's' there stands for
97250 can be re-used for AVX512-VNNI, at the same time fixing the lack of
97262 More uses of checked_static_cast
97263 This patch changes a few more uses of static_cast to use
97265 by moving the dereference outside of the cast, as checked_static_cast
97271 I looked through all the uses of static_cast<... *> in gdb and
97272 converted many of them to checked_static_cast.
97274 I couldn't test a few of these changes.
97340 Setting SP of the next frame to the same address as the current frame
97352 overview of the various boards.
97366 For completeness sake and to avoid confusion about which of the two used strip
97382 warning: Unable to find dynamic linker breakpoint function.^M
97396 Fix this by checking the result of the call to bfd_get_section_contents.
97442 instead of the expected:
97480 - moving the content of local-remote-host-notty.exp into
97514 purposes of this test-case it seems sufficient to just add:
97568 Where sub and subf forms of an instruction exist we generally
97592 with get_powerpc_dialect. I don't think there is. Decoding of a VLE
97597 Background: Some versions of powerpc e200 have "Lightweight Signal
97601 have the same encoding. So none of the processor descriptions in
97603 want disassembly to work. I also could not find anything to suggest
97608 e200z2 cpu entry with LSP support, removing LSP from -me200z4 and from
97609 -mvle. (Yes, I know, as I said above some of the e200z4 processors
97611 of z2 as meaning earlier, z4 as later.) Also add -mlsp to allow
97641 PR29677, Field `the_bfd` of `asymbol` is uninitialised
97642 Besides not initialising the_bfd of synthetic symbols, counting
97645 anyway, so get rid of them. Also, simplify and correct sanity checks.
97668 so apparently it's taken care of by gdb_compile_shlib.
97686 When running with native, I find that the executable is static:
97715 Fix this by using ldflags instead of additional_flags.
97717 Likewise, fix all occurrences of:
97719 $ find gdb/testsuite -name *.exp | xargs grep additional_flags.*Wl
97731 of the target board to "-fPIE -pie".
97737 shared libs, because the multilib_flags will override the attempts of
97738 gdb_compile_shlib to compile with -fPIC. This is taken care of by running the
97739 body of gdb_compile_shlib wrapped in with_PIE_multilib_flags_filtered.
97742 current approach is to do the compilation hoping for the best, and if we find
97807 Volume II: Privileged Architecture of the RISC-V ISA Manual states that the
97831 Before changing the core disassembler, we take care of minor code clarity
97845 Before changing the core disassembler, we take care of minor code clarity
97858 Before changing the core disassembler, we take care of minor code clarity
97861 This commit replaces uses of int with bool whenever possible.
97873 Before changing the core disassembler, we take care of minor code clarity
97876 This commit takes care of improper spacing for code clarity.
97885 Before changing the core disassembler, we take care of minor code clarity
97888 First, we need to clarify the roles of variables and code portions.
97928 This is a part of small tidying (declare tables in riscv-opc.c).
97960 exception of Power 9. The hardware watchpoint support is disabled on
98007 [gdb/testsuite] Fix gdb.dwarf2/entry-value-typedef.exp with -m32
98008 With test-case gdb.dwarf2/entry-value-typedef.exp and target board unix/-m32,
98012 gdb/testsuite/gdb.dwarf2/entry-value-typedef-amd64.S \
98014 -o outputs/gdb.dwarf2/entry-value-typedef/entry-value-typedef^M
98015 entry-value-typedef.cpp: Assembler messages:^M
98016 entry-value-typedef.cpp:38: Error: bad register name `%rbp'^M
98087 exception of Power 9. The hardware watchpoint support is disabled on
98242 After the recent series of fixes to mark more functions in the
98249 This commit fixes all of the issues that I ran into.
98261 uses objcopy instead of $OBJCOPY. Fix this.
98279 Having two overloads of target_read_auxv that don't have the same goals
98298 There's a flaw in the interaction of the auxv caching and the fact that
98354 the core file. Because some implementations of
98365 flexibility of reading from an arbitrary (passed as an argument) target,
98366 the caching doesn't do the distinction of which target is being queried,
98385 a handful of queries max, done at this point, and reading core files is
98412 parsing entries. Not strictly related to the rest of this change,
98423 - Call sites of linux_get_hwcap and linux_get_hwcap2 are adjusted to
98424 use either of the new versions. The call sites in
98431 - Call sites of target_auxv_search that passed
98464 Re: Error: attempt to get value of unresolved symbol `L0'
98488 argument list) are deprecated forms of indefinite arguments
98492 include/getopt.h defines some getopt function definitions but one of them
98498 However, this definition is now a cause of problems on modern environments.
98501 binutils/*.c). This is because configuration scripts of binutils, gas,
98502 gprof and ld tries to find known definition of getopt function is used and
98504 included, a good form of getopt is used and Clang won't generate warnings.
98506 This commit adds a modified portion of ld/configure.ac to find the known
98507 getopt definition. If we could find one (and we *will* in most modern
98514 Clang generates a warning if the format string of a printf-like function is
98551 Clang generates a warning if the format string of a printf-like function is
98563 Clang generates a warning if the format string of a printf-like function is
98578 Clang generates a warning if the format string of a printf-like function is
98590 Clang generates a warning if the format string of a printf-like function is
98602 Clang generates a warning if the format string of a printf-like function is
98614 Clang generates a warning if the format string of a printf-like function is
98626 Clang generates a warning if the format string of a printf-like function is
98670 refactor usage of compressed_debug_section_type
98716 Error: attempt to get value of unresolved symbol `L0'
98730 This commit adds its own rule for the directory stamp (modified copy of the
98737 gdb/testsuite: Fix formatting of python script
98745 I noticed in capture_command_output that the output of a single command is
98797 gprofng: use the --libdir path to find libraries
98804 * src/envsets.cc (putenv_libcollector_ld_misc): Use LIBDIR to find
98854 the end of the buffer. If there's anything following the prompt, it
98878 print_wchar keeps track of when escape sequences are emitted, to force
98884 for octal escapes, because there is a length limit of 3 for octal
98900 This renames c_printstr, removing a layer of indirection.
98903 This renames c_emit_char, removing a layer of indirection.
98906 This changes 'need_escape' in generic_emit_char to be of type bool,
98925 fixes the problem. In mos cases I chose to preserve the use of
98934 Detect a trailing ^C/^D in the command argument of gdb_test_multiple, and
98967 and, at the same time, adds the base address of the symfile into the
98978 As an example of how this is useful, here's the output of 'maint info
98985 And here's part of the output from 'maint info symtabs':
99012 used; this argument had a default value of nullptr, and the only call
99017 account of a filename parameter, it seems pointless to maintain an
99040 Add some extra 'threads' debug in a couple of places in thread.c.
99046 extra level of indentation, this looks a little nicer I think.
99052 tarballs based upon a fixed timestamp of <date>.
99074 the internals of the class. Finally, attempting to reinflate when the
99081 chec-perf GDB_PERFTEST_MODE=run` showed an actual reduction of around
99082 10% of time running.
99086 Some of them can seem to be testing the same thing twice, but since this
99097 This changes GDB to use frame_info_ptr instead of frame_info *
99117 This adds frame_info_ptr, a smart pointer class. Every instance of
99120 This should help catch the typical GDB bug of keeping a frame_info
99130 this for a version of this series that I later abandoned; but since it
99137 gdb/testsuite: use 'end' at the end of python blocks
99138 Within the testsuite, use the keyword 'end' to terminate blocks of
99140 find three instances of this, all in tests that I originally wrote. I
99141 have no memory of there being any special reason why I used \004
99142 instead of 'end' - I assume I copied this from somewhere else that has
99145 Non of the tests being changed here are specifically about whether
99160 To merge with gcc's copy of configure.ac we need to revert changes to
99183 Merge both implementations of debug_names::insert
99184 The class debug_names has two 'insert' overloads, but only one of them
99195 # of expected passes 8
99199 # of expected passes 8
99200 # of unexpected failures 4
99203 The extra FAILs are of the form:
99302 WARNING: Skipping backtrace and break tests because of GDB stub.
99410 the current frame. See "Lazy context save of FP state", in B1.5.7,
99420 0x0022446688aaccee as an example) to one of the D-registers (D0 as
99423 0x0099aabbccddeeff) to one of the D-registers (D0 as an example)
99426 the value of the D-registers for the SVC_handler frame and the
99427 SysTick_Handler frame. With the patch, the value of the modified
99438 decls") I noticed that quite a bit of code in read_func_scope is used to decide
99452 Add a couple of missing nullptr checks in the function
99465 functions being instrumented make sense as part of the infrun process,
99478 Extend the existing debug printf call to include the previous state of
99493 the constant literal of the "Xl..." operand.
99529 This commit makes types of printf arguments on riscv_disassemble_data
99531 the cost of printf (especially on 32-bit host).
99569 make[4]: Entering directory '/home/alan/build/gas/all/bfd/po'
99570 …to make target '../elf32-aarch64.c', needed by '/home/alan/src/binutils-gdb/bfd/po/bfd.pot'. Stop.
99582 scanning of the operand string to find the matching opening parenthesis.
99743 * README-maintainer-mode: Add a minimum version of dejagnu
99759 This patch adds those and makes the SVE versions of FPSR and FPCR
99766 style. Add that support, which meant a rewrite of
99779 changing between any of the three compression schemes. Report
99845 It's fully redundant with the subset_list member of riscv_rps_as.
99871 …unittests/environ-selftests.c:228:7: error: moving 'env' of type 'gdb_environ' to itself [-Werror=…
99887 [AArch64] Handle W registers as pseudo-registers instead of aliases of X registers
99888 The aarch64 port handles W registers as aliases of X registers. This is
99891 This patch teaches GDB how to handle W registers as pseudo-registers of
99892 32-bit, the bottom half of the X registers.
99898 [AArch64] Fix pseudo-register numbering in the presence of unexpected additional registers
99903 But given the pseudo-register numbers are above the number of real registers,
99905 numbering the pseudo-registers. This has to happen at the end of
99907 updates the total number of real registers.
99922 This location of supervisor instructions is out of place (because many other
99940 find the baseclass if the user is not using the typedef'd name, as is
99943 original definition of the baseclass, not to the typedef. If the
99948 D::Bint::i, and GDB not being able to find the baseclass Bint.
99953 able to find the typedef'd name anymore. This is fixed by searching for
100031 report that every test passed! The tail end of the output looks like
100038 # of expected passes 115
100064 different, the tail end of the output now looks like this:
100069 find: ‘outputs’: No such file or directory
100078 sum-file A test summary file with the format of those
100080 If -L is used, merge *.log files instead of *.sum. In this
100081 mode the exact order of lines may not be preserved, just different
100083 find: ‘outputs’: No such file or directory
100092 sum-file A test summary file with the format of those
100094 If -L is used, merge *.log files instead of *.sum. In this
100095 mode the exact order of lines may not be preserved, just different
100103 first `find` failing, followed by the dg-extract-results.py script
100108 all the tests, and finally we use find and dg-extract-results.py to
100111 so the find command and consequently the dg-extract-results.py script,
100116 (1) For check-single and check-parallel rules, don't run any of the
100118 the noise after the initial failure of DejaGnu,
100148 One of the comments helpfully links to this Python test case:
100195 the test now print 'No result!' - instead of styling the '+' in the
100202 instead of the 'asm' lexer.
100210 treats '#' as an error, which means, with the addition of the
100215 than for comments, we can easily "fix" Pygments parsing of the
100218 a comment token. Every token after this (until the end of the line)
100235 4. If Pygments throws an exception, instead of returning None,
100256 never tried to make an exhaustive check of all instructions, so its
100273 While working on another issue relating to GDB's use of the Python
100277 The intention of the current code is that, should the Pygments package
100309 1. Factors out some of the condition checking logic into two new
100318 3. Make use of the new condition checking functions each time
100322 function to return None, this will cause GDB to disable use of
100367 gdb: final cleanup of various gdbarch_register_name methods
100373 In all cases the return of NULL was used if the register number being
100375 greater than the total number of declared registers. I don't believe
100376 either of these cases can occur, and the previous commit asserts that
100380 correct number of strings, after that, a direct access into the array
100383 I don't have any means of testing these changes.
100389 instances of 'return NULL' from csky_pseudo_register_name, and replace
100390 them with a return of the empty string.
100393 own commit, because these returns of NULL appear to be depended on
100394 within other parts of the csky code.
100401 I have no way of testing this change.
100415 'result_checks'. Each of these new arguments can be used to list some
100433 interact with one copy of the register.
100442 both of these cases the 'dabr' register appears twice, there's a
100443 definition of dabr in power-oea.xml which is included into both
100444 powerpc-604.xml and powerpc-750.xml. Both of these later two xml
100462 of the problematic descriptions.
100471 each of powerpc-604.xml and powerpc-750.xml, then regenerate the
100490 etc. This commit doesn't attempt to address these cases as non of
100491 them are hit during the selftest. Many of these cases can never be
100496 A later commit in this series will have a general cleanup of all the
100502 suitable systems to fully test any of the *-tdep.c code I've changed
100548 The problem is caused by a mismatch in the output of 'maint print
100551 expected. Additionally, the list of registers extracted from the
100555 Both of these problems have the same root cause, riscv_register_name
100562 available on the current target. Indeed, there are plenty of places
100563 in GDB where we compare the output of gdbarch_register_name to both
100565 and there are plenty of targets that return empty string in some
100596 Only a handful of architectures failed this test, RISC-V being one of
100617 native Linux target. Upon investigation I discovered a couple of
100618 reasons for the failure, this commit addresses one of them. A later
100621 The completion.exp test makes use of the capture_command_output proc
100622 to collect the output of the 'maint print registers' command. For
100623 RISC-V this command produces a lot of output.
100629 This commit rewrites capture_command_output to make use of
100635 handle this correctly (only matching the prefix at the start of the
100638 second gdb_test_multiple call then collects the rest of the command
100643 of the proc.
100655 possible in one part of the pattern before moving on to the next.
100660 of the returned text, but not the final trailing '\n'.
100662 Now clearly I could make a new version of capture_command_output that
100667 This change doesn't seem to affect any of the existing tests, but I
100674 the opcode bytes of an instruction (see /r vs /b for the disassemble
100679 which currently has 6 different values (0 -> 5), 3 of these modes
100714 My hope is that new users of the MI will not use the mode at all, and
100727 gdb/doc: update syntax of -data-disassemble command arguments
100741 However, this is not true, one of the location specifications must be
100754 indication that these are a group, from which one of the options,
100762 Neither of those exactly describe what I want, which is GROUP must
100785 This commit changes the format of 'disassemble /r' to match GNU
100792 Dump of assembler code from 0x1018e to 0x1019e:
100798 End of assembler dump.
100803 Dump of assembler code from 0x1018e to 0x1019e:
100809 End of assembler dump.
100812 the patch are grouped based on the size of the instruction, and are
100824 Dump of assembler code for function main:
100831 End of assembler dump.
100836 Dump of assembler code for function main:
100843 End of assembler dump.
100847 the instruction bytes. This matches the behaviour of objdump.
100857 Dump of assembler code from 0x1018e to 0x1019e:
100863 End of assembler dump.
100881 this command now requests the raw bytes of the instruction, which is
100888 This commit reduces the number of times we call read_code when
100902 Add another test for the output of MI command -data-disassemble. The
100903 new check validates the format of the 'opcodes' field, specifically,
100904 this test checks that the field contains a series of bytes, separated
100969 RISC-V: Eliminate long-casts of X_add_number in diagnostics
100976 Several new testcasee have appeared since the submission of said change,
100977 some of which now also need adjustment.
100980 Pre- and post-increment/decrement are side effects, the behavior of
100981 which is undefined when combined with passing an address of the accessed
100986 objcopy: avoid "shadowing" of remove() function name
100992 presently they aren't. This fixes disassembly of these insns with
100998 For disassembly to pick up aliases in favor of underlying insns (helping
100999 readability in the common case), the aliases need to come ahead of the
101000 "base" insns. Slightly more code movement is needed because of insns
101003 Note that the "rorw" alias entry also has the missing INSN_ALIAS added
101023 dependency of i386-gen.o on i386-opc.h.
101028 At the example of
101033 (both having respectively the same mistake of using the wrong kind of
101038 be the one where we passed the largest number of checks. Generalize the
101048 only pointless, but has led to the introduction of various workarounds:
101049 Excessive use of IgnoreSize and NoRex64 as well as the ToDword and
101056 number of IgnoreSize and NoRex64 can also be got rid of. Note that
101064 isn't included there. This is to fulfill the request of not allowing L
101070 Update handling of e_flags according to the documentation
101141 certain subset of RISC-V instructions).
101207 This is due to this slightly convoluted bit of code:
101221 The purpose of "i = staticp ? 0 : 1" is to skip the printing of the implicit
101224 In commit 5f4d1085085 ("c++/8218: Destructors w/arguments"), skipping of other
101235 - keep track of how many arguments are printed, and
101243 Note that I consider the discussion of whether we want to print:
101246 out-of-scope for this patch.
101281 Constify the input parameters of the various auxv parse functions, they
101297 correcting a prominent source of ODR violations in PowerPC-related target code.
101298 The majority of files/changes are mechanical const-ifications accomplished by
101336 (Output Options): Add entry for -B.
101400 having an index type of Character, which is completely valid in Ada.
101409 The help document of size misses an option.
101418 segment warnings. In this case, the first test of PR ld/29072 will fail.
101430 of grep.
101454 The help document of as misses some many options
101469 flag may not be available with older versions of grep.
101471 This patch fixes bare invocation of egrep within binutils, replacing
101542 Because the cause of this error is in the Bison-generated code
101545 DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE macro at the end of user
101617 $1 = Python Exception <class 'gdb.error'>: Cannot take address of method length.
101622 -prompt option of gdb_test.
101626 it's a typo. It's supposed to be -prompt, like gdb_test. I can't find
101647 timeout for the whole duration of the setup and body. On my optimized
101648 build, the command takes just a bit more than the current timeout of 10
101657 binutils/testsuite: handle the different install names of c++filt
101672 Simply untested the related tests instead of crashing.
101696 PR29613, use of uninitialized value in objcopy
101715 nearest_line code of that sanity checking, and tidies up memory
101732 any AC_REQUIREd autoconf macro expansions outside of the conditional.
101753 When a source file's dirname is solely made up of directory separators
101754 we end up trying to dereference the last character of an empty string
101759 With libstdc++.so.6.0.28 we get no out-of-bounds checks and the byte
101760 preceding the storage of the empty string is returned. The character
101761 value of this byte depends on heap implementation and usage, but when
101762 this byte happens to hold the value of the directory separator character
101783 that the for loop after it was also unused. After a period of smoke
101792 "section extending past end of file", "corrupt string table index",
101796 object file with 6144 program headers, 5316 of which had invalid
101802 read_only, as is done for the "section extending past end of file"
101803 warning, but that still results in an unacceptable number of
101812 of solving the archive problem. A warning when recursing into
101813 _bfd_check_format for the first element of the archive (to find the
101819 private copies of target xvecs.
101852 entries to describe the location of the user stack for the initial
101855 This change displays the proper name and description of these entries
101890 Note that using "make check" instead of "make check-read1" only shows
101929 window gets redrawn with the contents of the f2.c file. Then, GDB
101931 then returns. The state of the terminal is therefore correct for the
101992 completion of the "step" command. The subsequent tests now run with a
102004 when it prints file names. This way, regardless of where you run the
102009 the root issue of `proc wait_for` being confused. However, it makes TUI
102010 test runs be more similar for everyone, such that there's less chance of
102041 be set up too, since pdb claims to be of format bfd_archive.
102069 Recent version of dejagnu (1.6.3, installed on RHEL-9) includes ba60272
102073 and has default_target_compile call `find_gcc` itself to find a compiler
102095 We are observing this error with ROCgdb[2], a downstream port of GDB
102096 supporting AMD GPUs. This port needs to use GDB's override of
102109 Patch tested on x86_64 RHEL-9 and ubuntu-20.04 on top of GDB and ROCgdb.
102119 T-Head has a range of vendor-specific instructions.
102121 in form of vendor extensions.
102123 This patch adds the XTheadMemPair extension, a collection of T-Head specific
102142 parameter as part of the asssembly code.
102149 T-Head has a range of vendor-specific instructions.
102151 in form of vendor extensions.
102153 This patch adds the XTheadMemIdx extension, a collection of T-Head specific
102159 (BU,HU,WU only for loads (zero-extend instead of sign-extend)):
102172 T-Head has a range of vendor-specific instructions.
102174 in form of vendor extensions.
102176 This patch adds the XTheadFMemIdx extension, a collection of
102188 T-Head has a range of vendor-specific instructions.
102190 in form of vendor extensions.
102192 This patch adds the XTheadMac extension, a collection of
102204 T-Head has a range of vendor-specific instructions.
102206 in form of vendor extensions.
102208 This patch adds the XTheadCondMov extension, a collection of
102220 T-Head has a range of vendor-specific instructions.
102222 in form of vendor extensions.
102224 This patch adds the XThead{Ba,Bb,Bs} extensions, a collection of
102238 being the number of bits and S the LSB position.
102240 For example an immediate field of 5 bytes that encodes a signed value
102241 and is stored in the bits 24-20 of the instruction word can use the
102249 T-Head has a range of vendor-specific instructions.
102251 in form of vendor extensions.
102253 This patch adds the XTheadSync extension, a collection of
102265 T-Head has a range of vendor-specific instructions.
102267 in form of vendor extensions.
102269 This patch adds the XTheadCmo extension, a collection of T-Head specific
102285 To clarify this is intended behaviour, there is a set of negative test
102299 This patch introduces changes that allow the integration of vendor ISA
102301 * Define a list of vendor extensions (riscv_supported_vendor_x_ext)
102306 To add a vendor extension that consists of instructions only,
102309 * Add lookup entry in riscv_multi_subset_supports
102325 - easily get the number of CUs or TUs in all_units, and
102328 This minimizes the use of tu_stats.nr_tus.
102345 * sh-dis.c (print_insn_sh): Enforce bit7 of LDC Rm,Rn_BANK and STC
102352 that are written but not read thereafter. But it can be harmful if some of
102358 such cases. A typical use of this macro is to place this macro before the
102359 end of user prologues on Bison (.y) files.
102372 Gnulib generates a warning if the system version of certain functions
102378 cases. A typical use of this macro is to place this macro before including
102410 window name could be printed and ensure that the use of a space didn't
102422 what if we want to add more in the future? Or use of the special
102434 with the addition of this change, but hopefully adapting to the new
102454 gdb.base/skip.exp was making use of a fixed number of step commands to
102496 descriptive. The new log looks like this, independently of compiler used:
102571 many failures because one of the version of the foo function was being
102578 when trying to step out of functions, since clang requires one fewer
102579 step when compared to gcc. The inferior gets increasingly out of sync
102580 as the test continues because of this difference, which generates those
102591 Change gdb.base/skip-solib.exp deal with lack of epilogue information
102594 line of the function, instead of associating it with the closing brace,
102616 Different compilers link the epilogue of functions to different lines.
102617 As an example, gcc links it to the closing brace of the function,
102618 whereas clang links it to the last statement of the function. This
102629 of the -B flag added to gcc calls. This flag ensure that gcc is invoking
102632 When launching the testsuite outside of the build tree, the links made
102650 Instead of letting tcl raise an error when trying to access this
102670 But most of them has a reasoning to keep them:
102730 A file that consists of a list of files doesn't depend on those files
102740 Making info in po
102741 make[3]: Entering directory '/build/gas/all/bfd/po'
102742 cd .. && make po/SRC-POTFILES.in
102743 cd .. && make po/BLD-POTFILES.in
102763 * Makefile.am (po/BLD-POTFILES.in): Don't depend on $(BLD_POTFILES).
102764 (po/SRC-POTFILES.in): Don't depend on $(SRC_POTFILES).
102769 gdb_bfd.c and remote.c contain identical implementations of a
102780 Converting from free-form macros to an enum gives a bit of type-safety.
102791 an errno that represents an error instead of 0 (which reprensents no
102792 error). But it's not clear what the consequences of that change would
102793 be, so I prefer to err on the side of caution and just keep the existing
102798 with a nonsensical value here. It's not good, but out of the scope of
102802 a fileio_error instead of an int, and cascade the change in the whole
102812 of gdb/gdbserver/gdbsupport.
102853 This macro accesses indices 0 and 1 of the input string. However, `f`
102854 is a string_view of length 1, so it's incorrect to try to access index
102857 is concerned, index 1 is considered out of bounds.
102860 from a vector of to a vector of `const char *`. Another solution would
102884 getter, so all the call sites of the macro that are used as a setter are
102902 use the getter, so all the call sites of the macro that are used as a setter
102955 file symbols, but that comes with its own set of problems:
102999 of the field is to modify the return of the lookup, which was its
103001 problem of relocatable object files with the fix for PR2338, so this
103019 To avoid invalid invocation of preprocessor for build environment, we
103032 once we have enabled Ztso extension. This is intended to implement v0.1 of
103033 the proposed specification which can be found in Chapter 25 of,
103058 Since we have the same behaviors of CALL and CALL_PLT relocs in linker for now,
103096 Also record status of first alpha_vms_slurp_relocs call and return
103097 that for all subsequent calls. (The object format has one set of
103126 allows for the removal of some initialization code.
103155 The existing test script is updated to make use of the new library
103162 script, updating and adding new comments, and making use of
103163 proc_with_prefix in a couple of places.
103185 if -z combreloc. elf_link_sort_relocs redistributes the contents of
103187 R_LARCH_IRELATIVE may be out of relplt->contents now.
103200 Fix it by iterating through the inputs of .rela.dyn to find the slot.
103210 allocated separately, not slices of a large buffer.
103254 [gdb/symtab] Fix "file index out of range" complaint
103258 During symbol reading: file index out of range^M
103275 Fix the FAIL by reducing the scope of the "lowpc != highpc" condition to the
103290 hook for suppressing output of all but the first identical messages.
103292 See the comment at the beginning of bfd-errors.exp for details about
103302 Suppress printing of superfluous BFD error messages
103323 investigated further to find out how this came to be.
103328 If it turns out that knowing the quantity of messages might be useful,
103329 I've implemented the suppression mechanism by keeping a count of each
103332 count. I haven't implemented this though because I'm not convinced of
103372 This is due to incorrect handling of the argument in ppc64_sysv_abi_push_param.
103374 Fix this and similar cases, and expand the test-case to test handling of
103403 address 0x400608 starts at a line entry:
103427 address 0x004004c1 doesn't start at a line entry:
103437 - unifying behaviour between the archs by adding an explicit line number entry
103489 of assembler fixup handling convert the fx_pcrel fixup to one without
103505 * elfxx-riscv.c (riscv_implicit_subset): Moved entry of m after g,
103528 This commit adds ATTRIBUTE_UNUSED attribute to some of them, which means
103577 * libcollector/iotrace.c: Remove interposition of versioned functions.
103602 uses the previous element offset to find its header, and thus the next
103618 Some components of GNU Binutils will pass "-Wstack-usage=262144" when
103621 Clang (15.0.0 as of this writing) as "GCC >= 5.0".
103623 The option "-Wstack-usage" was ignored when the first version of Clang is
103692 On objcopy of fuzzed file.
103699 msan: vms-alpha use-of-uninitialized-value in dst_retrieve_location
103704 ubsan: arm-dis.c index out of bounds
103752 (gdb) FAIL: gdb.base/so-impl-ld.exp: step out of solib call
103755 regardless of compiler choices, and updates the exp file to
103756 generically deal with unknown number of steps until leaving that
103762 Currently, GDB's testsuite uses a set amount of step commands to exit
103782 Because of this, gdb.base/dprintf.exp was failing when GDB attempted to
103824 There are two sequences of instructions for long branch:
103895 I went through all the uses of dynamic_cast<> in gdb, looking for ones
103923 clang doesn't add encoding to the name of complex variables, only says
103949 instead of
103953 These symbols are local static variables, and "main" is the name of
103986 of this code, leading to the following differences when testing
103995 However, since the important part of this test doesn't seem to be which
103998 instead of assuming the ordering and naming of symbols.
104005 Use a separate explicit max_exports/imports field, instead of
104006 deducing it from the number of allocated elements. Use a named
104007 constant for the incremental growth of the array.
104009 Use bool instead of int for boolean values.
104015 into an array of structs.
104020 amount of changes ti pe-dll.c to avoid comparisons between signed
104023 Simply use xrealloc instead of a check and xmalloc/xrealloc;
104030 ld: pe: Improve performance of object file exclude symbol directives
104031 Store the list of excluded symbols in a sorted list, speeding up
104039 be very large numbers of excluded symbols (just like builds with
104040 exports can have a large number of exported symbols).
104043 numbers of excluded symbols.
104045 The later actual use of the excluded symbols within pe-dll.c
104085 The error message we see is due to the destructor of thread being called while
104088 This is supposed to be taken care of by thread.join (), but the ^C prevents
104101 The .gdb_index variant of commit d878bb39e41 ("[gdb/symtab] Support
104111 independent of prologue analyzers, using this change:
104118 ELFv2 ABI, a function can have a global and local entry point.
104121 entry point, so if the function is entered through the local entry point, the
104157 x86: avoid i386_dis_printf()'s staging area for a fair part of output
104160 for typically far more than half of the overall output results in a 2-3%
104161 performance gain in my testing (with debug builds of objdump, libbfd,
104164 With that part of output no longer using staging_area[], the array also
104168 While limiting the scope of "res" it became apparent that
104202 makeing a shard object, and the referenced symbols of R_RISCV_JAL
104204 of the cases here, so don't need the unresolvable check later for
104227 [gdb/symtab] Fix handling of DW_TAG_unspecified_type
104282 Not only that the most of vector CSRs are general purpose (and must be
104322 the end of the list of children, not at the start of the CU
104357 * README-maintainer-mode: Update minimum version of gettext
104375 #0 callee.increment (val=99.0, val@entry=9.18340949e-41, msg=...) at \
104382 expression for function entry values" (
104444 The second entry is interpreted as end-of-prologue, so 0x402580 is used, while
104445 the actual end of the prologue is at 0x40258c:
104499 reader that only reads up to 4 bytes, which is the length of a 32-bit
104502 Instead of returning a bool, we return instead the instruction that has been
104508 the coverage of the selftests.
104554 Likewise for getpid in a couple of other test-cases.
104579 Fix this by using bfd_find_nearest_line_with_alt instead of
104587 the addition of a parameter for specifying the filename of a supplementary
104600 gdb: move a write after approval entry into the correct place
104601 Noticed in passing that an entry in the MAINTAINERS write after
104633 This is identified by NULL value of disasm_option_arg_t.values
104652 because of this check in dwarf2_read_debug_names:
104663 The intention of the check is to make sure we don't have more that one
104731 This is identified by NULL value of disasm_option_arg_t.values
104736 * dis-asm.h (disasm_option_arg_t): Update comment of values
104758 * riscv/sim-main.c (execute_i): Use "ebreak" instead of "sbreak".
104795 The erc32 simulator currently has two copies of the function run_sim,
104796 one in sis.c, and one in interf.c, both of these copies are global.
104800 into multiple-definition (of run_sim) errors. I suspect that by
104803 now seeing both copies of run_sim, while currently we only see one
104806 The ideal solution of course, would be to merge the two similar, but
104807 slightly different copies of run_sim, and just use the one copy. Then
104815 The easiest solution I think is to just have two copies of
104819 not very big, so it's not a huge amount of duplicate code.
104838 in generation of wrong relocations for TLS entries. Fix that and add
104843 instead of bfd_link_pic. Add elf_xtensa_dynamic_symbol_p test
104845 (elf_xtensa_relocate_section): Use bfd_link_dll instead of
104918 fixes that based on the idea of Palmer Dabbelt.
104935 handling to sign-extend lower 32-bits of the original result.
104975 * dllwrap.c: Replace uses of choose_temp_base() with
105033 PR mi/10347 points out that using interpreter-exec inside of a
105059 much cleaner to me to simply record this as an attribute of the stream
105064 members of struct ui. However, these assignments cause the previous
105066 can be removed -- with the exception of the assignment to gdb_stdtarg,
105082 These members of mi_interp aren't used and can be removed.
105085 top.h has an obsolete comment about the use of _unfiltered.
105118 status register, and consists of two parts, the flags (bits 0 to 4)
105121 The fcsr register is just one of many control/status registers (or
105123 CSRs. These CSRs are aliases for the relevant parts of the fcsr
105124 register. So fflags is an alias for bits 0 to 4 of fcsr, and frm is
105125 an alias for bits 5 to 7 of fcsr.
105139 for reading and writing floating point state only contains a copy of
105149 include an entry for fcsr, fflags, and frm. This means that GDB
105180 target (e.g. QEMU) from continuing to include all three of these CSRs,
105181 the code in riscv-tdep.c continues to check for all three of these
105187 obvious thing of just reading and writing the fcsr register.
105189 3. With the new pseudo-registers we can no longer make use of the GDB
105201 of physical registers until after this call, and the psuedo-register
105204 I've updated some tests to include more testing of the fflags and frm
105217 question could appear in one of two possible features.
105221 all of the features have been checked. I think this is a much simpler
105230 gdb/riscv: improve (and fix) display of frm field in 'info registers'
105232 parts, FFLAGS (the flags) and FRM (the rounding mode). Both of these
105233 two fields are part of the FCSR register, but can also be accessed as
105235 registers, $fflags, $frm, and $fcsr, with the last of these being the
105236 combination of the first two.
105238 Here's how the bits of FCSR are split between FRM and FFLAGS:
105254 This field contains the value of the FRM field, which makes sense when
105303 So, for the rounding-mode field of an _instruction_ the value 0x7
105305 rounding mode held in the FRM field of the $fcsr.
105307 But it makes no sense for the FRM of $fcsr to itself be set to
105309 Control and Status Register" of the RISC-V manual, says that a value
105310 of 0x7 in the $fcsr FRM field is invalid, and if an instruction has
105314 And so, I propose changing the text for value 0x7 of the FRM field to
105328 description, but then doesn't support reading or writing of these
105353 entry with the tag DW_TAG_template_type_parameter. A template value
105354 parameter is represented by a debugging information entry with the tag
105359 A type or value parameter entry may have a DW_AT_name attribute, whose
105360 value is a null-terminated string containing the name of the
105367 presence of a DW_AT_name for the DIE (an exception here is the case of
105368 unnamed namespaces or the existence of a linkage name).
105370 This patch makes the presence of the DW_AT_name for template value/type
105376 unnamed_template_tag_name helper. Within the scope of parent which
105377 the template parameter is a child of, the helper counts the position
105378 of the template tag within the unnamed template tags and returns
105380 unique names within the respective scope of the function/class/struct
105384 While I do not know of a way to bring GCC to emit template tags without
105399 'A' and 'C' makes clang emit a bunch of template tags without names:
105443 here, GDB would not record unnamed template TAGs but I know of no visual
105448 names of the template functions are created independently of whether or
105459 to extract the bounds of 'main'.
105492 Dump of assembler code for function main(int, char**):
105497 End of assembler dump.
105499 Dump of assembler code for function _Z3fooif:
105504 End of assembler dump.
105526 Dump of assembler code for function main:
105531 End of assembler dump.
105533 Dump of assembler code for function foo:
105538 End of assembler dump.
105560 gdb/elfread.c: Use bfd filename instead of objfile->original_name
105567 causes debuginfod to display the wrong path of the objfile during a download.
105580 internally rename members of such libraries. At that point, the
105596 Instead of trying to do validation of the whole archive before
105602 This works for imports for any number of DLLs in the same library,
105603 intermixed with other static object files (regardless of their
105621 …/home/simark/src/binutils-gdb/gdb/dwarf2/read.c:7122:14: note: in instantiation of function templa…
105634 It complains about the use of std::result_of, which is deprecated in
105655 stdout. This patch fixes the bug. I couldn't find a straightforward
105665 BFD library: Use entry 0 in directory and filename tables of DWARF-5 debug info.
105671 (read_formatted_entries): Do not skip entry 0.
105672 (decode_line_info): Set new field depending upon the version of
105673 DWARF being parsed. Initialise filename based upon the setting of
105698 LoongArch: Fix redefinition of "PACKAGE".
105718 The 'Zmmul' is a RISC-V extension consisting of only multiply instructions
105719 (a subset of 'M' which has multiply and divide instructions).
105784 The incomplete CU table makes create_cus_from_debug_names_list set the size of
105785 the CU at 0x0 to the actual size of both CUs combined.
105800 complete CU list, but the point where we find this out is well after
105825 _("initialize_current_architecture: Selection of "
105832 Fix this by adding score-*-* to the list of obsolete targets in
105856 line_delta to flag end of section. This filters its way down to
105863 Add line_delta param. Don't print error at end of section, just
105874 read_indexed_address function is using offset_size instead of
105893 …/home/simark/src/binutils-gdb/gdbsupport/../gdbsupport/gdb_optional.h:213:5: error: use of this st…
105919 have some benign changes to the error messages (one of them had an error
105932 serious problem obviously, since release versions of binutils don't
105934 number of files that might hit this problem by only including dlfcn.h
105953 When using 'help ALIASNAME', GDB shows the help of the aliased command.
105957 possibly changing or tuning significantly the behaviour of
105958 the aliased command. In such a case, showing the help of the aliased
105961 This is particularly true when defining an alias as a set of
105964 Asking 'help pp10' shows the help of the 'with' command, which is
105987 use the provided alias documentation instead of the documentation of
105990 Such a documented alias is also not shown anymore in the help of the
105992 of the aliased command. In particular for cases such as pp10 example above,
105993 indicating that pp10 is an alias of the 'with' command is confusing.
106006 …cpustate.h:310:20: note: previous declaration of 'aarch64_get_CPSR_bits' with type 'uint32_t(sim_c…
106014 On x86, the PLT entry in executable may be used as function address for
106025 where gmtime is a protected function in libc.so. Use gmtime's PLT entry
106048 abbreviations. Generate a use of the no_type abbreviation.
106081 PR11290, avr-ld "out of range error" is confusing
106098 This fixes the coding style of an old, preexisting function.
106128 out of bounds reads if file names are shorter than 4 characters.
106136 I've been able to find.
106143 would result in the error "junk at end of line, first unrecognized
106151 When debugging a certain class of GDB bug, I often end up wanting to
106156 This commit adds 'maint print frame-id' which prints the frame-id of
106158 to find the frame-id for a specific frame.
106186 relocatable object files. Anyway, fuzzers of course don't restrict
106206 Add an option to dlltool to allow the creation of deterministic libraries.
106268 bytes at the start of a file. If they are not the ELF format
106310 object of a type it was not expecting. The included test case shows
106323 If symbols are provided by the caller of this function they are
106340 copy of the symbols when _bfd_generic_link_read_symbols has already
106345 not create another copy of symbols. Tidy failure exits.
106346 Minor tidy of bfd_get_relocated_section_contents and
106370 I noticed a couple of initialization functions that aren't really
106378 gdb/testsuite: re-compile entry-value-typedef .S files with -fPIE
106379 As Luis pointed out here [1], the AArch64 variant of the test doesn't
106383 $ make check TESTS="gdb.dwarf2/entry-value-typedef.exp"
106387 This is because entry-value-typedef-aarch64.S was generated on an old
106410 deprecated in all versions of C and is not supported in C2x
106471 gdb: call check_typedef at beginning of dwarf_expr_context::fetch_result
106498 dwarf_expr_context::fetch_result (the type of a variable of which we're
106499 trying to read the entry value) is a typedef whose size has never been
106501 the DWARF_VALUE_STACK case (line 1028 of dwarf2/expr.c), the `len`
106502 variable is therefore set to 0, instead of the actual type length. We
106504 so the length of the typedef gets filled in at that point. We end up
106505 passing to the copy function a source array view of length 0 and a
106506 target array view of length 4, and the assertion fails.
106509 beginning of fetch_result.
106523 and aarch64, I added versions of the test for these two architectures.
106530 [aarch64] Remove handling of ADR/ADRP from prologue analyzer
106533 gdb.dwarf2/dw2-dir-file-name.exp testcase to be part of a prologue.
106541 In the particular case of gdb.dwarf2/dw2-dir-file-name.exp, the analyzer skips
106557 It exercises a bug that GDB previously had where it would lose track of
106560 It also checks that the vg register and the size of the z0-z31 registers
106608 Since the id member of struct gdbarch_info is now unused, it's removed.
106624 problematic as gdb_do_one_event is not aware of this alternate event
106665 The value of zero would better not indicate any error, but rather hit
106666 the abort() at the top of the consuming switch().
106676 in testing a Python parameter of the PARAM_ZUINTEGER_UNLIMITED type.
106681 objcopy of broken SHT_GROUP sections shouldn't write garbage.
106683 * elf.c (bfd_elf_set_group_contents): If number of entries is
106706 found that it wasn't working so well when the end of chunks were
106715 Swap params of is_note, so they are section, segment like others used
106716 in rewrite_elf_program_header. Whitespace fixes, plus wrapping of
106726 In commit 68e80d96a84282d547f3b3c1234c99009521630c, the usage of
106729 Prior to version 9.0 of MinGW-w64, the function prototype for
106733 error: implicit declaration of function ‘___lc_codepage_func’
106735 This changeset adds a conditonal definition of
106744 increase it from 100 bytes to 128 bytes to accommodate 9 sets of styles
106772 frame-id of the inferior, when we reached the finish breakpoint,
106785 and making use of preprocessor macros to specialise the file for the
106786 correct size of $fp. There are plenty of existing tests that already
106787 make use of preprocessor macros in assembler files, so I assume this
106790 Once I'd decided to make use of preprocessor macros to solve the 32/64
106801 the output of the script key in the MI breakpoint output, from
106825 windows-nat.c to use it. A couple of minor changes to strwinerror
106838 This patch, in order of significance:
106864 little by shortening a few of their names, making functionally similar
106870 Many of the vector conversion insns come with X/Y/Z suffixed forms, for
106871 disambiguation purposes in AT&T syntax. All of these gorups follow
106879 Note that in the course of the conversion VFPCLASSPH is properly split
106886 Many of the vector integer insns come in byte/word element pairs. Most
106887 of these pairs follow certain encoding patterns. Introduce a "bw"
106890 Note that in the course of the conversion
106892 ahead of the new "combined" ones, as (a) this should be tried first
106896 of PEXTRB; it didn't seem worth avoiding this.
106908 Many of the vector integer insns come in dword/qword element pairs. Most
106909 of these pairs follow certain encoding patterns. Introduce a "dq"
106912 Note that in the course of the conversion
106915 - drop an unhelpful Cpu64 from the GPR form of VPBROADCASTQ, matching
106919 - this adds benign/meaningless IgnoreSize attributes to the GPR forms of
106925 The vast majority of vector FP insns comes in single/double pairs. Many
106936 Note that in the course of the conversion
106937 - the AVX512F form of VMOVUPD has a stray (leftover) Load attribute
106949 broke i386-gen's emitting of diagnostics. As a replacement to address
106950 the original issue of newer gcc no longer splicing lines when dropping
107002 There's a comment in riscv-tdep.c that explains some of the background
107010 crs target description features. To work around this GDB uses one of
107012 user sees a single copy of each register, and things just work.
107015 copy of the register GDB selected, the fpu copy or the csr copy, so
107016 long as we just used one of them. The comment reflected this belief.
107019 the csr copy of the register. If GDB tries to use the register from
107024 copy of the register, so nothing is broken, but the comment is wrong.
107041 The printable name field of the default nds32 bfd_arch_info changed
107088 uint64_t and int64_t everywhere. The patch also gets rid of
107089 DWARF_VMA_FMT since we can't use that with uint64_t, and all of the
107090 configure support for deciding the flavour of HOST_WIDEST_INT.
107091 dwarf_vmatoa also disappears, replacing most uses with one of
107092 PRIx64, PRId64 or PRIu64. Printing of size_t and ptrdiff_t values
107101 unconditionally, removes tests of BFD64 and sizeof (bfd_vma), and
107106 cosmetic. The point of the change is to avoid use of a BFD type
107107 in readelf, where we'd like to keep as independent of BFD as
107111 This patch replaces all uses of elf_vma with uint64_t, removes
107112 tests of sizeof (elf_vma), and does a little tidying of
107193 and make the test-case independent of prologue analysis.
107211 of varobj_invalidate" to deal with use a after free issue. However
107235 During the load of the new binary, GDB tries to recreate the varobj to
107238 the value of the global, in a PIE executable we only have access to the
107241 address, so cannot evaluate the value of the global. Note that the
107243 can be created. When using a non PIE executable, the address of the
107247 So at this point, in the case of a non-PIE executable the value field is
107248 set, while it is cleared in the case of PIE executable. Later when the
107250 the case of the non-PIE executable, while in the case of the PIE
107266 varobj it can find. However since bc20e562ec0 "gdb/varobj: Fix use
107268 cleared when the objfile goes out of scope. This means that at this
107311 svstep and svshape instructions subtract 1 before encoding some of the
107334 With this change, only valid contents of LR are accepted when unwinding
107337 If the contents of LR are anything but EXC_RETURN or FNC_RETURN, it
107338 will cause GDB to print an error and/or abort unwinding of the frame as
107359 holding capacity of do_scrub_chars output buffer, then do_scrub_chars
107366 sb_scrub_and_add_sb also limited output to the size of the input,
107368 fail of gas/testsuite/macros/dot with an extra warning: "end of file
107369 not at end of a line; newline inserted". OK, so the macro in dot.s
107370 really does finish without end-of-line. Apparently the macro
107429 - When emitting the script field, use list instead of tuple, if we want
107473 With a recent import of gnulib, code has been pulled that tests and enables
107480 have a mismatch between gdb's notion of time_t and bfd's notion of time_t.
107501 mistakenly didn't. It needs to calculate the high_pc expression ahead of
107505 The one case which would still leave a zero-size entry is when
107532 This adds support for efi-loongarch64 by virtue of adding a new PEI target
107604 (jtab): Add dummy entry that traps.
107666 gdb/gdbserver: LoongArch: Improve implementation of fcc registers
107667 The current implementation of the fcc register is referenced to the
107668 user_fp_state structure of the kernel uapi [1].
107677 in a confusing output of "info register".
107685 [2], there are 8 condition flag registers of size 1. Use 8 registers of
107711 (main): Update initialisation of disassembler_color. If not
107714 * doc/binutils.texi: Update description of disassmbler-color
107726 symbols and memory. One of those call backs is pdc_read_data.
107732 be in the correct current thread that has caused an event of new
107774 The non-SSE2AVX form of the SIMD variant of the instruction needlessly
107779 whether a Q suffix is okay outside of 64-bit mode).
107787 x86: allow use of broadcast with X/Y/Z-suffixed AVX512-FP16 insns
107807 expects argument of type ‘long int’, but argument 2 has type ‘size_t’
107809 194 | warning (_("Unknow size %ld of section .reg2, can not get
107813 195 | " of float registers."), len);
107853 where linked list of CU is iterated when searing for where info_ptr
107906 objdump: DWARF error: could not find variable specification at offset 0x3d3
107935 With the patch the same output is emitted as before usage of dwz.
107965 When kernel's version >= 4.x, the size of .reg2 section will be 400.
107966 Contents of .reg2 are {
107978 In addition, for fr0~fr15, each FRx is the lower 64 bits of the
108032 warning: Section .debug_names has duplicate entry in CU table, \
108047 A per-module .debug_names section needs to have an entry in the CU list for
108064 The readelf dump of the .debug_names section from the test-case looks like:
108075 Used 1 of 1 bucket.
108076 Out of 2 items there are 1 bucket clashes (longest of 1 entries).
108094 section and not terminated, we run off the end of the buffer.
108109 msan: bfd_mach_o_layout_commands use of uninitialised value
108111 end of their buffers when calling strlen.
108127 error of some sort. Change that to keep going, which might change the
108154 Get rid of BFD_VMA_FMT
108178 gdb/language.c:921:8: error: use of deleted function \
108188 include/ansidecl.h:342:3: note: in definition of macro \
108229 of number of CUs might not be the most efficient way, given that CUs can vary
108314 instead of:
108326 For such a function, the type of the callback argument you pass must
108351 Fuzzed input files with sizes of .dynamic not a multiple of dynamic
108352 tag size can result in reading past the end of the buffer with the
108379 binutils/Dwarf: avoid "shadowing" of glibc function name
108380 As before: Old enough glibc has an (unguarded) declaration of index()
108405 invoking mbstowc in order to check the validity of a wide string.
108411 that allow me to inspect a variable of a common type, like:
108417 Add functions to dump variables of types 'value' and 'expression':
108476 champions of the new compression option.
108494 The main benefit of this change is that it introduces type safety to
108495 the gdbarch registry. It also removes a bunch of code.
108524 Fix this by removing the duplicate .debug_aranges entry.
108559 - initializing wpnum to 0 instead of ""
108613 translated, because the translation won't work when the type of
108617 So just get rid of BFD_VMA_FMT, instead using the appropriate PRId64,
108621 one of the unsigned output formats from bfd_signed_vma values.
108625 Re: Get rid of fprintf_vma and sprintf_vma
108627 particularly for 32-bit builds where a number of tests using map files
108628 regressed. I should have noticed the BFD64 conditional printing of
108633 return the number of chars printed, that means some places that
108634 currently use %V must instead sprintf to a buffer in order to find the
108648 (print_assignment): Likewise. Also replace %V printing of vmas
108705 destruction of the BFD reference (and thus the per-bfd object) until
108726 * opncls.c (bfd_set_filename): Refuse to change the name of a bfd
108784 All of these buffer overrun tests are better written as a comparison
108788 "If both the pointer operand and the result point to elements of the
108789 same array object, or one past the last element of the array object,
108803 of the involved insns support embedded rounding.
108804 - Drop the extension opcode check: None of the involved opcodes have
108808 - Reduce the number of comparisons by folding two groups.
108815 First of all rename the meanwhile misleading Opcode_SIMD_FloatD, as it
108819 (rather than bit 1) to indicate the direction (from/to memory) of an
108820 operation. With that, D can simply be set on the first of the two
108835 fbsd-nat: Correct the return type of the have_regset method.
108836 During the development of 40c23d880386d6e8202567eaa2a6b041feb1a652,
108837 the return value of fbsd_nat_target::have_regset was changed from a
108838 simple boolean to returning the size of the register set. The
108843 Current callers of this only checked the value against 0 and thus
108850 absolute values), a symbol table (with just the first placeholder entry)
108890 Many of the tests added to check our relaxation to IE were implemented
108891 by taking advantage of the fact that we did not relax a global symbol
108895 interposable, we know that a TLS version of such a symbol will be in the
108909 Both of these require shared library support, which means that these
108934 This patch extends assembler support for the use of register names to
108937 expressions of the type:
108951 This patch modifies the internal `struct reg_entry' numbering of DWARF
108962 Consequently, the parsing of the hypothetical directive
108997 objdump -x on PE executables produces lots of "xdata section corrupt"
109008 By mistake it was permitted to be used from the very introduction of XOP
109023 object files instead of passed manually on the command line.
109043 - replacing the current implementation of the warning with an
109079 Get rid of fprintf_vma and sprintf_vma
109087 This change some output, notably in base/offset fields of m68k
109118 * od-macho.c: Replace all uses of printf_vma with bfd_printf_vma.
109161 uses of sprintf_vma with bfd_sprintf_vma.
109169 libctf: Avoid use of uninitialised variables
109179 choosing one of "l", "ll", or "I64" for BFD_VMA_FMT, and results in
109183 This removes the last use of BFD_HOST_64BIT_LONG, so delete that.
109267 meaning the new reference output is 18446744073709551615 instead of -1.
109276 Using different ways of passing source file paths to compilers results n
109284 Because of this, GDB sometimes failed to look up macros. The previous
109290 have observed some specific versions of gcc and clang generate. We want
109297 find bugs when testing against some other toolchains than what was used
109301 necessary code to generate a DWARF5 .debug_macro section. The design of
109314 The bit of code removed by this patch was introduced to fix the same
109315 kind of problem that the previous patch fixes. That is, to try to match
109341 Because of this mismatch, thing didn't work, so they added this code to
109362 advantage of this code in the mean time. It's very difficult to
109364 proposing to get rid of it to simplify things a little bit.
109373 using the binaries produced by either of these commands:
109407 `source` is the macro_source_file that we would expect GDB to find.
109408 `name` comes from the symtab::filename field of the symtab we are
109409 stopped in. GDB doesn't find the appropriate macro_source_file because
109410 the name of the macro_source_file doesn't match exactly the name of the
109413 The name of the main symtab comes from the compilation unit's
109418 The contents of DW_AT_name, in this case, is "test.c". It is typically
109422 The name of the macro_source_file comes from the line number program
109429 entry refers to, in the file table (if the file name is not already
109435 find the appropriate macro scope for the symtab, and we can't print
109439 end up identical. This can be tricky because of the different ways a
109444 main symtab is also referred to using its entry in the line table
109447 "start_subfile" for the main subfile will correctly find the
109449 we fail to do that, things still often work, because of a fallback: the
109462 directory here or not prepend it there. In practice, because of all the
109463 possible combinations of debug info the compilers produce, it was not
109467 objects and symtab objects use the most complete form of path possible.
109472 Breakpoint hit messages becoming always absolute). I didn't find this
109477 require a good amount of testsuite tweaks to make tests accept these
109480 This new patch is a slight variation of that: it adds a new field called
109510 name. The only pre-existing user of this method is the macro code,
109561 When assembling the filename from that entry, we get a ".".
109572 clang create two entries that refer to the same file but are of in a different
109585 This is not caught by watch_main_source_file_lossage, because of
109586 dwarf_decode_lines that creates a symtab for each file entry in the line
109610 I am not sure what is the consequence of this, but this is also what
109640 and no DW_AT_comp_dir. The line table has one entry with filename
109706 "/dir/d/dw2-compdir-oldgcc42.S", but the filename of the subfile /
109715 In the following patch, there will be some callers of file_file_name
109720 object reference, instead of an index to look up.
109728 about an invalid index to the sole current caller of file_file_name,
109745 case of building a line_header for doing a hash table lookup, since that
109788 the fix from commit cc0e770c0d0 ("memory error printing component of record
109819 The entry point for the AArch64 disassembler can be found in
109823 file. This commit changes all of this to pass through suitable
109839 This makes the task of styling more complex, all these different
109841 styling information out of aarch64_print_operand in some way.
109853 When aarch64_print_operand needs to format part of its output this can
109856 which mode should be used for each piece of text. Back in
109861 To make aarch64-opc.c clearer a series of new static functions have
109862 been added, e.g. 'style_reg', 'style_imm', etc. Each of these
109863 functions formats a piece of text in a different style, 'register' and
109866 Here's an example taken from aarch64-opc.c of the new functions in
109908 It's entirely unclear why some of the KeyLocker insns had NoRex64 on
109909 them - there's nothing here which could cause emission of REX.W (except
109910 of course a user-specified "rex.w", which we ought to honor anyway).
109916 operand of one of the affected insns. We cannot leave . unresolved, or
109917 else it'll be resolved at the end of assembly, then pointing to the
109918 address of a section rather than at the insn of interest. Undo part of
109922 By resolving the expressions again, equates (see the adjustment of the
109945 likely require adjustments in the target-independent parts of the
109946 assembler instead of trying to hack around this for every target.
109974 (gdb) PASS: gdb.threads/killed-outside.exp: get pid of inferior
110002 help future implementation of custom vector `.insn'.
110027 reduce the memory use of registries a little bit. This also
110040 changes to the users of the registry code in gdb -- code using the key
110043 All existing users of the old C-like API are now converted to use the
110057 The guile code has a couple of unused functions that touch on the
110062 Change allocation of type-copying hash table
110119 Renamed section at the bottom of commit message "Patch Description".
110126 output of the MI-command "-break-list". Added documentation for these attributes.
110129 of line numbers where possible.
110134 Changed terminology, naming was very inconsistent. Used a variety of "parent",
110144 - Get parent of bploc increases ref count of parent.
110147 The INCREF of self in bppy_get_locations is due
110157 out of scope (GC'd/dealloced), and the location
110178 The type is never instantiated by the user of the Python API directly,
110180 a list of gdb.BreakpointLocation.
110184 locations for gdb.Breakpoint. Matches behavior of
110193 address: installed address of the location
110203 of how breakpoint locations can be invalidated
110230 Testsuite: tests the .source attribute and the disabling of
110240 gdb/gdb_mbuild.sh: use return instead of continue to avoid shellcheck error
110245 ^------^ SC2104 (error): In functions, use return instead of continue.
110335 return value of various types.
110495 versions of g++, so this issue was clearly fixed at some point, though
110501 and removes the overloading of the name, which allows GDB to build
110516 process, and check at this point if some of the previously existing
110517 varobj can be recreated in the context of the new process.
110519 Two kind of varobj are subject to re-creation: global varobj (i.e.
110521 varobj which are always re-evaluated in the context of whatever is
110522 the currently selected frame at the time of evaluation).
110537 varobj_invalidate is executed (in the context of a new process), any
110550 variable) and expression. All of those can reference data on an
110573 not owned by the objfile. This process is done here instead of in the
110575 used for similar purpose when replacing types of values kept in the
110586 keeping track of the context which was used at this time seems
110648 generation of html for the disassembly where instructions
110663 gprofng: fix bug 29351 - Move dynamic loading of modules to a later stage
110668 * gp-display-html/gp-display-html.in: the dynamic loading of
110669 modules occurred too early, resulting in the generation of the
110677 determine whether or not to write the result of byte-compiling
110682 At present, GDB only checks for the existence of this environment
110691 .pyc files on the import of source modules.
110693 This commit fixes GDB's handling of PYTHONDONTWRITEBYTECODE by adding
110698 of that for set/show python ignore-environment.
110700 During his review of an earlier version of this patch, Eli Zaretskii
110703 clarifying the documentation of this option in the GDB manual.
110732 gdb: fix use of uninitialised gdb_printing_disassembler::m_in_comment
110740 Dump of assembler code for function main:
110744 …/home/user/src/binutils-gdb/gdb/disasm.h:144:12: runtime error: load of value 118, which is not a …
110747 instance of gdbpy_disassembler, which is a sub-class of
110791 For PR gdb/29373, I wrote an alternative implementation of struct
110812 …../../../../../binutils-gdb/gdb/../gdbsupport/packed.h: In instantiation of 'packed<T, Bytes>::pac…
110817 …../../../../../binutils-gdb/gdb/../gdbsupport/gdb_assert.h:27:48: note: in definition of macro 'gd…
110844 which causes git to show me if I muck up and use spaces instead of
110845 tabs, or leave in trailing whitespace. I find this really useful.
110856 (a) Use a space before a tab at the start of a line,
110858 (b) Use of spaces where a tab could be used at the start of a line,
110883 With this patch, sp will always be in sync with one of the real stack
110888 gdb/arm: Use if-else if instead of switch
110934 is used to access a field of a control register. I initially tried
110936 was suggested that instead different parts of the text should have
110968 make use of the style.
111034 bfd: Delete R_LARCH_NONE from dyn info of LoongArch.
111118 I also noticed that when -z relro -z now sections are created out of
111126 size, which of course is correct.
111144 This was suggested by Pedro during a code review of the following
111189 .debug_names containing a list of TUs, while the exec doesn't contain a
111198 - asserting at the start of create_all_comp_units that all_comp_units is empty,
111213 binaries, meaning the second run overwrites the binary of the first run.
111223 This changes the parameter of target_ops::async from int to bool.
111258 1. For the debugging of csky architecture, after executing "info register",
111275 Add ChangeLog entry from previous commit
111298 We can't use the PLT entry as the function address for PIC since the PIC
111320 This commit makes use of gdb::checked_static_cast when casting the
111357 The benefit of making this change is that, when GDB is built in
111359 really is of type DerivedClass before the cast is performed. If
111360 `base` is not of type DerivedClass then GDB will assert.
111365 This commit adds the support function, but does not make use of this
111390 target. After loading the RISC-V executable the architecture of the
111391 current inferior is updated based on the architecture of the
111411 tdep field will actually be of type riscv_gdbarch_tdep, not
111416 The thing I tried that exposed this problem was of course, trying to
111417 start an executable of the wrong architecture on a native target. I
111419 at the point of cast, that the gdbarch_tdep object is of the wrong
111459 arm, frv, and mips. In each of these targets the adjust breakpoint
111460 address function does some combination of reading the symbol table, or
111468 a native target while another could be a remote target of a completely
111488 already be selected as this is called as part of the stop event
111505 Then in adjust_breakpoint_address we can make use of
111510 series. This later patch will detect when we cast the result of
111518 As a result of this we end up in arm_adjust_breakpoint_address, which
111520 be current. As a result, all of the checks in arm_pc_is_thumb would
111522 and so, at the end of arm_pc_is_thumb we would call
111529 the tdep field is of type aarch64_gdbarch_tdep. After this we have
111554 Zeroing of upper 32 bits of 64-bit addresses is auto.
111567 gdbarch will be of type i386_gdbarch_tdep, not of type
111577 both of these lines are printing the same mask_address_var value. I
111580 Finally, none of the text in this function is passed through the
111583 It would be nice to remove another use of deprecated_show_value_hack
111584 if possible, so this commit does a complete rewrite of
111587 After this commit the output of the above example command, still on my
111591 Zeroing of upper 32 bits of 64-bit addresses is "auto" (current architecture is not MIPS).
111601 Zeroing of upper 32 bits of 64-bit addresses is "auto" (currently "off").
111610 gdb/arm: move fetch of arm_gdbarch_tdep to a more inner scope
111614 Move the fetching of an arm_gdbarch_tdep into a more inner scope
111635 of some other type.
111637 This isn't actually a problem, as in both cases the use of tdep is
111653 All usages of this helper are really made to check if the register is
111654 one of the alternative SP registers (MSP/MSP_S/MSP_NS/PSP/PSP_S/PSP_NS)
111693 [gdbsupport] Fix type of parallel_for_each_debug
111694 When I changed the initialization of parallel_for_each_debug from 0 to false,
111708 complaint (_(".debug_names entry has bad CU index %s"
111743 During symbol reading: .debug_names entry has bad CU index 6 [in module a.out]
111755 Fix this by skipping the entry if per_cu == nullptr.
111798 Commit 244e19c79111 changed a number of variables in display_gdb_index
111802 * dwarf.c (display_gdb_index): Correct use of cu_list_elements.
111809 sections are not a violation of the DWARF standard. The DWARF5
111810 standard even gives an example of multiple .debug_abbrev sections
111811 contained in groups. Caching and lookup of processed abbrevs thus
111829 time taken to search the list of abbrevs converted to internal form is
111831 silly to cache empty lists of decoded abbrevs (happens with zero
111833 is no further use of those abbrevs. This patch stops caching in those
111842 lookup of cached abbrevs here, and calculate start and end
111858 (process_debug_info): ..or here. Warn on another case of not
111864 …elf64-ppc.c:11673:33: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argume…
111886 Handle Python 3.11 deprecation of PySys_SetPath and Py_SetProgramName
111890 support for older versions of Python, i.e. those before Python 3.8.
111892 A beta version of Python 3.11 is available in Fedora Rawhide. Both
111919 will be deprecated in Python 3.12. This version of the patch no longer
111923 While it's true that both of these global configuration variables are
111928 by use of the soon-to-be deprecated global configuration variables.)
111931 one of the failure paths. I've fixed that problem and also made the
111932 rest of the "bail out" code more direct. In particular,
111937 uses PyImport_ExtendInittab instead of PyImport_AppendInittab. That
111939 initialization and the call to were moved ahead of the ifdefs to avoid
111940 having to replicate (at least some of) the code three times in various
111941 portions of the ifdefs.
111961 Don't stop all threads prematurely after first step of "step N"
111964 a thread a number of times:
111999 GDB prematurely stops the thread_func thread after the first of
112020 is what keeps track of how many steps are left to make. When one step
112022 then fetch_inferior_event calls the "should_stop" method of the event
112023 thread's FSM. The implementation of that method decrements the
112046 So fix this by delaying the stopping of all threads until after we
112069 ...fails upon attempts to resolve the value of the symbol. This happens
112094 executable instead of elf_has_no_copy_on_protected.
112136 address of foo, the pointer equality will break, but the error should be
112167 of those segments when reading the core file back.
112169 To save a little bit of space, given MTE tags only take 4 bits, the memory tags
112198 and dumping of memory tag segments.
112272 there's no way to detect the removal of an objfile, say when the
112282 core files to the count of unexpected core files:
112288 # of unexpected core files 4
112289 # of expected passes 21
112292 whole point of the testcase is to crash GDB with a signal.
112299 # of expected passes 25
112303 $ find . -name "core.*"
112317 multi-dimensional array and an array of arrays by looking for an
112318 intervening typedef -- that is, for an array of arrays, there will be
112336 it, replacing it with uses of 'new' instead.
112359 instead of fprintf_ftype throughout.
112377 [gdb/testsuite] Remove duplicate of supports_gnuc
112380 of supports_gnuc, which caused:
112406 python3 executable, GDB will automatically find, and use that in order
112424 This saves quite a number of shift instructions: The "operands" field
112448 of those handles 4 * 1817 == 7268, leaving 3 "left over" elements.
112470 [gdb/testsuite] Allow override of ASAN_OPTIONS in lib/gdb.exp
112571 because this test case predates the existance of gdb_test_multiple. This
112596 differences include the number of bits used to encode the exponent
112597 and significand. Also, IBM long double values are passed in a pair of
112606 of regression failures on Power 10:
112631 think this need is largely satisfied by the existence of
112648 Traceback Table consists of a series of bit fields to indicate things like
112650 function. The Traceback Table is generated following the end of the code
112653 handlers. The Traceback Table is displayed in the disassembly of functions
112654 by default and is part of the function length. The table is typically
112657 Generation of the Traceback Table is disabled in this test using the
112662 correctly locating the address of the bclr instruction before the statement
112663 "End of assembler dump." in the disassembly output.
112668 Running 'black' on gdb fixed a couple of small issues. This patch is
112682 Write of size 8 at 0x7b2000008080 by main thread:^M
112707 Tested on x86_64-linux, by using it instead of the parallel_for_each in
112726 /usr/include/c++/4.8/atomic: In instantiation of \
112747 Read of size 1 at 0x7b2000003010 by thread T4:
112753 Previous write of size 1 at 0x7b2000003010 by main thread:
112769 Read of size 1 at 0x7b2000025f0f by main thread:
112775 Previous write of size 1 at 0x7b2000025f0f by thread T3:
112795 Write of size 8 at 0x7b0400004070 by main thread:
112817 the code on the false branch of md_parse_name is dead.
112856 A WIP version of a patch
112904 This patch adds the missing include statement for the definition of
112924 Due to recent changes in the default value of -fcf-protection for gcc, the
112966 stops inside the runtime loader, instead of line 6. Vis:
112972 …0x00007ffff7f0a90d in __GI__dl_catch_exception (exception=exception@entry=0x7fffffffdb00, operate=…
112992 incorrectly stops at line 4 (returning from setjmp), instead of line
112996 infrun.c fails to find the initiating frame, and so infrun thinks that
113030 until_break_command instead passes the frame id of the _caller_ frame
113032 caller frame is the caller of main. When later infrun tries to find
113033 that frame by id, it fails to find it, because frame_find_by_id
113086 - Describe "step" in terms of "on" and "off".
113089 instead of recording, and also mention how the mode behaves during
113100 partial symtabs phase to the symtab expansion phase, for the benefit of a
113104 parallelized, those have become problematic and sources of race conditions.
113122 [gdb/record] Support recording of getrandom
113123 Add missing support for recording of linux syscall getrandom.
113187 Read of size 1 at 0x7b200000300d by thread T2:^M
113194 Previous write of size 1 at 0x7b200000300d by main thread:^M
113209 Write of size 1 at 0x7b200000300e by thread T4:
113214 Previous read of size 1 at 0x7b200000300e by main thread:
113233 The problem is that the written fields are part of the same memory location as
113240 The set of fields has been established experimentally to be the
113241 minimal set to get rid of this type of -fsanitize=thread errors, but
113244 Looking at the properties of the lang field, unlike dwarf_version it's
113266 Write of size 1 at 0x7b200000300e by thread T4:
113273 Previous read of size 1 at 0x7b200000300e by main thread:
113291 The problem is that the written fields are part of the same memory
113303 fixes it, however that also increases the size of struct
113304 dwarf2_per_cu_data, because it introduces padding due to alignment of
113305 these new structs, which align on the natural alignment of the
113306 specified type of their fields. We can fix that with
113315 packed template that wraps/hides this. Instead of the above, we'll be
113320 Note that we can't change the type of dwarf_unit_type, as that is
113321 defined in include/, and shared with other projects, some of those
113325 make use of it. One of those patches will want to wrap a struct
113337 __attribute__((packed)), by having it store an array of bytes of the
113357 some way of packing.
113436 The core target is one of the few targets that use
113450 This imbalance of emitting =thread-created but then not =thread-exited
113455 And then, since most other targets use exit_inferior instead of
113516 out inferiors that have pid==0. We get here at the end of
113524 getting rid of the core and exiting the inferior. The problem with
113533 because there are paths to it that want to get rid of the core without
113546 In the description of stop replies, where the "thread" register is
113564 This commit extends GDB to make use of libopcodes styling support
113573 of the disassembled instruction, e.g. registers, immediates,
113584 These can be used to manually disable use of libopcodes styling. This
113594 of the following new styles:
113601 The disassembler also makes use of the 'address' and 'function'
113602 styles to style some parts of the disassembler output. I have also
113616 or 'function' style is used to style the names of symbols in
113626 Use of libopcodes styling support is "on".
113634 Use of libopcodes styling support is "off" (not supported on architecture "sparc")
113643 Use of libopcodes styling support is "off".
113649 Use of libopcodes styling not supported on architecture "sparc".
113651 Use of libopcodes styling support is "off".
113659 Use of libopcodes styling support is "off".
113662 Use of libopcodes styling support is "on".
113671 disassemble_info struct. The 'stream' field of disassemble_info is
113677 the content would be written to the ui_file object. An example of an
113692 depend on the state of the gdb_disassemble_info object, and this state
113695 In this commit I propose changing the 'stream' field of the
113699 We then have the two sub-classes of gdb_disassemble_info to consider,
113723 Write of size 4 at 0x7b2800002268 by thread T4:^M
113730 Previous read of size 4 at 0x7b2800002268 by thread T1:^M
113743 of per_cu->length.
113843 Using notes_calloc means all of the string hash table memory should
113929 in having multiple copies of hash_string_tuple and eq_string_tuple.
113937 entry is not used.
113946 and rename target implementation. The renaming of target functions
113947 makes it possible to find them all with "grep md_finish",
113949 This patch leaves a number of md_end functions unchanged, those that
113997 itbl_files seems to be debug code. Get rid of it.
114041 Another case of duplicated hash.h code, the only minor difference
114084 This is mostly a tidy with the aim of being able to free
114126 Until we update the recommended versions of autoconf/automake, files
114151 I looked at all uses of GDB_PY_LLU_ARG and fixed these up to use
114152 get_addr_from_python instead. I also looked at uses of GDB_PY_LL_ARG,
114174 [gdb/build] Handle deprecation of scm_install_gmp_memory_functions
114198 removed, by limiting the usage of the variable to guile versions <= 3.0.
114203 Note that we don't limit the usage of the variable to guile versions <= 3.0.5,
114282 The problem is in this piece of code in dw2_debug_names_iterator::next:
114288 complaint (_(".debug_names entry has bad TU index %s"
114347 Fix regeneration of ld configure and makefiles
114368 * testsuite/gprofng.display/display.exp: Shorten the list of tests.
114426 This is due to some bit-rot in the AIX port, still relying on the entry
114427 value of inferior_ptid in the wait methods.
114436 pid is non-zero. Since inferior_ptid is set to null_ptid on entry, the
114468 on top of rs6000_nat_target, also relies on inferior_ptid.
114471 ptid of the event thread), but that's not the case. pd_update
114478 accept as a parameter the pid of the process we are working on.
114505 Any debugging information entry representing the declaration of an object,
114507 DW_AT_decl_column attributes, each of whose value is an unsigned integer
114529 line numbers with signed forms as "0" instead of crashing. Here's the
114566 `p -elements ...' in the shortened form), so add a couple of test cases
114581 This commit adds Zfhmin and Zhinxmin extensions (subsets of Zfh and
114683 * testsuite/gas/riscv/zfinx-dis-numeric.s: Test new behavior of
114715 * frags.h: Move declaration of struct obstack..
114738 elf: Copy p_align of PT_GNU_STACK for stack alignment
114745 may ignore p_align of PT_GNU_STACK when copying ELF program header if
114746 the maximum page size is larger than p_align of PT_LOAD segments. Copy
114747 p_align of PT_GNU_STACK since p_align of PT_GNU_STACK describes stack
114751 * elf.c (copy_elf_program_header): Copy p_align of PT_GNU_STACK
114757 This once again allows to reduce redundancy in (and size of) the opcode
114767 anyway, regardless of order. Hence there is (as before) no way for the
114774 existing) effect of XOP register-only insns having XOP.W clear, but FMA4
114780 I don't see why two of them were introduced (very long ago) using
114796 introduction of 3-operand patterns with D set (and which perhaps never
114808 When using just slightly non-trivial combinations of .arch, it can be
114822 x86: generalize disabling of sub-architectures
114825 disabling of all of them. Then we also have all data for a sub-arch in
114832 start with in the absence of any overrides (command line or directives).
114833 Note that for Intel MCU "default" is merely an alias of "iamcu".
114921 1. Display of the index values for DW_FORM_loclistx and DW_FORM_rnglistx.
114922 2. Display of .debug_loclists.dwo and .debug_rnglists.dwo sections.
114936 This is in preparation of dropping the leading . from the strings.
114938 While there also move PROCESSOR_GENERIC{32,64} from the middle of AMD
114949 converting "skip" to bool and putting it earlier in a group of bitfields
114955 Introduce a helper function to replace 4 instances of similar code. Use
114969 Lots of memory used in gas should go on this obstack. The patch also
114980 closing. Call subsegs_end with the array of obstacks.
114986 ignore reports of leaks like this one, that are merely one block or
114995 array of reloc pointers. Rewrite code stripping relocs to do
115016 instead of fprintf_ftype throughout.
115046 displacements of direct branches, which - if at all - are controlled by
115049 simplified in a number of places. The only place where logic becomes
115050 more complicated is when signed-ness of relocations is determined in
115057 done in match_template() anyway (but of course the logic there needs
115062 x86: restore masking of displacement kinds
115063 Commit 7d5e4556a375 rendered the check near the end of what is now
115067 are of no interest there either. The only thing which matters in the
115079 x86-64: improve handling of branches to absolute addresses
115080 There are two related problems here: The use of "addr32" on a direct
115090 Because ratified Zihintpause extension has a version number of 2.0
115096 number of Zihintpause extension.
115113 Write of size 1 at 0x7b200000300c:^M
115204 Remove indentation from the text of the manual after the example here:
115206 " Completion will in some cases guide you with a suggestion of what
115207 kind of argument an option expects. For example:
115216 as this is a continuation of the same paragraph.
115244 the actual completion pattern shown, which gives an impression of
115251 Add newline to the end of the rnglists displsy.
115274 (there is a space entered at the end of both commands, not shown here)
115287 Completion section of the manual in addition to the Command Options
115294 only tested objects allocated on the stack. This commit adds a couple of
115299 Fix implementation of readelf's -wE and -wN options,
115300 * dwarf.c (dwarf_select_sections_by_name): If the entry's value is
115313 Write of size 4 at 0x00000325bc68 by thread T1:^M
115316 Previous read of size 4 at 0x00000325bc68 by main thread:^M
115319 Location is global 'sync_quit_force_run' of size 4 at \
115328 - heap block of size 40
115337 here is the fallout of the signal being delivered to a worker thread rather
115352 In passing I noticed that the column headings for the table of MI
115373 WRITE of size 1 at 0x60f0000000e9 thread T0
115382 0x60f0000000e9 is located 169 bytes inside of 176-byte region [0x60f000000040,0x60f0000000f0)
115444 gdb/doc: improve description of --data-disassemble opcodes output
115445 Extend the description of the MI command --data-disassemble.
115446 Specifically, expand the description of the 'opcodes' field to explain
115454 (S16 to S31) are stacked on exception entry or otherwise skipped.
115458 opcodes/aarch64: split off creation of comment text in disassembler
115460 converting an instruction operand into the textual representation of
115464 though this (currently) only happens for the last operand of the
115474 extra buffer. The two callers of aarch64_print_operand are then
115485 there was a good reason why we used a mix of styles, I could probably
115554 as part of the break-idempotent.exp script, and store the result in a
115562 Presumably this being there was a result of taking CALL as a reference
115639 gdb/ia64-tdep.c:3362:1: error: control reaches end of non-void function \
115680 …Fix the display of the idnex values for DW_FORM_loclistx and DW_FORM_rnglistx. Correct the displa…
115682 * dwarf.c (display_debug_rnglists): New function, broken out of..
115684 (read_and_display_attr_value): Correct calculation of index
115738 The bit width of floating-point register is 64bits, and the bit
115739 width of vector register is 128bit.
115742 64 bits of the corresponding VRx.
115755 used. This part is to prepare for the expansion of vector registers to 32
115757 Therefore, in s64~s127, half of the registers are actually unused. This
115758 part is to prepare for the expansion of the vector register to 32.
115949 error status, instead of aborting. This makes it harder to debug
115954 I believe the reason it exits instead of aborting, is to prevent
115955 potentially littering the filesystem of smaller embedded targets with
115986 # of unexpected core files 29
115989 for me, of which 8 are GDBserver core dumps, 7 more than without this
116009 computing number of bytes to read.
116027 * dwarf.c (fetch_indexed_string): Do not use length of first table
116028 in string section as the length of every table in the section.
116047 The type of addr is <class 'gdb.Value'>, so the first thing to try is whether
116083 Fix this by verifying $ax instead of $eax.
116093 Fix this by using is_x86_like_target instead of istarget "i?86-*linux*".
116095 This exposes a number of duplicates, fix those by making the test names unique.
116097 Likewise in a couple of other test-cases.
116143 [gdb/symtab] Fix parsing of .debug_str_offsets header
116148 Offset from DW_FORM_GNU_str_index or DW_FORM_strx pointing outside of \
116156 Contents of the .debug_str_offsets.dwo section (loaded from fission-mix2.dwo):
116168 4 bytes of the initial length (it's 12 bytes because of 64-bit dwarf), as well
116169 at the 2-byte version field and 2 bytes of padding, so we get:
116193 "build/gdb/testsuite" for DW_AT_name of the DW_TAG_compile_unit DIE.
116247 Move code for CRIS, MIPS and HPPA to block at start of file.
116252 bfd: prune config.bfd's setting of targ_archs
116253 The final "match all" case can take care of a few explicit entries:
116265 Note that I didn't touch */po/*.po{,t} on the assumption that these
116274 refering to .debug_addr instead of .debug_loclists
116284 .branch_lt is really an extension of .plt, as is .iplt. We'd like all
116285 of the PLT sections to be fixed relative to .TOC. after stub sizing,
116288 sections from the end of the relro segment. So for example, a change
116291 usual forward layout of section is done and .got is more aligned than
116301 A number of targets use assignments like:
116303 (from i386) in linker scripts to put the end of the relro segment past
116304 the header in .got.plt. Examination of testcases like those edited by
116305 this patch instead sees the end of the relro segment being placed at
116306 the start of .got.plt. For the i386 pie1 test:
116330 The DATA_SEGMENT_RELRO_END value in the map file is weird too. All of
116332 zero. Fix it by taking into account the action of
116358 R_ARM_GLOB_DAT but that defeated the purpose of protected visibility
116394 Fix end of CU calculation in cooked_indexer::index_dies
116395 cooked_indexer::index_dies incorrect computes the end of the current
116399 start of the CU. This patch fixes the expression. Tested on x86-64
116405 When FRAME is at a syscall instruction, return the PC of the next
116409 This commit defines register numbers of various important registers,
116448 Turns out we'll be gaining a new use of this function very soon, the
116456 gdb/arm: Update the value of active sp when base sp changes
116459 When plain "sp" is updated during unwinding of the stack, the active
116460 stack pointer of the 4 stack pointers needs to be kept in sync.
116471 As a result every call to get_compiler_info outside of lib/gdb.exp is
116480 lib/gdb.exp. In theory we could switch over all uses of gcc_compiled
116483 the testsuite to call this proc instead of using the global.
116495 In some of the tests e.g. gdb.dwarf2/*.exp, the $gcc_compiled flag was
116496 being checked at the top of the script to decide if the whole script
116498 directly and removed all uses of gcc_compiled.
116500 In other cases, e.g. most of the gdb.base scripts, there were many
116501 uses of gcc_compiled. In these cases I set a new global gcc_compiled
116502 near the top of the script, and leave the rest of the script
116509 Include count of unexpected core files in gdb.sum summary
116512 such that core files are dumped in the current directory instead of
116527 # of unexpected core files 12 << new info
116528 # of expected passes 107557
116529 # of unexpected failures 35
116530 # of expected failures 77
116531 # of unknown successes 2
116532 # of known failures 114
116533 # of untested testcases 31
116534 # of unsupported tests 139
116546 %t: UNIX time of dump
116564 where we can see that GDB crashed a number of times, but also
116565 Valgrind's vgdb, and a couple testcase programs. Neither of which is
116573 result of gdb.server/connect-with-no-symbol-file.exp. This is a case
116582 # of unexpected core files 2
116583 # of expected passes 8
116598 # of unexpected core files 26
116601 error, instead of crashing with SIGABRT. I think that should be
116603 patch. After such patch, I suspect the number of unexpected cores
116609 the tail of gdb.sum, or when diffing gdb.sum files, and we've already
116610 extended this section before, to include the count of DUPLICATE and
116622 maybe_show_count "# of duplicate test names\t" \
116626 + maybe_show_count "# of unexpected core files\t" \
116631 the final gdb.sum is generated by aggregating the results of all the
116634 should be taught about it, since the count of core files is not
116641 downside of implementing and maintaining the same thing twice. In the
116643 requires making the "check-single" rule print the tail end of the
116645 terminal after a run (instead of at the gdb.sum file), you'll see the
116675 %t: UNIX time of dump
116699 $ find . -name "core.*"
116710 output dir, so that the core is dumped there instead of in
116713 an unexpected core file. The next patch will add a count of such
116717 cwd" instead of with "cd". "set cwd" only affects the inferior cwd,
116718 while "cd" affects GDB's cwd too. By using "set cwd" instead of "cd",
116727 gdb: make use of RAII in run_inferior_call
116738 of these functions depend on the value of the async field, so I
116807 address of foo (likely due to -fno-pic), the pointer equality will
116819 R_AARCH64_GLOB_DAT but that defeated the purpose of protected visibility
116835 I noticed that touching interps.h caused a lot of recompilation. I
116842 manual memory management. It also cleans up the initialization of the
116852 the linker produces R_*_GLOB_DAT instead of R_*_RELATIVE. Otherwise the
116854 accesses a stale copy. Note: the GOT relocations defeat the purpose of
116886 RISC-V: Reorder the prefixed extensions which are out of order.
116888 llvm can already re-order the extensions, even if they are out of orders.
116995 again apparently, which means a stub will overwrite the tail of a
116998 previous stub in that section. This patch keeps track of the last
117004 (ppc_build_one_stub): Keep track of previous stub, and dump it
117045 of size_t in one argument of ctf_err_warn applying to the wrong type by
117056 and different compilation flags, then arrange to link all of these
117076 when a clash is found, adjust the CU name by sticking the number of
117085 .a's can contain many members with the same name, all of which
117094 Use the opportunity to prevent a couple of sources of problems, to wit
117099 ctf_link) rather than having the links be a sort of half-incremental
117122 (ctf_link): Clarify the effect of multiple ctf_link calls.
117135 GDB's documentation of the 'file' command says:
117139 list of directories to search, just as the shell does when looking
117154 value to fetch_indexed_addr(), i.e. fetch the proper entry in .debug_addr section.
117174 Move finish_print out of value_print_options
117177 never during the course of printing. This patch removes it from the
117208 work for any sort of type.
117220 already-sorted prefix, breaking the loop invariants of insertion sort.
117239 When we set the parameter of nibbles to True, we can achieve the
117240 displaying binary values in groups of every four bits.
117257 Document the new command "print nibbles" and add a NEWS entry.
117262 Make an introduction of a new print setting that can be set by 'set
117268 group. The motivation for this work is to enhance the readability of
117278 new form of the binary values.
117312 mix of allocation strategies it isn't possible for callers to free
117316 tc_canonicalize_section_name.) Also remove a couple of cases where
117355 away. The remaining cases are of the form {0, LINE_OFFSET_NONE}, and
117364 This converts set_location_spec_string to a method of location_spec,
117373 This converts location_spec_to_string to a method of location_spec,
117389 This converts location_spec_empty_p to a method of location_spec,
117435 location.c, so they are moved to the header. Since the definitions of
117457 breakpoint locations, or the result of decoding a location spec to
117518 FAIL: gdb.arch/i386-mpx-map.exp: NULL address of the pointer
117540 use of uninitialised value in input_file_open
117584 do_debug_frames outside of loop.
117615 error: format '%lx' expects argument of type 'long unsigned int',
117635 Add to documentation of Python 'dont_repeat' method
117642 gdb/arm: Make sp alias for one of the other stack pointers
117644 psp, it always has the same value as one of them. Let GDB treat
117653 aliases for one of the 4 real stack pointer registers.
117661 This means that when the GDB client is to show the value of "msp",
117666 (or psp) internally, but they are part of the set of registers which
117668 of the set of registers printed by the "info r" command.
117671 of arm_cache_get_sp_register function.
117680 identify the active one, compare the values of the different
117681 stacks. The value of the initial sp register needs to be fetched to
117687 After the recent restructuring of the disassembler code, GDB has ended
117691 My first thought was to move these out of their respective classes,
117696 that I loose the encapsulation of the method with the corresponding
117703 In terms of code generated, I don't think there's any significant
117714 gdb_buffered_insn_length, is broken ... sort of.
117724 likely crash. Which is why I said only "sort of" broken. Right now
117729 disassembler self tests in disasm-selftests.c to include a test of
117759 could write Python scripts that would augment the output of the
117762 To achieve this I have followed the model of the existing libopcodes
117764 does restrict the type of things that it is possible to do from a
117779 Each time GDB wants an instruction disassembled, an instance of
117788 inherit from. This base class provides base implementations of
117794 This class can be used to hold the result of a call to the
117796 of the disassembled instruction) and a length (in bytes). The user
117797 can return an instance of this class from Disassembler.__call__ to
117804 This function registers an instance of a Disassembler sub-class
117818 disassemblers reads of memory, thus the user can adjust what GDB
117821 The included documentation provides a more detailed description of the
117855 implementation of the new print_insn callback.
117863 that I would like to add. As part of that change I need to create a
117865 gdbarch. The management of these two objects is identical to how we
117872 variable string_file*, and then in print_insn, the contents of the
117880 My solution then, is to separate out the management of the
117882 and make this class a parent of gdb_disassembler.
117894 gdb_disassemble_info base class, I have added yet another level of
117918 Convert the gdbpy_err_fetch class to make use of gdbpy_ref, this
117925 commit I will want to copy instances of gdbpy_err_fetch, and switching
117949 gdb/../include/diagnostics.h:80:3: note: in expansion of macro \
117953 gdb/debuginfod-support.c:201:4: note: in expansion of macro \
118092 First, some of the register offsets were incorrect. The "bb-runtimes"
118098 implementation detail of the runtime. This is removed.
118118 In the Linux kernel code of LoongArch, ptrace implements PTRACE_POKEUSR
118126 # of expected passes 18
118147 ^error,msg="Value out of range."^M
118152 What happens is easier to understand if we take things out of the mi context:
118162 $1 = (pck.string_access) <error reading variable: Value out of range.>
118169 The var-create command samples the value of the variable at a location where
118198 > > The warning is there because of this mismatch between core and exec:
118207 > > of code in elfcode.h:elf_object_p():
118227 > time and is a bit rotted. I suspect that all of changes made in commit 0aabe54e6222
118232 little wary of adding all the sanity checks to elf_core_file_p since
118242 of global alias variables as DW_TAG_imported_declaration. However,
118258 directives, expects fixups to operate on the whole of a 16-bit word.
118297 * dwarf.c (fetch_indexed_string): Move initialisation of "curr"
118307 initialisation of variables and initialise in dwarf2_init instead,
118312 * config/obj-elf.c (obj_elf_ident): Simplify free of
118351 Fix this by using next instead of step.
118386 We can't put a breakpoint in the middle of a ll/sc atomic sequence,
118387 so look for the end of the sequence and put the breakpoint there.
118400 instead of bash.
118429 To calculate the total number of registers that GDB can analyze,
118433 To find a supported struct csky_supported_tdesc_register, return a
118440 file of the target from the stub. When loading, do a little check that
118475 inefficient. Individual users have better knowledge of how big a buffer
118476 they need, and in a number of cases going through an intermediate buffer
118487 where doing adjustments, use snprintf() in favor of sprintf().
118492 Now that op_out[] is an array of pointers, there's no need anymore to
118499 all_prefixes[] can be shrunk to array of unsigned char. All that
118500 additionally needs adjusting is the printing of possible apparently
118517 a lot of uninitialized data. Alan has in particular observed ubsan
118518 taking issue with the loop inverting the order of operands, where
118519 op_riprel[] - an array of bool - can hold values other than 0 or 1.
118521 Move instantiation of struct instr_info into print_insn() (thus having
118522 just a single central point), and make use of C99 dedicated initializers
118525 allows dropping of some other explicit initialization later in the
118526 function or in ckprefix(). Additionally this removes a lot of
118529 Make one further arrangement though, to limit the amount of data needing
118531 member to just an array of pointers, with the actual arrays living
118535 While there, instead of adjusting print_insn()'s forward declaration,
118557 to avoid having to call splay_tree_delete, but examination of the code
118565 in favor of uses of 'new'.
118568 This removes addrmap_create_mutable in favor of using 'new' at the
118572 This removes the various addrmap wrapper functions in favor of simple
118587 This is a simply C++-ification of the basics of addrmap: it uses
118588 virtual methods rather than a table of function pointers, and it
118595 * Restore dropped nullptr program argument in use of create_process() under CYGWIN
118641 Fix comparison of unsigned long int to int in record_linux_system_call.
118654 has the MSB set to one so it is a negative integer. The comparison of the
118671 Some of the ioctl numbers are based on the size of kernel termios structure.
118688 The size of the termios data structure in this file is 0x2c not 0x3c.
118690 This patch changes the hex digits for the size of the PowerPC termios size
118697 gdb/testsuite: remove definition of true/false from gdb_compiler_info
118731 Given that the definitions of true/false are so simple, right now my
118755 (gdb) XPASS: gdb.base/vla-struct-fields.exp: size of inner_vla_struct_object
118812 The cause of these problems is the following three functions:
118830 result of the above cast will, as a consequence, be undefined.
118833 cast we then proceed to make use of TDEP, like this:
118852 The solution is to make use of a check like this:
118861 and the addition of the above check allows us to easily avoid the
118865 each of the functions into two new helper functions, and so
118893 Add a description of exception entry context stacking and fix next
118944 for the rest of the dejagnu run.
118959 Except, to make matters worse, most of the time, the user probably
118964 scripts, this is done with the help of the two procs
118969 Normally, compiler_info is only set as a result of a test script
118973 variable is deleted at the end of each test.
118987 normally be deleted at the end of the first test script that includes
118995 version adds all globals from the newly loaded library to the list of
119004 Our override of load_lib then decides that this new global has to be
119012 new global is an array, the keys of this array will be each of the
119022 of persistent globals. Now the cache will not be deleted at the end
119023 of each test script.
119031 the value of 'gcc_compiled' would change each time a new language is
119070 Instead of using the empty string as the default language, and just
119081 to check the version of the rust compiler then we will now give an
119115 The preferred way of getting the compiler string is via calling
119135 the result into a variable. Now, instead of calling skip_python_tests
119149 use of $gdb_test_name.
119160 The throw_perror_with_name function is not used outside of utils.c
119176 Notice the '.:' in the middle of this error message.
119178 This is because of this call in aarch64-linux-nat.c:
119186 This commit removes all of the trailing '.' characters from
119189 I don't believe that any of these errors are tested in the
119195 The CU queue is a member of dwarf2_per_bfd, but it is only used when
119206 Change allocation of m_dwarf2_cus
119226 up, and instead have each operand be a list of "parts", where each
119231 But it feels like a huge amount of work to move from where we are
119241 operate as it does right now in order to manage the set of operand
119252 This of course relies on there not being more than 16 styles, but that
119263 Disassembler content comes from a number of sources. First there's
119269 The next source of content are immediate operands. The text for these
119272 that libc will generate as part of an immediate representation.
119328 @@ -209,7 +209,7 @@ Disassembly of section \.text:
119368 size instead. The changes outside of reloc.c in this patch should
119369 make the code independent of how reloc.size is encoded.
119424 * coff-alpha.c: Give special purpose reloc howtos a size of zero.
119438 value given in bytes. This of course requires editing all target
119439 uses of HOWTO, a major pain, but makes it a little nicer to specify
119474 * som.c, * vms-alpha.c: Adjust all uses of HOWTO.
119477 * elf/arc-reloc.def: Adjust all uses of HOWTO.
119491 These are all dummy howtos, there is no reason one of them should
119531 * input-scrub.c (input_scrub_push): Move init of sb_index..
119540 Use subclasses of windows_process_info
119542 callbacks, and then changes the two clients of this code to subclass
119546 structures visible to the compilation of of nat/windows-nat.c. This
119547 seemed like a bit of a pain, so I didn't do it.
119550 members of the new subclass. Note that there can still only be a
119551 single inferior -- currently there's a single global of the new type.
119556 move more of the data into the base class. However, because gdb
119572 cautions that this isn't available on all versions of Windows, the
119605 In skip_arch in gdb/selftest-arch.c we skip architecture fr300 because of
119609 Remove the skipping of frv::fr300.
119699 In print_one_insn_test we have this cluster of skipped tests:
119709 Enable some of these, and document in more detail why they're enabled or
119757 Note: I've also removed the printing of arch_name, which would give
119776 gdb/python: improve formatting of help text for user defined commands
119815 Make sure we error out on overflow instead of truncating in all cases.
119822 Rewrite parse_number to use ULONGEST instead of LONGEST, to fix UB errors as
119825 Furthermore, make sure we error out on overflow instead of truncating in all
119835 Make sure we error out on overflow instead of truncating in all cases.
119839 <rust-lang/rust>/src/test/ui/parser/int-literal-too-large-span.rs
119847 Make sure we error out on overflow instead of truncating in all cases.
119849 The current implementation of parse_number contains a comment about PR16377,
119850 but that's related to C-like languages. In absence of information of whether
119859 Make sure we error out on overflow instead of truncating in all cases.
119861 The current implementation of parse_number contains a comment about PR16377,
119862 but that's related to C-like languages. In absence of information of whether
119892 Furthermore, make sure we error out on overflow instead of truncating in all
119899 [gdb/c] Fix type of 2147483648 and literal truncation
119912 Fix this by making sure the type of 2147483648 is long.
119933 Furthermore, make sure we error out on overflow instead of truncating in all
119952 Balance out the increase in runtime by reducing the number of architectures
119957 Results in slight reduction of total tests: 15572 -> 13853.
120024 find `_break_handler' function in inferior. Will be used default software \
120065 configuration of GDB. Attempting to continue with the default aarch64:ilp32
120160 in any of the bfd_is_const_section sections.
120168 has too. Which means we can't find output_bfd for __gp. Also, may as
120171 * coff-mips.c (mips_gprel_reloc): Don't segfault on any of
120180 [gdb/testsuite] Detect change instead of init in gdb.mi/mi-var-block.exp
120221 This rearranges and changes the wording of the "Location
120222 Specification" section of the GDB manual in minor ways.
120246 ODR warnings. This patch renames the types, and removes the use of
120303 This renames the solib-dsbt.c copy of "struct ext_link_map" to avoid
120311 This renames one of the instance of "struct field_info" to avoid an
120339 ... may be the only declaration of "struct target_ops" in scope
120361 branch instruction and determine the address of the next instruction on
120371 std::sort (). When there are a lot of objfiles, for example, when
120372 debugging JITs, the presence of these sections slows down the sorting
120375 The output of update_section_map () is used by find_pc_section (),
120376 which can never return any of these sections: their size is 0, so they
120386 …> ../../gdb/windows-nat.c:714:12: error: declaration of ‘char name [512]’ shadows a parameter [-We…
120399 moved to members of struct windows_process_info.
120405 includes for parts of that code under ifdef __CYGWIN__.
120445 So, get rid of the do_scrub_chars call and support functions, leaving
120457 It is possible for sb_scrub_and_add_sb to not consume all of the input
120463 sized output buffers could result in a write past the end of the
120466 sb.c (sb_scrub_and_add_sb): Loop until all of input sb is
120474 * dwarf2dbg.c (assign_file_to_slot): Catch more cases of integer
120504 configuration of GDB. Attempting to continue with the default aarch64:ilp32
120524 This adds the gdb.current_language function, which can be used to find
120526 having to parse the output of "show language".
120528 It also adds the gdb.Frame.language, which can be used to find the
120529 language of a given frame. This is normally preferable if one has a
120553 The test consisted of running a program compiled with float-abi=hard.
120559 from main to verify the content of the registers using "info float"
120568 manual terminology and keep coherency with the rest of the code.
120577 Now, they are just used to find a candidate among the list of pre-declared
120593 local versions of the libiberty functions. ansidecl.h also isn't
120619 entry directly.
120696 defined symbols residing at the address of the pointer. For the given
120727 local variable g into the .bss section of their executable. The gnu
120751 ==2503051== For lists of detected and suppressed errors, rerun with: -s
120759 object. Right after each of the functions the object gets freed - on the
120760 other hand the d'tor of derived_type actually is implemented and calls
120762 of obeying the rule of 3/5 I just got rid of all that since it does not
120780 be ignored (it cannot be a completion of a word starting with "m").
120819 is the beginning of the symbol). One can easily produce a similar
120845 Many of the displayed symbols do not actually work with print:
120883 do not appear in the output of complete. Still, with a poor enough
120918 other compilers. Generally, I find the behavior of complete a bit
120930 variable of that type in the test. Still, gfortran emits it for every
120972 the type is missing here. There was the possibility of actually adding
120974 gfortran chose to emit this variable's type as a DW_TAG_string_type of
120975 length one (instead of a character(kind=1), or whatever the respective
120987 have b) somehow hidden the curious behavior of gfortran, instead, the
121001 Third, the whole test of checking for the 'Type s1' in info types seemed
121002 questionable. The type s1 is declared iside the scope of the Fortran
121003 program info_types_test. Its DIE however is emitted as a child of the
121004 whole compilation unit making it visible outside of the program's scope.
121013 so for gfortran, the type shows up in the output of 'info types'. For
121015 emit the type (correctly) as a child of the Fortran program, thus not
121022 the change made here was to only check for this type in case of gfortran
121037 GDBInfoSymbols::check_entry is used to verify and test the output of the
121039 basis and some of the tests are not fair with e.g. ifx and ifort as
121077 Adding the keyword does not change the gfortran compiling of the example.
121118 come from the same family of compiers (gcc/gfortran, icc/ifort, icx/ifx,
121120 compilers independently of each other.
121128 This enables GDB to properly run heterogeneous combinations of C and
121165 gdb/testsuite: move getting_compiler_info to front of gdb_compile
121173 version of the compiler used. While doing this we cannot again try to
121175 option as this would cause infinite recursion. As some parts of the
121181 which was set to the result of the 'lsearch' query and used instead of
121184 This lead to a mixture of querying 'getting_compiler_info' or
121188 getting_compiler_info to the front of the procedure. It is set to true
121190 procedure's options (just as before) and queried instead of doing an
121191 lsearch on the procedure options in the rest of the procedure.
121206 The Intel version of the flag is '-module' which serves the same purpose.
121211 The last uses of the F77_FOR_TARGET via passing f77 to GDB's compile
121224 The reason we'd like to get rid of this now is, that we'll be
121298 this commit by making use of 'with_test_prefix'.
121317 objdump output instead. Touches lots of testsuite files.
121332 FAIL: gdb.trace/signal.exp: find syscall insn in kill
121343 The current "Specify Location" section of the GDB manual starts with:
121346 of your program's code."
121362 The issue here is that "location" isn't really correct for most of
121364 placeholder that represent an umbrella term for all of the
121369 locations in the program that correspond to the address/file/lineno of
121371 libraries of all the inferiors. A location specified like "-function
121372 func -label lab" matches all the addresses of C labels named "lab" in
121375 This means that several of the commands that claim they accept a
121387 instruct GDB how to find locations of interest. This is distinct from
121390 specification or the shorter "location spec" thoughout instead of
121395 - renames the "Specify Location" section of the manual to "Location
121412 same time, tweaks the description of the affected commands to
121421 One MI command -- "-trace-find line" -- currently says it accepts a
121452 Given the list of 64-bit BFD files in
121461 find the correct disassembler function instead of finding a null pointer.
121485 (dict_type, pc): Use it here. Adjust uses of pc.
121487 of function.
121493 Catch out of memory.
121530 zfh extension but use GPRs instead of FPRs.
121535 changelog in V2: Add missing classes of 'zfh' and 'zhinx' in
121566 gdb/python: improve formatting of help text for user defined commands
121601 The problem of course, is that GDB is using the Python doc string
121619 relative indentation of lines is retained.
121630 Which I think is much neater. Notice that the indentation of the
121634 I've added a NEWS entry to note that there has been a change in
121642 Make use of gdb::unique_xmalloc_ptr<char> to hold the documentation
121645 is the removal of the call to free toward the end of this function.
121684 handler did not find "show" in the command name, violating an
121714 Disassembly of section .text:
121725 the '\0' character at the end of the mnemonic.
121760 mnemonicendp, but now a bunch of tests start failing, we now produce
121765 ...except I'm not a fan of trailing whitespace, so I'd really rather
121791 Remove much of BFD_HOST configury
121792 This patch removes the definition of bfd_uint64_t and bfd_int64_t as
121795 Remove use of bfd_uint64_t and similar
121796 Requiring C99 means that uses of bfd_uint64_t can be replaced with
121807 * libcollector/configure.ac: Use AC_MSG_WARN instead of AC_MSG_ERROR
121812 x86/Intel: allow MASM representation of embedded rounding / SAE
121815 (now legacy) one. Short of having access to a MASM version to actually
121825 Adjust some, but not all of the testcases.
121830 As a preparatory step to allowing proper non-operand forms of specifying
121837 x86/Intel: adjust representation of embedded rounding / SAE
121846 x86/Intel: allow MASM representation of embedded broadcast
121851 Acceptance of the original {1to<n>} operand suffix is retained both for
121856 Adjust some, but not all of the testcases.
121860 x86/Intel: adjust representation of embedded broadcast
121922 aarch64-fbsd-nat: Move definition of debug_regs_probed under HAVE_DBREG.
121930 most of the quick_function's methods.
122062 The core of the issue is that GDB never loads the psymtab for the
122063 library. It is not loaded when we first see the .so because in case of
122082 Instead of requiring each implementation of the quick_functions to check
122090 This patch proposes to wrap the access of the `qf` field with an accessor
122138 This requires changing the users of the index to iterate over multiple
122185 arm: avoid use of GNU builtin function in s_arm_unwind_save_mixed
122187 yesterday I noticed that we were making use of __builting_clzl
122191 of unnecessary iterations steps. So this patch does that (and also
122192 removes the source of the warning that Luis was trying to fix).
122193 Finally, with the rewrite we can also simplify the caller of this
122264 breakpoint is disabled are displayed with "y" in the Enb colum of
122285 left side of the source window, with "b-" for a disabled breakpoint.
122305 COMMAND. This in turn introduced a number of PATH/DUPLICATE
122311 commit, but tries to avoid it if possible. Most of the patch fixes
122312 DUPLICATE issues the usual way, of using with_test_prefix or explicit
122351 COMMAND. This in turn introduced a number of PATH/DUPLICATE
122357 of tests exercising some racy scenario. In the latter case, if we
122359 different testsuite runs emit a different number of PASSes.
122363 the old way of supressing PASS with an empty message, this has the
122429 * write.h (struct fix): Increase size of fx_pcrel_adjust.
122476 files, as a way of trying harder to enforce noinline/noipa/noclone.
122508 Note that the test-case intends to check the handling of debug info for
122528 warning: Unexpected size of section `.reg/7742' in core file.
122531 warning: Unexpected size of section `.reg/7742' in core file.
122544 all of GDB's DFP tests pass.
122561 The test in read_and_display_attr_value is a little bit of hardening.
122592 …gdb/arch/aarch64.h:48:13: error: specialization of 'template<class _Tp> struct std::hash' in diffe…
122599 Define a constant for the number of registers stored in a register set
122600 and use this with register_size to compute the size of the
122663 print-utils.cc:281:29:runtime error: negation of -9223372036854775808 cannot \
122669 By running in a debug session, we find that this happens during printing of:
122716 More concretely, we have trouble finding the type of obj. With gcc 8:
122768 checking the sign of OFFSET_TO_TOP. */
122772 but it's not activated because of the 'else'.
122791 loop. This reduces the number of tests from 17744 to 15572.
122803 present in shared/private clause of OpenMP Task construct. Please note that
122806 In case of OpenMP, compilers generate artificial functions which are not
122807 present in actual program. This is done to apply parallelism to block of
122833 Even after the previous patches reworking the inheritance of several
122852 of "breakpoint". I'm just refering to naming here -- I mean, you'd
122856 Just flipping the names of breakpoint and base_breakpoint around
122857 wouldn't be super great for us, IMO, given we think of every type of
122940 that by making set_bp_overloaded take a list of expected created
122942 procedure to use gdb_test_multiple instead of send_gdb/gdb_expect
122956 The point of that breakpoint is to intercept std::terminate calls that
122957 happen as result of the called thread throwing an exception that won't
122982 Add/tweak intro comments of struct breakpoint and several subclasses
122983 This tweaks the intro comments of the following classes:
123007 I did try to propagate more use of base_breakpoint to avoid casts, but
123014 Move common bits of catchpoint/exception_catchpoint to breakpoint's ctor
123015 Move common bits of catchpoint and exception_catchpoint to
123036 struct catchpoint's ctor was the last user of init_raw_breakpoint, so
123040 catchpoint inherit struct breakpoint instead of base_breakpoint. This
123068 actually prints the addresses of watchpoints, but I think it would be
123076 Make exception_catchpoint inherit base_breakpoint instead of catchpoint
123081 This adds a bit of duplicated code to exception_catchpoint's ctor
123104 This moves initialization of internal_breakpoint's breakpoint fields
123149 It removes a use of init_raw_breakpoint.
123151 To avoid manually adding a bunch of parameters to
123153 constructors of a number of different base_breakpoint subclasses, make
123161 None of init_breakpoint_sal, create_breakpoint_sal, and
123162 strace_marker_create_breakpoints_sal make use of their "internal"
123177 Make a few functions work with base_breakpoint instead of breakpoint
123196 Move initialization of ranged_breakpoint's fields to its ctor.
123203 This commit replaces a chunk of code in break_range_command by an
123231 Make add_location_to_breakpoint be a method of struct breakpoint.
123244 than the expected order of prefix word followed by the suffix word. GDB
123248 prefix part of the instruction, following the initial suffix word, gdb
123264 the prefix followed by the suffix of the instruction.
123266 The patch rearranges the instructions to put all of the word instructions
123347 base operand of '->' has non-pointer type 'bound_minimal_symbol'
123368 There is a modest RAM increase of 180 MB in this binary (the existing
123377 link_info.warn_execstack. This has the benefit of making the value an
123390 * configure.ac (DEFAULT_LD_WARN_EXECSTACK): Use values of 0,
123393 * lexsup.c (parse_args): Adjust setting of link_info.warn_execstack.
123412 Update the 'info pretty-printer' example in the manual to make use of
123413 @value{GDBP} instead of hard-coding '(gdb)'.
123417 gdb/doc: make use of group/end group in 'info pretty-printers' example
123418 The 'info pretty-printers' example is pretty long and consists of many
123429 the output of one GDB command, and before the subsequent command, this
123501 which is out-of-bounds.
123504 copy of string_view (used with C++ < 17) does not have the assert in
123521 Arm64: force emission of ILP32-dependent relocs
123526 returned to force retaining of the [eventual] relocations. This is also
123527 spelled out individually for each of them in md_apply_fix().
123534 in fact reduces the overall amount of code, and in particular the number
123535 of places which need to remain in sync.
123543 Neither of the tools is really a linker, so whatever was originally
123549 Instead of re-arranging the present if(), fold this logic with that of
123558 While altering this also join two adjacent blocks of case labeled
123563 don't over-align file positions of PE executable sections
123566 This involves first of all clearing D_PAGED for images when section and
123567 file alignment together don't permit paging of the image. The involved
123569 compiler warning) that 'page_size' should be of unsigned type (as in
123574 too high, but I'm wary of changing that logic without knowing of
123577 Furthermore file positions in PE should be independent of the alignment
123610 Replace the sve bool member of aarch64_features with a vq member that
123618 growing number of arguments.
123637 block of case labels leading to a return of 1. While not of interest for
123650 oops - forgot changelog entry for the previous delta.
123653 * config/tc-arm.c (parse_reg_list): Add handling of mixed register
123706 * testsuite/binutils-all/nm.exp: Add test of new feature.
123717 As a cleanup, instead of using llength and lindex to get at the
123722 gdb_test -prompt/-lbl instead of gdb_test_multiple as examples.
123746 Move testing of language unknown out of the $supported_archs loop in
123747 gdb.base/parse_number.exp. This reduces total amount of tests from 18466 to
123802 actually being comments of some very specific form.
123808 line/file "directive" is converted to .linefile, but the amount of
123810 decimal digits for the line part of the contruct). Since the scrubber
123819 to avoid implementation defined behavior (which may be the raising of an
123823 clean way of avoiding this assumption. Omitting the #ifdef, otoh, would
123845 First of all convert to switch(), in preparation of adding another
123847 A string the first two characters of which do not match "if" also wont
123864 instead of its IA32 counterpart.
123906 finishing handling some command. The full prototype of gdb_test is:
123921 is specified, gdb_test should ensure it comes out of GDB.
123923 Running the testsuite exposed a number of tests that pass
123951 sequence of commands that is repeated those 3 times. Factor all that
123968 A following patch will make gdb_test expect the question out of GDB if
123988 …ERROR: Unexpected arguments: {set test-file-param bar.txt} {The name of the file has been changed …
124078 gdbsupport/event-loop.cc throughout handles the case of use_poll being
124084 Then, move the code that checks the value of use_poll under HAVE_POLL
124139 gdb/testsuite: fix "continue outside of loop" TCL errors
124146 Where conditions varied, but were mostly in the form of ![runto_main] or
124149 errors, as most of these tests are not inside loops. All cases on which
124187 to return a "const char *". I couldn't build many of these targets,
124190 a bit closer, and allows for the removal of a const_cast as well.
124202 but at least for my mingw builds of gdb, this seems to be the case.
124227 Diffing hexdumps of before/after patching, reveals that a "0x1" was
124247 the file using the execution view of the file (program header table)
124251 The process status information (including the contents of the general
124253 segment of type PT_NOTE. We handcraft a couple of extra bfd sections
124268 fixes it. If we do that however, the tail end of
124269 _bfd_elf_set_section_contents ends up as a copy of
124288 sim: remove use of PTR
124300 gdb: remove use of PTR
124407 - remove use of unnecessary tmp file
124414 [gdb/testsuite] Fix gdb.dwarf2/dw2-out-of-range-end-of-seq.exp on aarch64
124415 On aarch64-linux, with test-case gdb.dwarf2/dw2-out-of-range-end-of-seq.exp I
124419 Starting program: dw2-out-of-range-end-of-seq ^M
124423 1 /* This testcase is part of GDB, the GNU debugger.^M
124424 (gdb) FAIL: gdb.dwarf2/dw2-out-of-range-end-of-seq.exp: runto: run to main
124429 breakpoint pointing in the middle of an insn
124431 test-case uses 'main_label' as the address of the first and only valid entry
124438 - eliminating the use of "DW_LNS_advance_pc 1", and using
124440 - eliminating the use of main_label, using "DW_LNE_set_address $main_start"
124450 * cgen-dis.c (hash_insn_list): Increase size of buf. Assert
124464 expecting zero as the min end of the range is plainly wrong, but
124526 longer is called at the end of test_catch_syscall_multi_arch.
124545 - the matching of the second "Cooked index in use" also consumes
124549 Fix this by limiting the output of the command to the exec.
124621 opcodes cgen: remove use of PTR
124623 due to failure of bpf to compile with that patch applied.
124663 The disassembly of the above func function shows that we may use
124676 # of expected passes 5
124677 # of unexpected failures 1
124681 # of expected passes 6
124745 I.e., std::string is expanded to "class std::..." instead of just
124749 typedef type using the language of the symbol whose type we're
124767 most language implementations of language_defn::print_type call
124769 overloads of c_print_type, one that takes a language, and one that
124771 the point of calling language->print_type()...
124824 "In addition, the following catalog of abbreviations of the form "Sx" are used:
124846 Back before Jan's patch in 2011, there were parts of GDB that used
124858 mangled name of a function such as "void f(std::string)" that was
124863 For example, the mangled name of "void f(std::string)" if you compile
124927 To avoid getting in the situation where some parts of GDB use
124929 demangler's entry points that GDB uses, and makes those force
124932 The point of the gdb.cp/no-dmgl-verbose.exp testcase was to try to
124955 (in bytes) both seem to be limited by the maximum value of a 4
124967 arrays of length/byte-size bigger than the 4 byte signed integers which
124972 byte size of a C_NULL_PTR via C_SIZEOF, both defined in the ISO_C_BINDING
124977 4 byte overflow tests in the compiled tests of size.f90 and
124981 In size.f90, additionally, the to-be-allocated amount of bytes did not
124982 fit into 4 byte signed integers for some of the arrays, as it was
124983 approximately 4 times the maximum size of a 4 byte signed integer. We
124984 adapted the dimensions of the arrays in question as the meaningfulness
124985 of the test does not suffer from this.
125003 the assignment is done dynamically, depending on the kind of machine one
125035 class appears a number of times:
125070 type exists. This reduces the size of a -O0 -g3 build for me by
125095 gprof: remove use of PTR
125096 * basic_blocks.c: Replace uses of PTR with void * throughout.
125103 gas: remove use of PTR
125108 opcodes: remove use of PTR
125109 The non-cgen parts of opcodes.
125120 bfd: remove use of PTR
125122 * elf32-csky.c (csky_elf_link_hash_traverse): Remove use of PTR
125131 include: remove use of PTR
125143 of two problems with the generic overflow check:
125169 The problem that was encountered here is that the output of the first
125203 I've verified in ./arch/x86/entry/syscalls/syscall_32.tbl that the numbers are
125257 The original intent of the test was that the Ctrl-D be sent while GDB
125274 [gdb] Make btrace maintainer entry more clear
125281 to clarify that the listed maintainer is only maintainer of the btrace part of
125303 - adding a pipe2 entry in gdb/syscalls/i386-linux.xml.in, and
125326 "linux: Implement pipe in terms of __NR_pipe2", and consequently syscall pipe2
125327 is used instead of syscall pipe.
125362 "linux: Implement pipe in terms of __NR_pipe2", and consequently syscall pipe2
125363 is used in stead of syscall pipe.
125418 reflect the result of "p 19".
125493 in case of error during setup.
125533 - consumes more than one of those messages at a time, but
125534 - counts only one of those messages.
125548 Simon pointed out that some recent patches of mine broke "catch
125549 syscall". Apparently I forgot to finish the conversion of this code
125595 This patch includes a test for this issue as well as a back-port of
125596 (the important bits of) readline commit:
125612 a number of casts to bfd_signed_vma that cause undefined behaviour
125637 On PowerPC, the stop in the printf function is of the form:
125703 field, but this is already done by virtue of calling "new".
125736 The break point after the stepi on Intel is the entry point of the user
125770 from getting out of balance. The patch ensures that the entire
125771 user/kernel/vdso cycle is balanced with the addition of the "brctl"
125774 The second patch, fixes the semantics of __kernel_sigtramp_rt64(). A new
125776 trampoline which now consists of two parts.
125803 Fix that by not removing the target of the rule, a practice that seems
125804 likely to cause parallel running of the rule recipe. The bug goes
125835 the actual address of foo.
125837 Fix this by printing the address of foo using the result of gdb_compile_shlib.
125846 A rather straightforward patch to change an instance of callback +
125855 By mistake, $target was used instead of $host to configure the gprogng build.
125909 a 32-bit architecture, so should be placed outside of the BFD64 block.
126001 removing some of the static casts.
126043 …#0 thread_regcache_data (thread=thread@entry=0x0) at ../../../repos/binutils-gdb/gdbserver/inferi…
126044 …#1 0x0000aaaaaaabf0e8 in get_thread_regcache (thread=0x0, fetch=fetch@entry=0) at ../../../repos/…
126048 … check_mem_read (mem_addr=187649984471104, buf=buf@entry=0xaaaaaab625d0 "\006", mem_len=mem_len@en…
126054 …#11 0x0000aaaaaaafbcd0 in gdb_wait_for_event (block=block@entry=1) at ../../../repos/binutils-gdb/…
126061 This sequence of functions is invoked due to a series of conditions:
126065 2 - ... gdbserver has to know what type of architecture it is dealing
126069 3 - To determine the size of a register, we currently fetch the
126080 process's tdesc instead of the current thread's tdesc.
126114 one of these processes.
126131 /* We are now (hopefully) stopped at the first instruction of
126134 Instead of hacking GDBserver, it should also be possible to test this by
126160 inferior instead of just for one.
126167 Commit 152a17495663 ("gdb: prune inferiors at end of
126168 fetch_inferior_event, fix intermittent failure of
126175 terminate called after throwing an instance of 'gdb_exception_error'^M
126195 ... where 0x7ffff7d7ac5a is the exact address of the vfork syscall
126198 The important part of the above is that a vfork syscall creates inferior
126237 [infrun] start_step_over: stealing global queue of threads to step, length = 0
126258 [infrun] start_step_over: stealing global queue of threads to step, length = 0
126267 terminate called after throwing an instance of 'gdb_exception_error'
126302 /* The remote side has no concept of inferiors that aren't running
126336 Dwarf: rename yet another instance of "index"
126350 PowerPC32 treatment of absolute symbols
126438 through the context of the previously selected Hg thread.
126473 # of expected passes 3
126474 # of unexpected failures 1
126475 # of unsupported tests 1
126502 I found it really useful to print the executing/resumed status of all
126506 This debug was originally part of the above patch, but I wanted to
126520 amount of memory to allocate.
126524 objdump: fix styled printing of addresses
126544 gdb/testsuite: change mi_gdb_start to take a list of flags
126545 After this previous commit I was thinking about the API of
126546 mi_gdb_start. I felt that the idea of passing flags as separate
126551 argument, which should be a list of flags. Thus, where we previously
126575 drop the use of eval.
126602 The proc default_mi_gdb_start expects to take a set of flags (strings)
126603 as arguments, each of flag is expected to be a separate argument. The
126633 default_mi_gdb_start, instead of seeing two separate arguments, we see
126642 This commit fixes the problem by making use of the eval trick within
126643 the native-extended-gdbserver version of mi_gdb_start. After this,
126644 the FAIL listed at the top of this message is resolved.
126657 set of failures, but I always see some from the 'run failure detected'
126684 If this happens then we drop out of the gdb_expect without ever seeing
126687 In this commit, I place the spawn-id of gdbserver into a global
126708 align.cc:29:23: error: invalid application of 'alignof' to a void type^M
126720 Currently debuginfod is disabled when the string of server URLs
126772 The gnulib commit mentioned fixes the exception specification of `free`.
126842 rl78--and mep_print_insn() for mep--access ELF variants of union fields
126866 favor of statically-initialize objects.
126870 in favor of base_breakpoint_ops.
126873 At this point, all implementations of breakpoints use the vtable. So,
126909 An earlier patch removed the last use of bkpt_base_breakpoint_ops, so
126916 Because the actual construction of a breakpoint is buried deep in
126939 Change inheritance of dprintf
126940 The dprintf breakpoint ops is mostly a copy of bpkt_breakpoint_ops,
126960 Add some new subclasses of breakpoint
126961 This adds a few new subclasses of breakpoint. The inheritance
126969 patches will change some of these entries.
127001 exceptions of create_sals_from_location and create_breakpoints_sal,
127003 during the construction of breakpoints.
127008 because they are just a stepping stone -- by the end of the series,
127036 moves it out of breakpoint.c and into a new file, break-catch-load.c.
127057 old one. I tested both the new and old versions of gdb on both new
127058 and old versions of the index, and startup time in all cases is
127092 Commit 152a1749566 ("gdb: prune inferiors at end of
127093 fetch_inferior_event, fix intermittent failure of
127146 [infrun] start_step_over: stealing global queue of threads to step, length = 0
127149 [infrun] proceed: start: resuming threads, all-stop-on-top-of-non-stop
127155 [infrun] proceed: end: resuming threads, all-stop-on-top-of-non-stop
127192 pruned. When debugging, we find that when getting at the
127205 ID 2> has terminated." instead of "No thread
127217 after the loop (I presume the current thread on entry is always supposed
127218 to be the event thread). But in this case, the event is of kind EXITED,
127249 - otherwise, if PTID is a wildcard (all threads or all threads of
127251 indicates which set of threads run free.
127258 - PTID indicates the set of threads that run free.
127279 The recent gnulib import caused a build failure of libinproctrace.so
127299 to allow function pointer reference and make sure that PLT entry isn't
127330 typedef. This patch removes most uses of "typedef enum" -- the
127332 glibc_thread_db.h, which I think is more or less a copy of some C code
127408 instead of bfd_link_pic for TLS.
127417 (say, two arrays of different sizes with the same name in two different
127427 runs of ld with the same inputs can produce different outputs!
127441 of this change.
127490 the map of a const blockvector will return a const addrmap.
127598 of a "long" type, and this isn't currently accounted for in
127662 the different combinations of types/sizes every time.
127664 * Adjusts the expected values and types based on the sizes of long
127698 This patch makes use of the support for several stack pointers
127715 This implies that we tested only some parts of this patch (only MSP*
127725 unwinding, and replaces all updates of cache->prev_sp with calls to
127731 This patch is a preparation for the rest of the series and adds two
127748 for vpush of D-registers.
127761 fixed the nit in this patch. The root of the problem is not correctly
127762 matching the presentation of internal breakpoints.
127810 This patch adds PowerPC specific tests to verify recording of various
127812 The second test case tests several of the ISA 3.01 instructions. Specifically,
127813 it checks the word and prefixed instructions and some of the Matrix
127825 number of the existing routines for recording the 32-bit word instructions.
127827 prefix instructions are all handled by a set of new routines. The function
127830 sets of prefixed instructions. These new functions are:
127848 simply discard the name. This patch makes both of these changes.
127902 vector_register2_vr variables are updated to include the new float128 entry.
127904 of the vs registers is updated.
127927 …Emit a note warning the user that creating an executable stack because of a missing .note.GNU-stac…
127930 user that the current ehaviour of creating an executable stack
127931 because of a missing .note.GNU-stack section is deprecated and
127972 threads as one of them might miss the breakpoint which is temporally
128020 gdb: move setbuf calls out of gdb_readline_no_editing_callback
128040 This commit does two things, first moving the setbuf calls out of
128059 gdb: handle_no_resumed: only update thread list of event target
128095 - handle_no_resumed tries to update the thread list of all targets:
128103 - When trying to update the thread list of inferior 1's target, it hits
128110 don't think it is necessary to update the thread list of all targets,
128111 but only the event target. That comment describes a kind of race
128121 handle_no_resumed to only update the thread list of the event target.
128144 Direct leak of 32 byte(s) in 1 object(s) allocated from:
128155 Indirect leak of 56 byte(s) in 1 object(s) allocated from:
128175 (which calls remove_process), and call that instead of remove_process in
128176 the Linux target. Move the free-ing of the extra data from the mourn
128188 the worst results of the bug, but was not a complete solution. The
128202 Please read that commit for a full description of the bug, and why is
128208 old printing of 'quit' in command_line_handler. Of course, we only
128213 There are two aspects of this commit that are worth further
128236 with older versions of readline. GDB can be built against the system
128243 used now if the version of readline we are using doesn't not include
128244 the required fixes. And so, if a user is using an older version of
128252 older version of readline.
128254 Using a newer version of readline, or the patched version of readline
128266 This commit is a partial back-port of this upstream readline commit:
128274 runs of invisible characters at the end of a physical \
128277 I have only pulled in the parts of this commit that relate to the new
128289 the version of readline that we maintain in the binutils-gdb
128292 the meaning of this code at all from what is in upstream readline.
128310 consequence of this work around is that, when bracketed paste mode is
128325 readline 8, older versions of readline don't require the change.
128328 of readline (this fix is back-ported from upstream readline), and then
128355 …gdb: prune inferiors at end of fetch_inferior_event, fix intermittent failure of gdb.threads/fork-…
128377 What we see is part due to a possible unfortunate ordering of events
128380 The test program makes a number of forks, waits them all, then exits.
128381 Most of the time, GDB will get and process the exit event for inferior 1
128382 after the exit events of all the children. But this is not guaranteed.
128396 "exited normally" notification for inferior 11, then the list of threads
128412 I think that can be considered a GDB bug. From the user point of view,
128441 and to avoid the use of alloca by instead using std::string.
128450 replaced by calling bfd_get_filename directly in a couple of debugging
128456 removal of helper functions and types.
128467 However, this meant that the internal map to find the qualified name
128486 The value RIGHT is needed to force the address of the library functions
128494 wrong cases. That is the point of introducing function lib2_spacer
128497 On Intel, the ARRAY_SIZE of 1 versus 8192 is sufficient to get the
128498 dynamic linker to move the addresses of the library. You can also get
128536 believe it has to do with the default size of the data and code
128553 functions do not show up in the object dump of the Intel or Powerpc
128577 The issue then is on Power where the ARRAY_SIZE of 1 versus 8192 is not
128579 different addresses. I don't claim to understand the specifics of how
128583 default size of the data section allocated by the dynamic linker on
128594 With the patch to fix the definition of RIGHT, PowerPC has a bad and a
128595 good backtrace because the address of lib1_func3 and lib2_func4 both
128635 commit removed the location from the test name, in favor of a hardcoded
128643 is a bit superfluous. mi_get_stop_line only uses that string in case of
128700 commit attempted to make use of 'static' to solve this problem,
128714 double slash at the beginning of a file path has a special meaning. So
128731 support the use case of prepending a sysroot path to a target file path,
128751 gdb_spawn_attach_cmdline: use unsupported instead of untested
128754 attach to the process because of ptrace restrictions (operation not
128837 Trailing whitespace in the string of debuginfod URLs causes an
128838 out_of_range exception during the printing of URLs for the first
128842 consists only of whitespace.
128862 repetition of those arguments, gdb_spawn_attach_cmdline does not repeat
128886 the aclass index isn't useful outside of the symbol implementation.
128899 of index. Until an earlier patch in this series, two of these were
128908 versions of .gdb_index. This patch adds an ad hoc version check
128909 method so that these spots can work without specific knowledge of
128923 This introduces readnow_functions, a new subclass of
128963 This reverts the test committed as part of 6ea673e2d6.
129045 ldinfo->strings instead of directly in the output_bfd.
129074 of a symbol. However, I think it's better for all users to call
129086 string when there is no parent entry.
129095 function prologue from START_PC to LIMIT_PC, return the address of
129125 As a consequence, the list of selftest effectively executed depends on
129152 This patch adds a way to delay the registration of tests until the
129190 sizes, hence there are no pairs of operands to check for consistent
129195 cloned or used as reference here, and instead the bogus legacy forms of
129202 REX.R and REX.X as well as empty REX. None of these are forms of
129217 gdb/testsuite/dwarf: don't automatically add directory and file entry for DWARF 5
129227 Get rid of this behavior, and implement what is suggested in
129229 used to refer to that directory entry (based on the DWARF version), and
129241 gdb: use gdb_tilde_expand instead of gdb_tilde_expand_up in source_script_with_search
129242 Since this is the latest use of gdb_tilde_expand_up, remove it.
129249 I'm trying to switch these functions to use std::string instead of char
129251 doing a copy of the result), while others suffer (have to make one more
129259 I'm trying to switch these functions to use std::string instead of char
129261 doing a copy of the result), while others suffer (have to make one more
129268 gdb: call gdb_tilde_expand instead of gdb_tilde_expand_up in source_script_with_search
129269 This removes a use of gdb_tilde_expand_up, which is removed later in
129277 This updates gnulib to a relatively recent commit. Most of this was
129285 Fix C++ cast of derived class to base class
129288 missing use of value_embedded_offset. One peculiarity here is that,
129290 offset of 0, the cast would work -- for example, one of the two new
129293 This embedded offset stuff is an endless source of bugs. I wonder if
129294 it's possible to get rid of it somehow.
129324 regardless of what is the current source file.
129339 To centralize the logic of checking which option is supported, add the
129367 # of expected passes 26
129368 # of unexpected failures 9
129397 some earlier implementation of the class.) Then, I noticed that the
129436 This adds an implementation of the value_print method to Rust. As
129437 described in PR rust/22254, this removes a bit of weird-looking output
129462 This removes a bit of dead code from the Rust value printer. This
129592 memory while threads were running, but at the expense of pausing all
129593 threads for the duration of the memory access, via
129604 seen out of ptrace. I.e., there's no need to keep the file descriptor
129642 This is accomplished by sending a no-op memory write of zero length
129658 argument of the_target->write_memory is passed the data() of a local
129673 target_pause_all instead, which is what the Linux implementation of
129688 --gc-sections, and winds up with an entry in the middle of a
129689 .debug_aranges that has both address and length of 0. In this
129691 reject the section because it reads a subsequent entry as if it were a
129694 It seems to me that, because each header describes the size of each
129707 This is part of PR win32/29050.
129714 This patch is a bit different from the rest of the series, in that it
129719 This is part of PR win32/29050.
129722 because the Windows port of the libstdc++ thread code is not upstream.
129742 This moves the two overloads of target_read_string to a new file,
129751 This renames read_string to be an overload of target_read_string.
129775 The relevant part of the gdb.log file is:
129809 Currently, one use of target_waitstatus yields a warning:
129873 the "ThreadEvent" text out of the list of events, where it seemed to
129888 …/home/smarchi/src/binutils-gdb/gdb/dwarf2/cooked-index.h:225:16: note: move constructor of 'cooked…
129898 …utils-gdb/gdb/dwarf2/cooked-index.h:225:16: note: move assignment operator of 'cooked_index' is im…
129910 cooked_index has a field of type auto_obstack, which isn't movable.
129941 …/home/loongson/gdb.git/gdbsupport/../gdbsupport/thread-pool.h:69:44: error: declaration of ‘task’ …
129948 …/home/loongson/gdb.git/gdbsupport/../gdbsupport/thread-pool.h:80:41: error: declaration of ‘task’ …
129966 and eventually into all sort of fails in this and other mpx test-cases.
129975 Before the change tc-m68k maintained a list of seen labels.
130023 …ils-gdb/gdb/mips-tdep.c:453:12: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise…
130068 ubsan: member access within null pointer of union
130098 It looks like even if the size is 0 (the size of the `entries` vector is
130102 Fix that by using std::vector::insert to insert the items of entries
130118 pointer to the last linetable entry, pop it from the vector, and then
130126 I can't test them. I was hesitant to do this change because of that,
130128 platform should hold back improving the code in the common parts of GDB.
130133 instead of returning possibly a new one, possibly the same one.
130173 Allocate struct subfile with new, initialize its fields instead of
130176 of subfile (and therefore owned by the buildsym_compunit.
130179 find where subfiles are freed in that file, I assume they were
130186 gdb: use decltype instead of typeof in dwarf2/read.c
130202 gdbsupport: use result_of_t instead of result_of in parallel-for.h
130205 …gdbsupport/parallel-for.h:134:10: error: ‘result_of_t’ is not a member of ‘std’; did you m…
130244 baseline of 1.598869 to 0.903534.
130271 deleted in a future patch, when the rest of the DWARF psymtab code is
130277 To support the removal of partial symtabs from the DWARF index writer,
130302 of the indexes. This patch improves the apparent performance of GDB
130303 by moving it to the background. All uses of the index are then made
130309 end of this series, we see about a 10x speedup.
130320 then scans a subset of all the CUs in each such thread, using gdb's
130351 This approach requires some locks. I couldn't think of a better way
130372 I did a bit of performance testing for this patch and a few others. I
130387 This is the code that interfaces between the new index and the rest of
130402 object. This is done to support the parallelization of this code -- a
130421 -- help improve the performance of this approach. This will become
130451 a static property of the DIE's abbrev. It also turns out that many
130454 from the start of the DIE.
130481 this is just an artifact of the implementation of
130486 though, it is convenient to have a cache of DWARF abbrevs. This way,
130502 Return vector of results from parallel_for_each
130503 This changes gdb::parallel_for_each to return a vector of the results.
130516 just parts of it. In order to make this possible, this patch
130521 Add new overload of dwarf5_djb_hash
130522 This adds a new overload of dwarf5_djb_hash. This is used in
130608 Fix this by using gdb_test_lines instead of gdb_test.
130616 of enumerator names. This bug caused a crash, so this patch adds a
130627 However, it turns out I somehow neglected to send part of the patch.
130650 With the sole user of the return value gone, convert the return type to
130659 for them. As a result in a number of case function parameter aren't used
130667 not using .file/.line and alike outside but not inside of .macro, has
130670 macro, while the goal of the PR gas/16908 workaround is to keep the
130674 bumping of the logical line number.
130684 expanding_none, yet none of the other enumerators fit there either. And
130693 not using .file/.line and alike outside but not inside of .irp et al,
130705 state stack, and hence can be taken from there by using a new flavor of
130708 file/line control occurring in the body of the construct, as these will
130724 * configure.ac: Check version of bison.
130745 Earlier versions of the change in
130799 The earlier version of this document had no sections about the
130817 parameter determines the kind of the associated return value. So far,
130818 implementation of this kind parameter has been missing in GDB.
130828 is called with a certain amount of arguments (1/2/3). The helper methods
130832 After adding more overloads to the intrinsics handling, some of the
130842 Rename f77_keywords to f_keywords since some of the introduced keywords
130848 Currently, when asking GDB to print the type of a Fortran default type
130849 such as INTEGER or REAL, GDB will return the default name of that type,
130885 This indicates to a user that the type of "integer" is Fortran's default
130889 compiler flags used at compile time of a debugged binary, this might be
130893 so an integer of the size of an integer*4 type. On the other hand having
130903 underlying type of any variable declared "integer" in the Fortran code.
130942 intrinsic type INTEGER. GDB implemented the handling of the
131005 According to the Fortran standard, logical is of the size of a
131008 logical type) is of size kind 4, actually occupying 4 bytes of
131029 is a mixup in the implementation of the Fortran COMPLEX type. In
131033 specify not the size of the whole type but the size of the individual
131035 consist of two REAL*4s. Internally this type was represented by a
131037 size of the type. This is confusing and I renamed the types (e.g.
131056 Add builtin_integer_s1 of size TARGET_CHAR_BIT to Fortran builtin types.
131067 The problem is that the commit makes the number and order of matched
131105 for the prologue part of the function, so consequently gdb uses the i386
131140 As the comment says, hppa doesn't support use of BFD_RELOC_* in
131189 I noticed that a build of GDB with GCC + --enable-ubsan, testing
131194 …../../src/gdb/valarith.c:1365:15: runtime error: left shift of 48320975398096333 by 46 places cann…
131200 left shift, because the result is not representable in the type of the
131207 by a negative ammount, or by >= than the bit size of the promoted lhs.
131233 explicit result paths, or by casting the lhs of the left shift to
131237 get if you split the large count in a series of smaller shifts.
131289 warning: right shift count >= width of type
131292 warning: left shift count >= width of type
131330 I moved get_set_option_choices out of all-architectures.exp.tcl to
131333 "set" part of the command as well. This is so that the proc can be
131418 The test loads the binary in GDB, grabs the address of a symbol, strips
131440 Formalise what ought to be obvious. The top level of the binutils-gdb
131449 Add the print of the base-class of an extended type to the output of
131456 gdb/fortran: add support for accessing fields of extended types
131462 members of a base class in a derived class via the derived class' base
131526 Straightforward change, return an std::string instead of a
131547 the rank of an assumed rank array, GDB can't fetch the contents of an
131550 The history of this patch can be seen on the mailing list here:
131562 count of the number of ranks, i.e. this is a 1 based result, 1, 2, 3,
131565 In contrast, when computing the details of any particular rank the
131576 array contents, I've then ensured we make use of the correct rank
131636 output, and use it as a separator in the first part of the regexp
131644 places), we can get rid of curly braces around each line number program
131666 Same idea as previous patch, but for symtab::objfile. I find
131668 common to all symtabs of a given compunit. Otherwise, you could think
131669 that each symtab (of a given compunit) can have a specific objfile.
131688 used to find that symtab's file during compilation (i.e. the directory
131690 directory part of the symtab's filename maybe. In fact, it returns the
131691 compilation unit's directory, which is the CWD of the compiler, at
131712 useful upstream, eventually, even though not callers take advantage of
131733 of these removed functions.
131767 Make use of this function throughout GDB instead of the existing
131772 Most of these changes are pretty straight forward, using range based
131773 for loops instead of the old style look using reggroup_next. There
131779 use an index counter to find the next item from the vector when
131784 I've just inlined the logic of the old functions into the tui
131806 There's a set of 7 default register groups. If we don't add any
131809 reggroup_prev we will make use of these 7 default groups. See the use
131810 of default_groups in gdb/reggroups.c for details on this.
131816 A problem arises though if the particular architecture makes use of
131829 around this by adding all (or most) of the default register groups in
131851 all 7 of the defaults, which will now have gained additional groups.
131855 This prints the set of all available groups. As a maintenance
131864 can't appear in one of the default groups. Now the groups are
131906 While looking at the 'tui reg' command as part of another patch, I
131909 The 'tui reg' command takes the name of a register group, but also
131939 Convert uses of 'struct reggroup *' in python/py-registers.c to be
131947 Make uses of 'reggroup *' const throughout tui-regs.{c,h}.
131956 script, regeneration of gdbarch.{c,h}, and then updates to all the
131981 initialize_current_architecture code, specifically from one of
131983 couple of issues with GDB.
132002 …-1/gdb/ser-event.c:212:16: runtime error: member access within null pointer of type 'struct serial'
132046 The problem is that call_readline is setup as a result of calling
132053 Looking through captured_main_1 there seems to be a bunch of
132061 I propose a simpler solution, more of a hack/work-around. In utils.c
132063 checked in a few places within internal_vproblem. In some of these
132180 gdb: mips: Fix the handling of complex type of function return value
132196 From the above disassembly, we can see that when the return value of the
132207 # of expected passes 9
132208 # of unexpected failures 2
132211 # of expected passes 11
132239 This is caused by 5f8ab46bc691 ("gdb: constify parameter of
132250 /* Actual contents of the value. Target byte-order. NULL or not
132255 entirely optimized out, for example on exit of
132263 value_copy did not have its contents allocated on entry, but had it
132281 efficient than what we had initially, because values coming out of
132289 it's more risky, since it's difficult to ensure that all users of the
132308 This is the last of the correctness fixes I've been carrying around for the
132315 turns into 4294967291 and naturally that changes the result of our division.
132327 failing due to a bug in the handling of the v850e3v5 instruction "bins".
132331 In the case of a 32 bit shift, we know what the resultant mask should be. So
132348 Implement the "init" method of struct tramp_frame to prepend tramp
132376 Add code to display the contents of .debug_loclists sections which contain offset entry tables.
132389 .debug_loclists section that contains offset entry tables.
132393 (display_debug_ranges): Display the contents of the section's
132402 This set of changes enable support for the ARMv8.1-m PACBTI extensions [1].
132404 The goal of the PACBTI extensions is similar in scope to that of a-profile
132414 from ARMv8.1-m PACBTI: pac, aut, pacg, autg and bti. Also keep track of
132417 - Adds code to identify object file attributes that indicate the presence of
132424 - Extends the dwarf unwinder to track the value of RA_AUTH_CODE.
132429 - Makes GDB aware of a new XML feature "org.gnu.gdb.arm.m-profile-pacbti". This
132444 parts of GDB, right?
132450 gdb_disassembly_flag enum, as this is part of the target_ops api.
132453 then included in target.h and disasm.h, after which, the number of
132456 I also audited all the other includes of disasm.h and found that the
132473 forwards most of its calls, making it simpler to implement new such
132497 …db.base/vfork-follow-parent.exp: resolution_method=schedule-multiple: continue to end of inferior 2
132515 Because of the vfork, we know that chronologically, the child exiting
132518 and exit quickly, such that when GDB pulls events out of the kernel,
132525 that the parent loops on that we set only after we confirmed the exit of
132551 And that typically works, when the output of the frame command looks
132556 Note the lack of hexadecimal address in the failing case. Whether or
132558 current PC is at the beginning of a line. So depending on where thread
132568 beginning of a line, or that we don't have debug info, so I think it's
132573 breakpoint placed at the beginning of a line.
132582 The only way I can think of to ensure the child threads are in the
132584 threads using some variables instead of pthread_barrier_wait. So,
132585 replace the barrier with an array of flags (one per child thread). Each
132602 The code in gdb/remote.c:remote_target::rcmd uses isdigit instead of
132608 I see there are lots of other cases of undocumented number format for error
132609 messages, mostly described as NN instead of nn. For now I'll just update
132651 of confined to the addresses of the stepped line. Note that since this
132662 called vfork, and keep the others stopped (see patch "gdb: fix handling of
132735 a fork or vfork event, instead of the SIGSTOP we sent to try to stop it.
132758 a thread list update. That thread list includes the child of that
132763 My reverse-engineered understanding of the code around there is that the
132766 already in event_child->waitstatus (in the case of fork/vfork, for
132771 last bit of information.
132779 The intent of this branch is, for example, when we sent SIGSTOP to try
132788 The fix I propose is to move this snipppet of the else branch of the
132817 gdb: fix handling of vfork by multi-threaded program (follow-fork-mode=parent, detach-on-fork=on)
132841 hit a breakpoint instruction while running outside the control of GDB,
132867 resumes all threads of the parent. The thread that did the vfork stays
132881 There many combinations of settings to consider (all-stop/non-stop,
132890 The guiding principle for this patch is that all threads of the vforking
132897 - In follow_fork, we call stop_all_threads to stop all threads of the
132909 - In follow_fork, no need to stop all threads of the inferior, the
132910 target has stopped all threads of all its inferiors before returning
132917 whether one of the inferiors we are about to resume has
132945 A following patch will want to stop all threads of a given inferior (as
132946 opposed to all threads of all inferiors) while handling a vfork, and
132969 thread in the parent process calls exec or exit while another thread of
133048 an adequate place to set a breakpoint just after the prologue of a
133054 breakpoint should be placed to be at the end of the prologue.
133058 (lets call it foo) which covers PC from 0xa800 to 0xa950. The body of
133109 The processing of this prologue_end flag is made in skip_prologue_sal,
133117 clang/clang++ (version 10.0.0) since at the time of writing GCC does not
133130 Currently when recording a line entry (with
133133 As a later commit will add support for new flags, instead of adding a
133139 this would require a lot of changes across the codebase for no practical
133152 timestamped_file implement can_emit_style_escape (returning the value of
133165 primary symtab of the partial symtab has no symbols. However,
133166 psymbol_functions::expand_symtabs_matching asserts that the result of
133232 I broke several sim/ targets by forgetting to update their uses of the
133233 libopcodes disassembler to take account of the new styled printing.
133244 nat/windows-nat.c has a number of globals that it uses to communicate
133252 A couple of globals remain, as they are needed to truly be global due
133280 of which shared libraries have been loaded. However, many fields in
133282 first -- Windows actually uses solib-target and so the use of so_list
133297 …../../src/gdb/guile/scm-breakpoint.c:377:11: runtime error: load of value 999, which is not a vali…
133312 it chooses to represent a sequence of "."-separated identifiers as a
133314 logic to find the completion word boundaries.
133328 Also, this removes '.' from the list of such tokens. '.' is not used
133347 required in order to match end-of-input correctly, as flex does not
133348 have a general-purpose way of doing this. (The approach taken here is
133355 add more types of completers.
133357 In the old approach, just two kinds of completers were supported:
133369 of the logic of expression completion out of completer.c as well.
133405 symtab did the job of both.
133441 bar1's size is 2 while bar2, bar3, bar4's is 1. The behavior of bar1 makes sense
133460 The behavior of bar2/bar3/bar4 seems brittle. To avoid the reordering of the two
133479 gdb: remove use of vfprintf_filtered
133487 Introduced a new use of vfprintf_filtered, which has been deprecated.
133497 of strings, and then loops over the array printing the arguments out
133499 it's not obvious what the type of each argument is.
133501 Obviously this can be fixed, but I'd like to not do that as part of
133513 output of the disassembler in either objdump or gdb.
133520 instead of fprintf_func.
133530 output of the disassembler in either objdump or gdb.
133537 instead of fprintf_func.
133542 This commit adds the _option_ of having disassembler output syntax
133551 use of --visualize-jumps, a basic 8-color mode ("color"), and an
133560 maintained. And so, a user of the disassembler (i.e. objdump, gdb)
133570 completely, and also do a partial conversion of the x86 disassembler.
133576 no use of the styling information to provide any colors, that will
133590 then patch the choice of colors.
133607 (objdump_print_value): Use fprintf_styled_func instead of
133658 PR talks of a compiler problem, so it should use XFAILs instead.
133664 - using an XFAIL instead of a KFAIL
133681 As arrays with dynamic ranks make use of a single
133682 DW_TAG_generic_subrange to represent all ranks of the array, support
133685 The final piece of this puzzle is to add support in gdbtypes.c so that
133689 responsible for resolving each rank of the array, while the now outer
133704 range isn't part of an array with dynamic rank, and so the range
133708 gdb::optional, however, this ends up adding a bunch of complexity to
133774 gdb/dwarf: pass an array of values to the dwarf evaluator
133776 dynamic property of a type we call the dwarf2_evaluate_property
133780 Currently, this function takes (amongst other things) an argument of
133782 push_initial_value. When push_initial_value then the top value of
133788 address (what the top of addr_stack represents), and the case where
133793 properties of arrays. To do this, we need to push the array rank onto
133798 support Fortran assumed rank arrays. Instead of passing a boolean,
133800 we instead pass an array (view) of values that should be pushed to the
133803 In the couple of places where we previously passed push_initial_value
133870 The reason for this is the ordering of build rules and make variables
133871 in gdb/Makefile.in, specifically, the placement of the tags related
133940 The SOURCES variable was added to gdb/Makefile.in as part of commit:
133954 gdb/tui: fair split of delta after a resize
133996 out the delta in increments of 1 to each window (except for the window
134018 line gap at the bottom of the terminal.
134032 would be a 4 line gap at the bottom of the terminal. This issue was
134045 This commit just adds an extra check of the src window size prior to
134051 winheight and recheck are just extras. All of these test pass both
134058 tui layouts. Consider this set of steps, carried out in an 80 columns
134097 If the user has gone to the effort of adjusting the cmd window size,
134110 a completely different placement for the cmd window, instead of sizing
134115 To solve this problem, I propose we introduce the idea of a layout
134123 a series of 'V' or 'H' characters, ending with a single 'C'
134124 character. The series of 'V' and 'H' characters represent the
134125 vertical or horizontal layouts that must be passed through to find the
134143 the cmd window is, basically, in the same sort of position within the
134147 the position of the cmd window is different, and does not try to
134172 and that the cmd window has been placed over the border of the asm
134182 Notice that gdb has assigned 27 lines of screen space, even with the
134218 the first 8 lines, and the rest of the terminal is unused!
134234 What this commit does is modify the phase of tui_layout_split::apply
134249 size. Inside the loop that handles the allocation of excess space, if
134250 we find that we have tried every window, and still have space either
134258 gdb/tui: fairer distribution of excess space during apply
134259 When applying layouts gdb computes the size of each window (or rather,
134266 This can result in some unbalanced results. Consider this set of
134300 This is obviously a change in behaviour, and so, lots of the existing
134301 tests need to be updated to take this into account. None of the
134332 be part of the terminal. The rest of the terminal is left unused.
134339 This commit changes the gdb.tui/new-layout.exp test to make use of a
134340 list of test descriptions, and a loop to check each description in
134363 Well, it turns on, that due to the implementations of these things,
134382 tui/tui.h. I've then added some uses of these in tui.c and
134387 moved the size_info struct out of tui_layout_split::apply into the
134431 windows. At the end of the test the windows should be back to their
134460 of a tui window (when in a horizontal layout). As a result, some of
134470 tui_layout_split::set_height function, in a part of the code we will
134490 There are a lot of tui related commands that live in the top-level
134496 In this commit, I propose moving all of the above mentioned commands
134508 Change the layout of windows.
134511 List of tui layout subcommands:
134523 I've added a NEWS entry and updated the docs to mention the new and
134546 (calc_fixup): Return a size_t. Adjust to suit new location of
134548 (microblaze_elf_relax_section): Adjust to suit new location of
134564 Regen bfd po/SRC-POTFILES.in
134604 of the verbosity setting [1]. Fix this.
134617 the base addresses of the %fs and %gs segments (corresponding to the
134640 This core dump note contains the value of the base address of the %fs
134642 useful in resolving the address of TLS variables in core dumps.
134655 elfcore_grok_freebsd_note: Remove checks of note->namesz.
134666 This patch was original part of this series:
134671 I've pulled this out as it might be useful ahead of the bigger series
134731 compunit_symtabs created have the same name, that of the objfile:
134793 contains information that has been factored out of all CUs and is at the
134794 "top-level" of the objfile, outside any real CU. So it creates a
134804 probably the field you will be looking at. As the doc of
134857 the current uses. Something seems odd with this use of
134872 triggers without the other part of the fix. When doing:
134899 GDB. With my ASan/UBSan/etc-enabled build of GDB, I get:
134914 ccx->builder = new buildsym_compunit (of,
134915 of->original_name, nullptr, language_c, 0);
134919 bytes by one of the sanitizers, we won't create a buildsym_compunit here
134929 # of expected passes 40
135019 [infrun] start_step_over: stealing global queue of threads to step, length = 0
135064 From GDBserver's point of view, it looks like this. The logs contain
135065 some logging I added and that are part of this patch.
135119 - We try to find a resumed (non-stopped) LWP to get an event from,
135125 What I notice here is that there is some kind of race between the
135126 availability of the process' exit notification and the call to wait_1
135127 that results from marking the async pipe at the end of resume.
135130 we will eventually get thread exit notifications for both of our
135211 gdb: fix use of fprintf_filtered in top.c
135245 This includes the reporting of --enable/disable-threading as part of
135253 debug logs while adding some new uses of stop_all_threads, so I am
135268 The particular behavior we have when using that combination of settings
135269 doesn't seem tested at all (at least, I don't find it if I grep for "Can
135276 Accept the + character as part of filenames for MRI scripts.
135304 bug in the handling of a CSI, but I had no way to know for sure. So I
135305 thought it would be useful to have unit tests for the handling of
135306 control characters and control sequences of our toy terminal
135318 is at the beginning of a line should have no effect. Our
135319 implementation did wrap to the end of the previous line. Change our
135322 characters, shifting all the rest of the line right. The current
135324 characters on the right instead of shifting them. It also doesn't
135327 end of the display.
135333 behavior of some control characters or sequences that some other pages
135357 darwin-nat.c that I also missed. I can't build either of these, but I
135360 Consolidate definition of current_directory
135382 negate either of the operands.
135393 I noticed that a couple of deprecated hooks aren't ever called, so
135447 can unify the printf family of functions. This is done under the name
135448 "gdb_printf". Most of this patch was written by script.
135452 can unify the putc family of functions. This is done under the name
135453 "gdb_putc". Most of this patch was written by script.
135457 can unify the puts family of functions. This is done under the name
135458 "gdb_puts". Most of this patch was written by script.
135462 can unify the vprintf family of functions: vprintf_filtered,
135467 Much of this patch was written by script.
135498 This yields a number of candidates to check.
135525 In this patch, take special note of the vfprintf_maybe_filtered and
135526 ui_file::vprintf change. This is one instance of the above idea,
135528 part of the change, the "unfiltered_output" flag is never passe to
135533 against gdb_stdout or gdb_stderr was always a bit of a hack; and now
135540 I think this is the main part of fixing PR cli/7234.
135548 of call.
135559 implementations of ui_file, this will just delegate to puts. This
135563 At the end of this series, the use of unfiltered output will be very
135565 this end, I thought it would be good to reduce the number of
135572 Remove some uses of printf_unfiltered
135573 A number of spots call printf_unfiltered only because they are in code
135588 I think, out of the question. This patch makes this change.
135594 When parsing the ptid out of a reply package, if the multi-process
135595 extensions are not supported, use current_inferior's pid as the pid of
135596 the reported thread, instead of inferior_ptid. This is needed because
135603 on targets. The second inferior below sits on top of a remote target.
135666 [infrun] start_step_over: stealing global queue of threads to step, length = 0
135692 '42000.26253.0', namely 42000, is the PID of magic_null_ptid.
135697 then since there's no way to know the pid of the reported
135731 Fix the problem by preferring current_inferior()'s pid instead of
135749 fact, it was the addition of this '\r' character that triggered the
135750 issue for which the above commit is part of the solution.
135785 created, each inferior using one of the test binaries.
135787 We then take the address of the name changing function in both
135811 The first part of the fix is to use the correct address variable in
135815 A second part of this fix is to pass the 'nopie' option when we
135822 gdb/mi: fix use after free of frame_info causing spurious notifications
135856 Include the language identifier emitted by gas in the set of ones where
135860 bfd/Dwarf2: make find-nearest-line returned function name consistent
135877 "invocation" point which may be of interest to record (for, as said
135884 with the D extension ought to extend to the ignoring of a meaningless
135897 the arch/ subdir instead of the top-level sim dir.
135906 of line.
135914 Add Rust parser check for end of expression
135924 Currently, timestamps for logging are done by looking for the use of
135930 It seems better, instead, for timestamps to be a property of the
135943 I imagine that the previous use of gdb_stdout here was inadvertent.
135949 This adds a "timestamped_file" subclass of ui_file. This class adds a
135951 rule already used in vfprintf_unfiltered of adding a timestamp at most
135960 (to the extent possible) by using unique_ptr in a couple of spots.
135979 and cold parts. A variable in a callee of this function is described
135980 using DW_OP_GNU_entry_value, but gdb gets confused when trying to find
135985 Intead, when processing DW_TAG_call_site, the low PC of each range in
136032 I'd appreciate some review of this. If this behavior is intentional,
136043 This makes the data members of call_site_target 'private'. This lets
136044 us remove most of its public API. call_site_to_target_addr is changed
136045 to be a method of this type. This is a preparatory refactoring for
136046 the fix at the end of this series.
136050 it has never used the full range of the field_loc_kind enum. In a
136065 value.h has a declaration of value_print_array_elements that is
136067 declaration of an overload that is neither defined nor used. This
136079 detection tries to run nm against a copy of nm with the options in it:
136085 Furthermore, as part of this nm has to detect when the passed-in $NM
136093 Fix all of these by clipping all options (defined as everything
136114 --export-symbols-regex, which requires libtool to find a working nm,
136137 Currently debuginfod progress update messages include the size of
136142 This value originates from the Content-Length HTTP header of the
136145 on-the-fly at the time of transfer. In this case gdb wrongly prints
136149 not available. It also removes usage of the progress bar until
136150 a more thorough reworking of progress updating is implemented. [1]
136194 This was only rudimentary support anyway; none of the sub-architecture
136198 There wasn't any real support anyway: None of the sub-architecture
136208 more narrow entry.
136231 The second of these commits was intended to address periodic test
136244 In this case, the output of the first command will be mixed in with
136245 the echoing of the second command.
136247 This mixing of the command echoing and the first command output is
136248 what was causing failures in the original version of the test.
136286 with thresholds of 0 or (size_t) -1, respectively.
136288 The endian-flipping code itself gains a bit of complexity, because
136290 in foreign-endian form and assuming it could pull things out of the
136291 input once they had been flipped and make sense of them. At the
136292 cost of a few lines of duplicated initializations, teach it to
136294 of away from it.
136308 in terms of it.
136319 size of the CTF dict. Upon opening a dict, we check that none of the
136321 compressed dict that the result of the uncompression is the same length:
136329 copy it out of the mmaped region it is stored in so we can endian-
136337 incorrect cth_strlen: fix all of them so they produce the expected
136363 resolution mechanisms can use this section to look up the types of
136376 types of kind CTF_K_FUNCTION.
136383 function symbols, we can pluck unreported function symbols out of the
136410 run the ld-ctf tests and most of those in libctf. Unfortunately,
136438 python-internal.h contains a number of macros that helped make the code
136455 string and integer types are subtle. It requires a lot of effort and
136457 the author and reviewer of the patch even remember to test with Python
136474 ... to only keep the Python 3 portions and drop the use of some
136492 an equate of a register (or resolved to reg_section for any other
136495 x86: improve resolution of register equates
136498 - the equate being straight of a register, i.e. no expressions involved
136500 - at the point of use there's no forward ref left which cannot be
136515 That's relevant only for all other callers of parse_register().
136520 VRex registers are used (but of course also to reject bad uses of
136525 Update the list of recognized m-profile TAG_CPU_ARCH_*
136534 gas/Dwarf5: re-use file 0 line string table entry when faking file 0
136538 First of all when a table entry has a NULL filename, the two inner if()s
136540 first does. This then renders redundant half of the conditions of the
136541 other if() and clarifies that subsequently only entry 0 is dealt with
136542 (indicating that part of the comment was wrong). Finally for there to be
136549 Commit 3417bfca676f ("GAS: DWARF-5: Ensure that the 0'th entry in the
136551 check to out_dir_and_file_list(). This rendered dead that branch of the
136553 Delete that code as well as the corresponding part of the comment.
136561 Tying the bumping of the logical line number to reading from the
136562 original source file looks wrong: Upon finishing of the processing of an
136564 line counter uses of .line inside e.g. an .irp construct won't have the
136581 new diagnostic. That one case of too large a (negative) addend is being
136582 adjusted alongside the addition of a new testcase to actually trigger
136589 lot of effort for little gain to actually support this.
136595 arguments may also be quoted (where one level of quotes is removed in
136596 the course of determining the values for the respective formal
136599 pair of quotes counts as the escaping of a quote, with the pair being
136600 transformed to a single quote in the course of quote removal. The other
136604 is to contain a quote. Yet this results in ambiguity of what "a""b" is
136611 of strings more similar to that of symbols. And indeed this appears to
136620 more than collapse sequences of unquoted whitespace into a single blank.
136622 that there's hardly any checking of .macro use throughout the testsuite
136680 This commit adds new gdb_attach to centralize the failure checking of
136688 same time, use "verbose -log" instead of "unsupported" to get a
136701 native target. Since FreeBSD writes all of the debug registers in one
136703 threads rather than bitmasks of modified registers.
136734 validation given the value of the FAR register.
136745 beyond a simple split of the code are:
136754 not use the indirection of a 'low' structure as is done for x86.
136757 pristine. For non-Linux it is simply defined to true. Some uses of
136764 aarch64_notify_debug_reg_change instead of the unused state
136804 I found a couple of spots that declare a symtab_and_line but don't
136812 found, but no line number info, then return a result of 2.
136852 the type of the PyObject being worked on. Prior to this commit all
136853 uses of arch_object_to_gdbarch were guaranteed to pass this function a
136864 progspace_object_to_program_space, converts a PyObject of type
136871 Some of these references were not updated when they were moved to a separate
136884 * gprofng/src/envsets.cc (putenv_libcollector_ld_misc): New location of
136909 locate_exec_from_corefile_build_id to enable the downloading of
136921 warning: Build-id of /lib64/libc.so.6 does not match core file.
136933 Expand this functionality so that each core file bfd maintains a map of
136980 paths that call bpstat_stop_status. But instead of adding them
137010 Fix it by tweaking the assertion to always look at the beginning of
137025 On x86 machines with xmm register, and with recent versions of
137053 Notice that for both of these probes, the first argument is a uint64_t
137064 (gdb) break *0x00007ffff729e2f1 # Use address of probe.
137116 piece of the puzzle is:
137135 and make use of gdbarch_stap_adjust_register. We already have a
137137 the name of the register that we access. Currently only x86
137148 The default implementation of this method would just use
137157 The benefit of this approach is that it would work with the expression
137163 finally, the type of the xmm registers comes from the type defined in
137165 hard-coding the names of type sub-fields, then if a target uses a
137184 The benefit of the new expression approach is that this code can be
137189 are not stored within the least significant bytes of the register.
137206 Otherwise, we can run the test. I think the cost of running readelf
137266 The extra check against NO_RELOC is actually a result of an ilp32 test
137268 not-really-relocations (typically because of earlier errors) makes
137286 because of use-after-free (more details below) the tests will always
137287 have a chance of passing through sheer luck, but anecdotally they seem
137288 to fail all of the time.
137364 In readline 8.2 the type of rl_completer_word_break_characters changed to
137382 something else triggers it, so it's not worthy of an abort.
137402 the section of the current branch, now that it has been cut.
137414 Also, as a result of the version bump, the following changes
137456 of expected passes 1430
137457 of expected failures 11
137458 of untested testcases 1
137459 of unsupported tests 154
137484 The dwarf2_emit_insn() can create debuginfo of line. But it is called
137486 of line sets address.
137509 LoongArch: Use functions instead of magic numbers.
137556 never actually used in Python, it seems like a lot of trouble to use a
137566 there are less chances of messing things up.
137570 - Set micmdpy_object::mi_command in the constructor of mi_command_py.
137572 swap_python_object, I think it makes sense that it also takes care of
137574 - Move a bunch of checks from micmdpy_install_command to
137584 I asked Andrew about the original intent of using a Python dictionary
137593 finalize_python. This is the mirror of gdbpy_initialize_micommands
137596 possible to unload Python support from GDB in the middle of a session
137628 out-of-scope watchpoint is deleted. This fails on some aarch64
137657 As usual with this sort of patch, it has passed internal testing, but
137678 Fix ld-arm bug in encoding of blx calls jumping from thumb to arm instructions
137691 could sensibly / usefully appear (within the scope of the present
137701 no pairs of operands to check for consistent size.
137704 Like for AVX512VL we can make the handling of operand sizes a little
137705 more flexible to allow reducing the number of templates we have.
137853 of bfd_zalloc.
137873 asan: use of uninitialized value in buffer_and_nest
137874 More occurences of the same as commit d12b8d620c6a.
137899 In the process of fixing a buffer overflow in commit fe69d4fcf0194a,
137920 * po/SRC-POTFILES.in: Regenerate.
137926 followed by any number of extensions. Accepting a base architecture in
137927 place of an extension will at best result in confusion, as the first of
137935 "false" when the object passed in was e.g. the result of ANDing together
137942 Note that the moving of the two items in i386-gen.c's cpu_flags[] is
137943 only for documentation purposes (and slight reducing of overhead), as
137967 This was only rudimentary support anyway; none of the sub-architecture
137973 however, has always been to prevent bad uses of .arch (turning off the
138014 This problem is a result of readline 8.1 enabling bracketed paste mode
138016 version of readline bracketed paste mode is off by default, so a user
138020 is not present in this version of readline, see below for why.
138034 versions of readline (note: I don't know if its even possible to build
138036 documenting the history of this issue).
138047 character moves the cursor back to the beginning of this empty line,
138053 of the prompt line. This leaves us ready to override the prompt.
138055 It is worth noting, that this is not the intended behaviour of
138064 case the command line is set to nullptr). As this is part of the
138069 the cursor at the start of the prompt line (in the EOF case), and
138085 Both of these readline issues are discussed in this thread:
138089 The result of that thread was that readline was patched to address
138090 both of these issues.
138093 copy of readline, and then change GDB to make use of these fixes to
138134 possibly be called. It turns out there are only two users of
138142 eval_op_concat has code to search for an operator overload of
138164 did not work (probably due to lack of debuginfo); so, I haven't
138170 eval_op_string is only used in a single place -- the implementation of
138172 string_operation::evaluate method, removing a bit of extraneous code.
138187 which fails to match any of the test_multiple options.
138192 Cannot find bounds of current function
138194 The test fails as the output does not match any of the options for the
138229 Cannot find bounds of current function
138311 Use symver attribute if available, instead of asm statement, to support
138452 of those notes. msgpack is a structured format, a bit like JSON, except
138454 human-readable form without knowledge of the specific layout of the
138516 As of this patch, just print out the name, not the contents, which is in
138533 Decode and print the AMDGPU-specific fields of e_flags, as documented
138626 updated in the future anyway. The complete up-to-date list of existing
138642 So at least, we know that all AMDGPU objects (of which AMDGCN objects
138643 are a subset of) at the time of writing encode the specific GPU model in
138644 the EF_AMDGPU_MACH field of e_flags.
138691 inferior_spawn_id, instead of gdb_spawn_id. When testing against the
138696 subroutine -- it was missing printing newline at the end of the
138711 those that removed use of powerpc_macros just in case it needs to be
138740 This moves VLE insn out of the macro table. "e_slwi" and "e_srwi"
138742 encodings of e_rlwinm.
138782 Note that some of the instructions moved out of the macro table to the
138784 rather than a subset of the underlying raw instruction. If enabled,
138786 occurrences of rotldi, rldicl, rldicr, rldic and rldimi. (Or many
138787 occurrences in the case of clrlsldi if n <= b was added to the extract
138837 gprofng didn't build with gcc 6.3 due to the usage of __attribute__
138843 fallthrough comment instead of attribute.
138854 I've bumped the version number of dwarf-mode.el to make it easier to
138874 Additionally, I found a definite typo in one of the comments that I've
138886 gprofng: Add a configure test for clock_gettime and a use of the test in getthrtime.c
138913 of floating-point to fix the above failed testcases.
138927 A new subclass of mi_command is defined for Python MI commands,
138970 The 'invoke' method of the new command must return a dictionary. The
138971 keys of this dictionary are then used as the field names in the mi
138974 The values of the result returned by invoke can be dictionaries,
139002 In this patch, I have changed how the lifetime of the Python
139038 also (IMHO) risky, its too easy for someone to later add a use of the
139054 into a subclass of mi_command, the python mi_command_py, which
139060 of the Python object always exceeds the c++ object stored in the
139065 MICommand.name read-only attribute containing the name of the command,
139086 I find this strange, I would expect that every field would at least be
139092 The comment at the top of gdbarch-components.py tries to explain how
139099 Means that, if non of the other cases apply, then the field should be
139104 find that there is a case that is not handled, the case where the
139105 'invalid' field is set true True, but non of the other cases apply.
139109 1. Handle the case where the 'invalid' field of a property is set to
139110 True, this should perform a check for the field of gdbarch still
139130 believe the only one of these that is required to be set for all
139133 And so, for all of the other fields, I've changed the property
139140 validation, in which case, it is find for an architecture to not set
139185 Upon target_wait entry, target_pre_wait is notified with the ptid
139190 This change benefits to Insight (out-of-tree): there's no real use of the
139197 always a subrange of an integer type. However, this isn't necessarily
139198 the case. In Ada, for example, one has subranges of character and
139236 contents of this struct correctly. This has always been incorrect for
139248 -Many disassembly of instructions that are encoded differently
139269 Because the original test is just to make sure that ptype of an
139321 done by actually passing a unique test name in a couple of
139323 another couple of places, a test has a duplicate name due to a cut &
139375 Regard the bits of the value as an integer, and print the integer
139414 status. Before this set of patches, this would randomly report the
139415 exit code of some other thread, and thus fail.
139456 - later when we continue pulling events out of the kernel, we will
139457 collect the exit event of the non-leader threads, and once we see
139459 whole-process exit code to infrun, instead of the leader's exit
139463 are 2 threads in the process. stop_all_threads stops each of those
139474 collect the exit event of all the other non-leader threads. Or put
139478 I tried a number of approaches to fix this:
139488 I thought of making GDB call waitpid/WNOHANG for all non-leader
139490 would be an exit event pending for each of them waiting to be
139500 stop and wait for the stop for each of the non-leader threads. For
139501 the scenario in question, this will collect all the exit statuses of
139516 and I couldn't find a way that it would result in any practical
139529 This fixes the indentation of
139561 will be done in a latter patch of this series, then
139589 exits. This required a bit of synchronization between the threads,
139604 instead of whatever is the last thread in the LWP list, as will be
139605 done in a latter patch of this series, then
139683 * testsuite/binutils-all/debuginfod.exp: Add tests of the new
139736 Without this, a "make all-sim" without the equivalent of
139821 and the actual location of the source file in the debuginfod client cache.
139825 true paths of these files.
139886 This allows us to remove all and rather complicated logic of notifying
139894 gdb: announce upcoming removal of Python 2 support from gdb
139900 This commit places an entry in the NEWS file to inform users of this
139910 There's an interesting property of the 'char' type in C and C++, the
139942 parameter. As far as I could find, that was the only existing
139959 This new option matches the existing option of the same name for the
139960 CLI version of add-inferior; the new inferior is created with no
139963 I've added a new 'connection' field to the MI output of -add-inferior,
139991 inherit a copy of the target stack from the current inferior.
139998 inherit a copy of the target stack from the current inferior.
140035 Sometimes it is convenient to be able to specify the exact bits of a
140048 floating-point literal, and the "l"s control the size of the
140052 those can also be used to control the bits of a floating-point value,
140114 in the case of "Y WITH DIAERESIS" (and potentially others, I did not
140132 relies on whatever version of Unicode is used by the host Python,
140136 exercises most of the new code paths, aside from Y WITH DIAERESIS as
140185 levels of up to the MIPSr5 ISA and a machine instruction on its own
140189 new entry for BAL for the MIPSr6 ISA, correcting a disassembly bug:
140195 Disassembly of section .text:
140247 Simplify hppa-tdep.c use of objfile_key
140248 I happened to notice a couple of unnecessary casts in hppa-tdep.c, and
140249 then I saw that the use of objfile_key could be simplified -- removing
140256 gdb: constify parameter of value_copy
140264 problem. My first attempt at solving it was to add a const version of
140284 No kind of internal var uses it remove it. This makes the transition to
140331 type of a typedef and not its scoped name.
140333 The original output of GDB for a program like
140391 Basically all attributes of a class which have the raw type "double" are
140505 ppc64_elf_build_stubs due to .eh_frame editing. The idea of stashing
140542 AT_KPRELOAD ELF auxiliary vector entry. To find the end of the
140543 mapping range, parse the list of virtual map entries used by 'info
140575 file, gdbcopyright.py. The function in this file will find the
140579 This involved minor changes to the output of gdbarch.py. Also, I've
140591 Most of the breakage comes from other projects in the tree, but we can
140592 fix some of the issues, which is what this patch does.
140599 only really useful for in-tree builds anyway -- out-of-tree I simply
140608 -- in one example, the command and its output are obviously out of
140717 This is happening because of the way this test is implemented:
140736 first branch of the expect statement is reached, gdbserver has exited, closing
140740 This can be fixed by using exp_continue to loop in expect instead of looping around
140744 One other small change I've made is to add a log entry which spills the values of
140829 because this all started as a copy of an existing test.
140835 attribute contains a string, the results of target_extra_thread_info
140845 target, there's only minimal testing of this attribute, I check that
140883 Further correct the handling of long pathnames on Windows hosts.
140885 * bfdio.c (_bfd_real_fopen): Fix handling of parhs longer than 260
140890 Clarify the wording of the error message when an obsolete configuration is encountered.
140906 on a machine with a pre-release version of glib-2.34 installed:
140974 gdb::unique_xmalloc_ptr<char> to a std::string. I could only find 3
140976 of operator+=.
140979 makes use of both operator+= and operator+, so they are both getting
141063 This commit fixes incorrect uses of mask values in 'fcvt' instruction
141068 * riscv-opc.c (riscv_opcodes): Fix incorrect uses of mask values
141077 With this patch, users will be able to "gloss over" the details of matching
141125 will cause a literal lookup of the symbol. In the example immediately above,
141126 this will cause GDB to only find the three non-template functions.
141132 strncmp_iw_with_mode. While there is quite a bit of testing
141133 of this function in other tests, these are currently end-to-end
141136 This patch attempts to cover the basics of string matching, white
141139 This is otherwise tested as part of our end-to-end DejaGNU-based
141145 find_toplevel_char is being used more and more outside of linespec.c, so
141221 Make use of a range based for loop to iterate over a static global
141222 array, removing the need to have a null entry at the end of the
141240 to let us know of the inferior's new state again)
141252 because it changes the output of "info proc mappings" in a way that the
141273 At the same time, make use of the actual length of the permission's
141274 string to specify the number of characters to print.
141291 Change read_mapping to return a structure instead of taking many output
141323 the memory pages permissions right away from GDB instead of having
141400 opcode isn't part of the selected extensions.
141404 If the opcode is not a part of any extension, the error message reverts
141458 * Changed debug CSR address of scontext from 0x7aa to 0x5a8. We cannot support
141459 different versions of debug specs for now, so only supporting the latest one is
141490 * Most of CSRs as listed in the Privileged Architecture,
141555 Subclasses of inf_ptrace_target have to opt-in to using the event_pipe
141574 fails with EBUSY. This meant that 'info threads' would fail if any of
141576 in gdb.base/fork-running-state.exp). Instead of throwing errors, just
141582 fbsd-nat: Various cleanups to the ::resume entry debug message.
141597 This is a fairly simple version of async target support.
141615 the exit of the last child process, waitpid() will fail with ECHILD
141616 rather than returning a pid of 0. For this case, return
141634 Don't enable async mode at the end of target ::resume methods.
141638 The other place that target resume methods are invoked outside of
141650 In the case of record_full_wait_1, this function is invoked from the
141661 INF_EXEC_COMPLETE event passed to inferior_event_handle, but all of
141674 ::resume methods of async-capable targets. Commit 5b6d1e4fa4f
141677 other callers of target_resume such as target_continue do not enable
141678 async mode. Rather than enabling async mode in each of the callers
141679 after target_resume returns, enable async mode at the end of
141683 Use event_pipe from gdbsupport in place of the existing file
141687 Use event_pipe from gdbsupport in place of the existing file
141693 This pulls out the implementation of an event pipe used to implement
141704 gdb: fix detection of compilation and linking flags for source-highlight
141705 Currently there are two problems with the detection of
141711 failure to find symbols referenced in conftest.cpp, if the linker is
141719 This patch fixes both of these mistakes, allowing GDB to correctly
141721 prefix, e.g. ~/opt/gdb-git (because the system version of
141726 gdb/testsuite/README: point to default value of INTERNAL_GDBFLAGS
141733 To avoid it getting out of sync even more, point the reader to the
141734 definition of the variable in lib/gdb.exp, and move the explanation of
141743 Using dummy entry in riscv_supported_std_ext cause confusing and wrongly
141755 - Use `*ext` rather than `*ext != NULL` for checking is reach end of
141765 "DO NOT EDIT!" says the comment at the top of bfd-in2.h. Move the new
141776 This was left in subdirs because of the dynamic cgen usage. However,
141797 of those commands. Then gdb starts processing the first command,
141809 This mixing of command echoing with the first command output was
141813 command to an MI command, this reduces the number of lines of output
141833 the output of the first command followed by the prompt with nothing
141836 looking for the output of the second command.
141855 ensure that GDB makes the best possible use of the available stabs
141860 need to find a N_SO entry, this is the entry that defines the start of
141861 a compilation unit (or at least the location of a corresponding source
141868 information (an N_PC entry) outside of an N_SO entry - that is we find
141872 read_dbx_symtab) at the handling of N_PC entries of type 'F' and 'f',
141881 While I was at it, I audited all the other uses of pst in
141887 see a debug symbol outside of an N_SO entry, and if anyone wanted to
141899 gdb: make use of std::string in dbxread.c and xcoffread.c
141900 While taking a look through dbxread.c I spotted a couple of places
141901 where making use of std::string would remove the need for manual
141954 The early (~2019) history of bug #24069 cautiously suggests to use
141955 WNOHANG instead of outright deleting the call. However, tests on the
141956 current version of Darwin (Big Sur) demonstrate that gdb runs just fine
141958 Notwithstanding the debatable value of conserving bug compatibility with
141959 an OS release that is more than a decade old, there is scant evidence of
141979 and to change one use of push_back to emplace_back, as suggested by
142021 * ldlang.h: Add type_section to list of section types.
142041 Much of the gas source and older BFD source use "long" for function
142043 This patch fixes one of those cases. Dollar labels and numeric local
142082 What to do when sh_addralign isn't a power of two
142083 BFD generally doesn't handle anything but a power of two section
142084 alignment, and ELF sh_addralign is required to be an integral power of
142092 power of two divisor of sh_addralign, ie. the rightmost 1 bit.
142095 of two divisor of sh_addralign.
142105 asan : use of uninitialized value in buffer_and_nest
142106 * macro.c (buffer_and_nest): Don't read past end of string buffer.
142158 that the "unguarded" use of global_cc_os in
142164 risk of not setting them properly if or when that
142187 the function does not follow the calling convention of the target. In
142192 > If the value of the calling convention attribute is the constant
142206 This patch ensures that if a command which relies on GDB's knowledge of
142213 the use of an alternative calling convention. This commit does not
142226 of the function the debuggee is returning from. This will be used by
142249 to use MAXPAGESIZE for the end of the relro segment alignment, like other
142281 the risk of faulty edits by exposing them rather than hiding
142282 them as "unresolved". It also harmonizes behavior with that of
142289 sim/testsuite/cris: Remove faulty use of basename in C tests
142290 Calls to basename were added here as part of commit
142295 code-path was changed instead of the "/"-prefixed code-path,
142299 Recent newlib has the (asm-renamed) GNU-extension-variant of
142307 The interaction of calling with the full program-path vs.
142308 use of --sysroot exposes a consistency problem: when
142310 program can find itself. It's undecided whether argv[0] for
142314 --sysroot. Either way, such a change would be out of scope
142317 * c/stat3.c (mybasename): New macro. Use it instead of basename.
142331 sim: Fix use of out-of-tree assembler and linker when testing
142333 toolchain settings", trying to use out-of-tree ld and as at test-time
142341 build", which hardcodes in-tree-paths to those tools instead of
142348 step, for each X to find a value for $(<X>_FOR_TARGET). N.B.: in-tree
142358 check" in sim/ instead of "make check-sim" (or "make check") at the
142372 AS_FOR_TARGET, LD_FOR_TARGET and CC_FOR_TARGET instead of hard-coded
142396 support of option --cris-900000xx.
142415 sim/testsuite: Support "requires: simoption <--name-of-option>"
142423 The immediate need was to check for presence of a simulator
142432 Multiple "requires: <requirement> <parameter>" form a list of
142443 the apparent lack of synchronization between two processes),
142444 this test fails randomly, with two different sets of common
142447 that doesn't make it a sustainable part of a test-suite.
142451 * hw/rv-n-cris/irq1.ms: Disable by use of a never-matched
142483 that it doesn't affect the value of CFLAGS_FOR_TARGET outside
142531 an additional introduction of PRIx32 and PRIu32 but just in
142532 sim/cris/sim-if.c. One type of bug was fixed in commit
142540 for some C programs, like some of the ones in the sim/cris/c
142548 block to raise the "end of the data segment": there was
142551 Unfortunately, none of the programs in sim/cris/asm exposed
142567 This removes the LA_PRINT_STRING macro, in favor of using ordinary
142571 This removes the LA_PRINT_CHAR macro, in favor of using ordinary
142575 This removes the LA_PRINT_TYPE macro, in favor of using ordinary
142583 python.c so GDB can find the functions in their new location.
142587 modules. I did ponder documenting these functions as part of the
142592 part of a user facing API.
142594 Still, despite these functions never having been part of a documented
142611 In this commit I make use of the Python Pygments package to provide
142612 the styling. I did investigate making use of libsource-highlight,
142613 however, I found the highlighting results to be inferior to those of
142614 Pygments; only some mnemonics were highlighted, and highlighting of
142627 However, even though the Python function used to perform styling of
142628 disassembly output is not part of any documented API, I don't want
142636 styling is then applied to the contents of this buffer. Finally the
142652 of the disassembler output.
142654 I don't know how much of an issue this will be for people. There's
142667 use of pygments, but also includes the minimal styling done by GDB
142696 PR28882, build failure with gcc-4.2 due to use of 0b literals
142713 Now that ld properly aligns the end of the relro segment, the hack to
142732 hardware paging is always COMMPAGESIZE of 4k. Use COMMONPAGESIZE for
142733 the end of the relro segment alignment.
142737 introducing a gap after the end of the relro segment (of up to
142754 There are constraints on layout of binaries to meet demand paging and
142764 executable of 48k text and 1k data, the text segment might start at
142765 address 0x10000 and data at 0x20000 for a total of two 64k memory
142768 starts at 0x2c000 (the end of the text segment plus one 64k page) then
142771 data segment at the end of the text segment plus one page. That
142775 pages for a data segment of 1k! If the data segment instead started
142776 at 0x30000 we'd get a single data segment page at the cost of 1 byte
142782 A PT_GNU_RELRO segment overlays the initial part of the data segment,
142785 the end of the relro segment must be at a page boundary.
142789 Unfortunately most targets currently only align the end of the relro
142792 any part of the relro segment past the last MAXPAGESIZE boundary can't
142793 be made read-only without also affecting sections past the end of the
142802 x86. Note that the relro segment, comprising of sections at the start
142803 of the data segment, is sized according to how those sections are laid
142804 out. That means the start of the relro segment is fixed relative to
142805 its end. Which also means the start of the data segment must be at a
142807 games with the start of the data segment to save disk space. At
142810 heuristic of starting the data segment at the end of the text segment
142898 removal of some calls to memset.
142915 variables and its items. Sample output of these commands is shared
142956 Notice the two non-statement instructions at the end of the loop.
142960 the start of the function (0x100 in our example) to the end of the
142961 current line table entry, that is 0x10c in our example. GDB then
142983 the end of the initial stepping range is extended to the end of the
142987 sets up a stepping range from the start of the function 0x100 to
143006 This commit updates the output of 'maint info jit' to print not just
143011 the contents of the jit_code_entry, but, by storing this information
143019 One test that relies on the output of 'maint info jit' was updated to
143056 beginning of Linux 2.6). This allows removing a bit of complexity in
143069 PTRACE_O_TRACESYSGOOD was supported at least as of this change, in 2002:
143101 PR28763, SIGSEGV during processing of program headers via readelf
143114 It is of course a silly warning, fixed in later versions of gcc. I
143117 is of course unused in any code path where it might start off as
143119 local symbols only when needed. 99 times out of 100 they will be
143145 keep the largest version of each extension linked into the target.
143176 I have no info on the format of a "SUNPRO C++ Namespace" stab, so am
143192 I noticed that most of the calls to index_cache_debug include a
143194 that means all of these debug calls result in a blank line being
143199 I also reformatted one of the index_cache_debug where a string will
143246 we do for all the styling tests. I'm now running all of the C tests
143256 of struct thread_info is a raw pointer to a resource it owns. This
143257 commit changes the type of the thread_fsm member to a std::unique_ptr in
143269 signify that the ownership of the call_thread_fsm is transferred during
143282 pretty involved, and there's still a bit of the story that I don't
143291 The behaviour observed is that, given a particular set of mi commands
143307 collect all of the command results after sending all the commands to
143309 arrive in the gdb process as a single block of data. When reproducing
143310 this issue within the testsuite I find it necessary to send multiple
143313 The next bit of the story gets a little involved, and this is where my
143337 that is, despite there being multiple lines of input available, I
143347 on the input stream, drop out of the select, and call back into
143369 The important bit of this is that someone, somewhere is, it appears,
143377 in many hundreds of characters long. One way to do this is:
143440 for mi commands, and is a consequence of this commit:
143459 so assumes that we have read ahead of where we should be in the input
143461 reposition the file offset of the output stream prior to writing to
143478 However, this only solves one of the two problems. We would still
143485 will be fine. As soon as we see the newline at the end of the first
143492 I'm tempted to suggest that we should move the unbuffering of the
143493 input stream out of gdb_readline_no_editing_callback and do it
143495 However, I've not done that in this commit for a couple of reasons:
143508 3. Tom is currently doing lots of gdb stream management changes and
143549 I know next to nothing about this topic beyond a brief scan of the
143559 and, now that the streams are unbuffered, I expect a lot of the read
143571 will not print anything (used for figuring out the length of
143574 Each of these places has its own stub function to act as a print like
143711 The only caller of do_val_print just does a small bit of work before
143796 function of the same name with the same arguments.
143850 For brevity, I chose the name "compunit" instead of "compunit_symtab"
143923 I think that most remaining uses of COMPUNIT_FILETABS intend to get the
143924 primary filetab of the compunit_symtab specifically (and not to iterate
143938 method of compunit_symtab. The name filetabs conflicts with the current
143939 name of the field. Rename the field to m_filetabs, since at this point
143940 nothing outside of compunit_symtab uses it, so we should treat it as
143945 Adjust the COMPUNIT_FILETABS macro to keep its current behavior of
143953 Add a method to set the primary filetab of the CU. This is currently
143969 Make compunit_primary_filetab a method of compunit_symtab.
143999 and character literals as well. The latter also required a bit of
144007 In Rust, 'obj.f()' is a method call -- but '(obj.f)()' is a call of a
144016 opcodes anyway; but let me know what you think of this.
144190 This started by noticing that the docs for 'winheight' are out of
144191 date, the docs currently give a specific list of possible window
144197 and the fact that gdb provides tab-completion of the name at the
144201 that the name of the window is given in the output. This could
144203 mechanism to find the window name, I'd prefer to mention that the name
144210 sense to have 'info win' include the width, as well as the height, of
144222 I've added a NEWS entry, but the documentation was already suitably
144223 vague, it just says that 'info win' displays the size of the visible
144226 I've also added some tests, as far as I could find, the 'info win'
144411 sim: Allow toggling of quiet NaN-bit semantics
144412 IEEE754-1985 specifies the top bit of the mantissa as an indicator
144413 of signalling vs. quiet NaN, but does not define the precise semantics.
144419 semantics of the NaN bit and allows differentiation between older
144426 (pack_fpu, unpack_fpu): Allow reversal of quiet NaN semantics.
144461 gdb: include jit_code_entry::symfile_addr value in names of objfiles created by jit reader API
144462 This commit includes the JIT object's symfile address in the names of
144470 gdb.base/jit-reader.c, that may not be the actual value of where the
144471 JIT-ed code is. But it is a value chosen by the author of the JIT
144477 jit_code_entry. So make jit_dbg_reader_data a structure (instead of an
144478 alias for a CORE_ADDR) that includes the address of the code entry in
144479 the inferior's address space (the previous meaning of
144490 Currently, "ptype" of an Ada unchecked union may show a
144493 It turned out to be simplest to reuse a part of print_variant_clauses
144503 has fromhex. This patch removes the former in favor of the latter.
144510 The Linux kernel usually ouputs symbol+offset instead of plain code
144626 in 'gdbpy_before_prompt_hook'. Hence, the second instance of
144633 PowerPC64 treatment of absolute symbols
144685 The formatting of the help text for 'help set extended-prompt' and
144693 \[ Begins a sequence of non-printing characters.
144695 \] Ends a sequence of non-printing characters.
144715 Notice the closing """ are in a line of their own, and include some
144719 Fix the formatting issue by moving the """ to the end of the previous
144727 gdb: test to check one aspect of the linespec parsing code
144728 While working on the fix for PR cli/28665 (see previous couple of
144736 However, as part of this work I was reviewing how the breakpoint code
144758 would cause GDB to break. For a full explanation of what's going on
144762 and throwing, a junk at the end of the line error earlier, before
144779 'task 123' is passed to string_to_event_location in find a location
144796 location. As such, in new_linespec_location, the spec_string field of
144802 of sals.
144827 Junk at end of line specification.
144833 It turns out that yes we can. Well, sort of.
144839 string_to_event_location, if non of the string has been consumed, then
144840 the content of the string must be junk - it clearly doesn't look like
144843 I've reused the same "Junk at end of line specification." error for
144846 While the first version of this patch was on the mailing list, a
144863 check for junk at the end of the line - after parsing (or failing to
144865 at the end of the list command line - when we see this we can throw
144866 the same "junk at the end of the line" error, and all is good.
144893 will return a pointer to the '\0' at the end of
144898 Fix this by checking for the first character of ARG being '\0' before
144905 Finally, I moved the declaration of TOKEN into the body of
144910 later commit in this series, but, with this patch in place, both of
144915 Because this patch only changes the nature of the failure for the
144925 The comment on string_to_event_location is (I believe) out of date.
144935 the source of the memory allocation is irrelevant, and so, shouldn't
144947 Previously when fixing PR 21464 we masked out upper bits of the
144954 place of the normal R_OR1K_GOT16 howto when we detect R_OR1K_GOT_AHI16
144961 (or1k_elf_relocate_section): Use new howto instead of trying to
144972 tree. This will cause a cascade of errors, and requires the manual
144973 deletion of the .c file in order to recreate the problem.
145002 This commit fixes this problem by using objfile_name () instead of
145003 objfile_filename (). This also makes consistent with the value of gdb.Objfile.filename variable.
145008 The last updates of MIG introduced qualifying strings and arrays with
145028 VER_FLG_WEAK doesn't indicate that all symbol references of the symbol
145031 the existence of a particular implementation without any symbol references
145071 Info symbol is expected to print the symbol table name of a symbol, since
145089 of XXXX over XXXX.NUMBER for info symbol on gfortran symbols.
145115 \# of expected passes 80
145116 \# of unexpected failures 14
145131 entry and exit. Fail if the counter exceeds a fixed limit.
145139 In trying to find a testcase for PR28827, I managed to hit a linker
145147 unnecessary conditional setting of maxsize at start of loop.
145230 register maps to describe the layout of the general purpose registers
145235 As part of these changes, the FreeBSD x86 native targets no longer use
145241 While here, rework the probing of PT_GETXMMREGS on FreeBSD/i386.
145243 cache the result for the future similar to the way the status of XSAVE
145256 Use a register map to describe the registers in mcontext_t as part of
145268 values out of the regcache into the trad-frame.
145273 In particular, this permits reporting the value of the $ds, $es, $fs,
145286 regcache::raw_supply_part and did not initialize the upper bytes of a
145300 default location of the signal code instead. The youngest affected
145307 The last relevant release (FreeBSD 4.11) was released in January of
145353 I added rules for the kinds of files I edit most often, but more can be
145379 PowerPC64 handling of @tocbase
145392 entry symbol hidden.
145401 It is checking that a stub doesn't overwrite the tail of a previous
145413 another iteration of stub sizing, will see the stub section sizes
145443 end of section when concatentating stab strings.
145477 ASan speak) of the value's buffer:
145480 READ of size 1 at 0x6020000c52af thread T0
145529 0x6020000c52af is located 1 bytes to the left of 8-byte region [0x6020000c52b0,0x6020000c52b8)
145567 of -1 by mistake, we don't know (before analyzing the bug at least) if
145576 Fix GDB internal error by using text (instead of data) section offset
145577 Fedora Rawhide is now using gcc-12.0. As part of updating to the
145578 gcc-12.0 package set, Rawhide is also now using a version of libgcc_s
145591 portion of a backtrace obtained using GDB's backtrace command.
145656 So, based on this, the current use of data_section_offset /
145661 Searching the sources turned up one other use of data_section_offset,
145668 Use method text_section_offset instead of data_section_offset.
145708 of the new thread to check whether it was already being recorded.
145741 package. This does not change the behaviour of GDB when the GNU
145745 without GNU Source Highlight support, of that this has been disabled
145764 styling completely, or make use of the GNU Source Highlight library,
145768 The problem is the use of PyString_FromString (which is an alias for
145773 string for the purpose of the conversion. And here of course, is the
145783 However, I also make use of `pygmentize`, a command line wrapper
145785 highlighting in the output of `less`. And this command line wrapper
145790 for guessing the encoding of the incoming file content, if the
145792 happens for Python 2 where the incoming content is of `str` type.
145796 just try a couple of different encoding schemes rather than just
145800 for us, and the colorize API is not part of the documented external
145801 API of GDB. So, why not just change the colorize API, instead of the
145817 This temporarily moves the implementation of this method to utils.c.
145825 appropriate ui_file instead. The choice of ui_file is determined by
145846 consisting solely of spaces. Given this, it seemed better to me that
145848 result. Much of it was written by a script.
145865 show_doc = "Show the state of this parameter"
145866 set_doc = "Set the state of this parameter"
145883 Set the state of this parameter
145886 Which is fine. But, if the user skips both of the documentation parts
145917 That kind of sucks, we say it's undocumented, then proceed to print
145922 Set the state of this parameter
145933 Set the state of this parameter
145938 Set the current value of 'param-none'.
145944 Set the current value of 'param-doc'.
145950 Set the state of this parameter
145963 List of set print subcommands:
145976 List of set print subcommands:
145979 set print param-none -- Set the current value of 'print param-none'.
145990 GDB. As a result, GDB would make use of its "magic" mangling of the
146009 The current value of 'param-none' is "off".
146023 how the various bits of help text come together.
146029 returns an integer, the number of items in GDB's value history.
146055 Reference array of structs instead of first member during memcpy
146073 of the first element of the array (`&MEMS->len"). This elicits a
146077 …../../binutils-gdb/gdb/aarch64-tdep.c:3711:23: error: writing 16 bytes into a region of size 8 [-W…
146080 ../../binutils-gdb/gdb/aarch64-tdep.c:4394:3: note: in expansion of macro ‘MEM_ALLOC’
146083 …../../binutils-gdb/gdb/aarch64-tdep.c:3721:12: note: destination object ‘aarch64_mem_r::len’ of si…
146087 The simple fix is to reference the array, `MEMS' as the destination of the copy.
146099 # Your branch is ahead of 'origin/master' by 1 commit.
146110 string buffer, because it is the result of the computation that we want
146163 of the values coming from the enum array. This invariant is relied on
146168 problems of the same type.
146189 This is incorrect, because both of these are NULL when not otherwise
146203 entry. I've added a test to show this as well.
146206 The Python concept of the current gdbarch is only set in those few
146224 1. Compute the desired PT_GNU_RELRO segment base and find the maximum
146225 section alignment of sections starting from the PT_GNU_RELRO segment.
146252 The address part of the command might change between execution of the
146269 linux-thread-db.c has a bit of unusual code that unconditionally
146273 conditionally pass gdb_stdout to one of the f*_unfiltered functions.
146277 Reduce explicit use of gdb_stdout
146278 In an earlier version of the pager rewrite series, it was important to
146287 _filtered calls I could find, as well, for the same clarity.
146355 The description of the Window.click method doesn't mention where the
146362 Update Bulgarian, French, Romaniam and Ukranian translation for some of the sub-directories
146371 A few Rust operations do a bit of work in their 'evaluate' functions
146567 This was needed by ancient versions of automake, but that hasn't been
146586 two locations, one of which is 0x0.
146589 filter out this sort of problem, but in this case, the entire CU is
146611 Keep track of the most recent index handled so that any outstanding
146626 for a 5-element vector and a 5 by 5 array filled with the value of 2.
146632 Fortran arrays and covering the different interpretation of the `set
146633 print elements' setting in particular where the per-dimension count of
146645 which turned out a bit of a challenge where interacting with the `set
146653 Keep track of the dimension number being handled in the class rather as
146665 care of.
146667 Preserve the existing semantics of `set print elements' where the total
146668 count of the elements handled is matched against the trigger level which
146682 for a 5 by 5 array filled with the value of 2.
146738 symbol is dynamic in a shared library. Lots of glibc symbols are made
146769 threads_dethreads_debug_printf. Replace uses of the debug_enter and
146774 Note that "threads" debug is currently used for a bit of everything in
146776 up and separated logically as is done in GDB, but that's out of the
146777 scope of this patch.
146786 debug_threads, and have a concept of verbosity level. But they both
146789 Remove this concept of level. If we ever want to re-introduce it, I
146806 moves it out of breakpoint.c (the second largest source file in gdb)
146811 moves it out of breakpoint.c (the second largest source file in gdb)
146858 Remove a use of xfree in location.c
146859 This small cleanup removes a use of xfree from location.c, by
146866 gdb: use ptid_t::to_string instead of target_pid_to_str in debug statements
146889 I think there are two things wrong here, first in the "What" column of
146895 a similar fashion, I think that the `details` string of the
146904 of the serial_ops interface.
146948 # of unsupported tests 1
146953 bfd/elf64-ppc.c: fix clang -Wbitwise-instead-of-logical warning in ppc64_elf_check_init_fini
146957 …s-gdb/bfd/elf64-ppc.c:13131:11: error: use of bitwise '&' with boolean operands [-Werror,-Wbitwise…
146970 binutils/NEWS says of the change in --process-links semantics:
146972 --debug-dump=info) then the contents of matching sections in both the main
146974 most cases the debug section will only be present in one of the files.
147019 (struct ppc_dyn_relocs): New. Replace all uses of elf_dyn_relocs.
147087 wasteful in terms of space. Switch boolean fields to "bool" (also when
147088 this doesn't change their size) and also limit the widths of "rex",
147089 "rex_used", "op_ad", and "op_index". Do a little bit of re-ordering as
147090 well to limit the number of padding holes.
147097 By making use of, in particular, oappend_maybe_intel() there's no need
147098 for this redundant set of static data.
147182 * ldelf.c (ldelf_after_parse): Don't error when only one of
147191 This enumerator is not used by any table entry.
147194 On top of prior similar work more opportunities have appeared in the
147195 meantime. Note that this also happens to address the prior lack of
147196 decoding of EVEX.L'L for VMOV{L,H}P{S,D} and VMOV{LH,HL}PS.
147201 still relevant to note that OP_XMM() has special treatment of e.g.
147205 x86: record further wrong uses of EVEX.b
147210 VCMPSD would have had the same issue). And then the present concept of
147211 broadcast makes no sense at all when the memory operand of an insn is
147216 x86: reduce AVX512 FP set of insns decoded through vex_w_table[]
147219 and %XD more to eliminate a fair number of table entries.
147232 x86: reduce AVX512-FP16 set of insns decoded through vex_w_table[]
147233 Like already indicated during review of the original submission, there's
147280 and align the end of the RELRO segment to the page size:
147299 Because the end of the RELRO segment is always aligned to the page size
147351 + * testsuite/demangle-expected: Check demangling of clone symbols
147415 + around lhs and rhs of assignments.
147428 + * d-demangle.c (dlang_symbol_backref): Ensure strlen of
147473 This commit aims to not make use of -Wmissing-prototypes when
147476 Use of -Wmissing-prototypes was added with this commit:
147490 by the configure check in gdbsupport/warning.m4, but for users of
147501 There have been two previous attempts to fix this that I'm aware of.
147506 In this attempt, instead of just relying on a compile to check if a
147511 the use of this flag.
147520 This attempt only adds the -Wmissing-prototypes flag is the value of
147525 point of the original commit was to add this flag for clang, so
147531 the list of values might be extended to cover other compilers, if this
147560 With that fixed we hit lots of segfaults in the ld testsuite.
147574 of the dt-relr-glibc-1b.so test.
147612 It might seem to work, but only if '/' is a start of comment char.
147628 of that here.
147634 This is mainly to squash reports of "my fuzzed object made ld hang".
147648 The test cases only failed on LoongArch. The default type of char
147650 command on LoongArch, the default type of char is unsigned char,
147732 2. The test attempts to find the PID of the current thread, but the
147736 3. The test uses "info threads" to find the current thread PID.
147745 of times:
147778 entry.
147984 with a special glibc version symbol, to avoid random crashes of DT_RELR
148049 area can be annoying, as it requires GDB to be rebuilt with use of GNU
148052 This commit adds a pair of new maintenance commands:
148057 these commands can be used to disable use of the GNU Source Highlight
148076 As source files are read the contents of the file, as well as the
148090 finally, if m_source_map contains more than MAX_ENTRIES, an entry is
148106 So, given the current code does the work of reloading the offset data
148119 flushes the cache of source file contents.
148125 in that it modifies a source file after compilation, and makes use of
148143 aspects of Linux native inferior support, not just the LWP aspect of
148147 specific part of that debug was always a little blurry, but the actual
148203 In order to ease port of GNU assembly code and especially ld testsuite,
148270 noticed none. I chose to remove "CU:" on the objdump tests instead of
148271 changing options to get the wide format, so as to keep the name of the
148279 string length of the directory, instead emit the "CU: dir/name"
148290 For the sake of DT_RELR.
148302 In gdb/testsuite/gdb.base/charset.c, use "IBM1047" instead of "EBCDIC"
148309 when call fill_run() in EBCDIC-US and IBM1047, but the type of string[] is
148312 For example, ebcdic_us_string[7] will be -63 instead of the original 193 in
148315 Make the type of string[] as unsigned char to fix the following six failed
148319 FAIL: gdb.base/charset.exp: check value of parsed character literal in EBCDIC-US
148320 FAIL: gdb.base/charset.exp: check value of parsed string literal in EBCDIC-US
148321 FAIL: gdb.base/charset.exp: check value of escape that doesn't exist in EBCDIC-US
148322 FAIL: gdb.base/charset.exp: check value of parsed character literal in IBM1047
148323 FAIL: gdb.base/charset.exp: check value of parsed string literal in IBM1047
148324 FAIL: gdb.base/charset.exp: check value of escape that doesn't exist in IBM1047
148368 I suspect that this was caused by the end of year date range update
148372 be the date range for the version of automake being used, that is the
148378 Anyway, this is the result of running autoreconf (using automake
148390 of their target symbol.
148398 * coff-rs6000.c (xcoff_howto_table): Fix name of R_TLSML.
148402 * coff64-rs6000.c (xcoff64_howto_table): Fix name of R_TLSML.
148437 Reduce use of unfiltered output in Darwin code
148440 of debug_prefixed_printf_cond_nofunc), or to gdb_stderr, or to simply
148448 v2 of this patch uses warning rather than prints to gdb_stderr, and
148487 Unfortunately, the GNU/Hurd target is still relying on the value of
148489 value of inferior_ptid as the pid of the process that exited. This
148493 Instead, we should return a ptid containing the pid of the process
148498 of other issues with this target that makes running the full testsuite
148635 Fix by using foreach_with_prefix instead of foreach when preparing the
148667 This test runs the same sequence of operations twice. Refactor the code
148668 by running both of those sequences within a foreach_with_prefix block to
148680 DUPLICATE: gdb.mi/mi-nonstop.exp: stacktrace of stopped thread
148721 performed at different points during the execution of the debuggee.
148878 Fix by moving the first 'set logging redirect off' to the end of the
148881 sense and does not change the sequence of commands in the test file.
148889 developers test the auto-completion capabilities of GDB.
148891 One of the functions is test_gdb_complete_unique_re. It is used
148907 has leading whitespaces. In such situation, the output of the
148944 To fix that, this commit proposes that instead of left trimming both
148950 also ensures that this is taken care of.
149136 This is due to the fact that multiple successive instances of
149137 gdb_test_multiple use 'pass $cmd', but one of them forgets to reset $cmd
149143 While fixing this, this patch refactors all occurrences of the following
149161 This makes this test file coherent in its use of $gdb_test_name.
149171 DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100]
149172 DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100]
149180 the various uses of gdb_test_multiple.
149210 * po/fr.po: Same.
149211 * po/ru.po: Same.
149212 * po/uk.po: Same.
149229 * po/fr.po: Same.
149230 * po/ru.po: Same.
149231 * po/uk.po: Same.
149248 Building on the previous commit, this makes use of a trailing @ to
149275 '(name', and so they are grouped in the '(' section of the index,
149278 In this commit I've changed the definitions of make-command and
149281 The procedure declaration lines can get pretty long with all of the
149282 arguments, and this was true for both of the procedures I am changing
149283 in this commit. I have made use of a trailing '@' to split the deffn
149299 argument-name, for example, the pdf of make-command is:
149306 neither of which are ideal. And so, for the two commands I am
149307 changing in this commit, I have made use of @w{...} to prevent line
149332 version of i from 2.0 to 2.1. Since zicsr and zifencei are separated
149344 the default version of i is 2.1.
149352 the default version of i is 2.1.
149371 of this function.
149395 the streaming vector length instead of the current vector length.
149444 which give a nice help style summary that lists all of the available
149445 sub-commands, along with a one line summary of what each does.
149457 patch (or instead of Tom's patch).
149473 windows-tdep.c checks the result of xmalloc, which isn't necessary. I
149476 could be removed. Then, I added a couple of missing bounds checks.
149479 of a string. I am not certain, but that is why I think the existing
149520 With the introduction of CpuPOPCNT the NoAVX attribute has become
149526 it is possible to shorten a number of templates by specifying C directly
149531 The operand ordering portion of the mnemonics repeats, causing a flurry
149532 of almost identical templates. Abstract this out.
149536 should be converted to PLT32, as an eventual PLT entry would not express
149652 print_insn_i386 by removing the use of static variables.
149675 translation of) gdb.base/gnu_vector.exp. On 32-bit RISC-V, the
149676 "return" part of this test fails.
149690 Most of the expression-dumping code uses filtered output, but a few
149695 run it's easier to audit the code if the number of uses of _unfiltered
149703 of this method already use filtered output.
149710 gnu-nat.c has a number of ordinary commands that should use filtered
149736 one into its own patch because, out of an abundance of caution, I
149758 This changes the implementations of the target files_info method to
149759 use filtered output. This makes sense because the sole caller of this
149777 In my tour of the ui_file subsystem, I found that fputstr and fputstrn
149814 of the actual thread.
149822 execute_control_commands_to_string can be rewritten in terms of
149842 This patch implements this change. It also makes a couple of other
149844 bt-utils.h, and it protects the definitions of
149845 gdb_internal_backtrace_1 with a check of GDB_PRINT_INTERNAL_BACKTRACE.
149881 values of 0x10000 even if no section alignment is greater than 0x1000.
149906 The minimum page size is used, instead of the maximum section alignment
150026 Use 0x%v, instead of bfd_sprintf_vma, to report relative relocations.
150038 0x%v instead of bfd_sprintf_vma.
150052 instead of
150101 of the message. The 'on connection 1 [...]' part is unexpected.
150104 part of the message.
150166 gdb/cli/cli-logging.c:202:25: note: in expansion of macro ‘_’
150185 gas: rework handling of backslashes in quoted symbol names
150193 character '\' in mnemonic" and further "end of file inside conditional".
150197 Instead of recording whether a backslash was seen, inspect the
150267 List of show logging subcommands:
150292 Fix use of 'printf' in gdbtypes.c
150293 An earlier patch of mine, commit 64b7cc50 ("Remove
150324 - in the case of the jit test-cases, rewriting the for loops.
150346 of the function uses the _unfiltered form. This patch fixes this
150351 Update year range in copyright notice of binutils files
150352 The result of running etc/update-copyright.py --this-year, fixing all
150355 out */po/*.pot which we don't update frequently.
150357 The copy of cgen was with commit d1dd5fcc38ead reverted as that commit
150358 breaks building of bfp opcodes files.
150374 This doesn't fix all the problems, but grabs a bunch of the more
150380 can find & update them accordingly.
150388 Move the 64-bit bfd logic out of bfd/configure.ac and into bfd64.m4
150417 at the end of the execution listing all the files where
150418 a manual update of the copyright header is needed. This
150422 Manual copyright year update of various GDB files
150424 we have a copyright year outside of the copyright year,
150431 as per GDB's Start of New Year Procedure.
150433 For the avoidance of doubt, all changes in this commits were
150480 The idea of this patch is to make it easy to see which targets (just
150486 * elf64-x86-64.c: Likewise. Also don't redefine a bunch of other
150545 That means that two conditionals that control the sorting of the .pdata section
150588 gdb_stdlog. This is part of PR gdb/7233.
150596 As a side effect, logs are now written to gdb_stdlog. This is part of
150605 part of PR gdb/7233.
150613 files) to use gdb_stdlog for its output. This is part of PR gdb/7233.
150622 of PR gdb/7233.
150630 side effect, logs will now go to gdb_stdlog. This is part of PR gdb/7233.
150638 gdb_stdlog, rather than stdout. This is part of PR gdb/7233.
150646 This is part of PR gdb/7233.
150664 This is part of PR gdb/7233.
150672 is better. This is part of PR gdb/7233.
150695 Remove unusual use of core_addr_eq and core_addr_hash
150697 the address of a member and then passing this (as a void*) to these
150717 Some of those parameters can be passed as command line arguments to GDB
150731 Terminal for future runs of program being debugged is "/some/tty".
150736 Terminal for future runs of program being debugged is "".
150740 that they influence the runtime behavior of the program) even if they
150759 Entry offsets in the global offset table are multiples of 4, not 8.
150775 In some cases, eg. riscv_pre_output_hook, gas generates out-of-order
150853 combination of %s and call to host_address_to_string. This also
150862 gdb_bfd.c contains most of gdb's BFD-related utility functions.
150864 this out of util.[ch] and into the BFD-related file instead.
150930 Note that following were added already as part of svinval extension
150938 * cpu-riscv.c (riscv_priv_specs): Added entry for 1.12.
150958 There are no known implementors of 1.9.1 H-ext. (Per Jim, kendryte k210
150987 Set of fixes to resolve some duplicate test names in the gdb.mi/
150988 directory. There should be no real test changes after this set of
151009 gdb: better handling of 'S' packets
151024 extended-remote target, the threads of the process being attached too,
151049 the original assertion failure. The cause of this is in
151061 nullptr. This is the cause of the segfault, and is resolved by moving
151132 Notice how after the `finish` the contents of $1 are junk, but, when I
151133 immediately ask for the value of `a`, I get back the correct value.
151142 interprets the contents as an instance of A.
151147 allocated for it by the caller, and the address of this space is
151149 then return the address of this space as the return value.
151151 And so, the register that GDB is treating as containing an instance of
151152 A, actually contains the address of an instance of A (in this case on
151162 the type as AMD64_MEMORY, instead of as AMD64_INTEGER as we currently
151165 At the top of amd64_classify_aggregate we already have this logic:
151203 Inside the unaligned field check we try to get the bit position of
151268 gdb: make use of SCOPE_EXIT to manage thread executing state
151323 entry for 'set mi-async' when the command is documented as '-gdb-set
151336 LINUX_NAT_SCOPED_DEBUG_ENTER_EXIT macro, and makes use of it in one
151339 The manual entry for 'set debug lin-lwp' is already vague about
151364 GDB already announces when threads are created of course.... most of
151420 Fix mispelling of PROT_ME to PROT_MTE in the error messages.
151438 on the upper half of %esp being zero), simply issue an error. While at
151443 We would better be prepared for 'm' being the first character of the
151458 This removes the print_spaces helper function, in favor of using the
151461 of that function is using filtered output. (This highlights one way
151500 the leading '*' at the beginning of each line of the comment.
151504 the leading '*' at the beginning of each line of the comment.
151557 into some problems. This commit is an attempt to fix one of the
151590 processing the stop packet until the end of ::attach. We setup the
151611 use of the remote_state::buf object.
151637 instances of 'rs->cached_wait_status = 0;' in ::putpkt_binary and
151642 I did play with using some kind of scoped restore to backup, and
151650 in _lots_ of places.
151654 data, and I think it would be too easy for new corruptions of the
151676 remote_target::start_remote, however, the second of these cases is far
151694 Another change of interest is in remote_target::remote_interrupt_as.
151701 of the ::stop_reply_queue with how we used to handle the
151706 ::cached_wait_status we run through the whole of ::wait_as, and return
151707 at the end of the function.
151711 1. Resetting of the remote_state::waiting_for_stop_reply, flag; this
151715 2. The final return value has the possibility of being adjusted at
151716 the end of ::wait_as, as well as there being calls to
151717 record_currthread, non of which are done if we process a stop from
151729 situation ever changes, then we should find out pretty quickly.
151733 value adjustment code at the end of ::wait_as.
151735 An example of a test that reveals the benefits of this commit is:
151754 now running. For that configuration alone I see the number of
151755 unresolved go down by 49, the number of passes goes up by 446, and the
151756 number of failures also increases by 144. All of the failures are new
151800 This is a relatively straightforward translation of the existing .sh
151824 adding a line to a certain part of gdbarch.sh. We use the existing sh
151825 code, though, to generate the first draft of this .py file.
151860 as a hunk of C code embedded in the generator.
151862 This patch moves this sort of code out of gdbarch.sh and gdbarch.c and
151876 the member initializer list rather than in the body of the constructor
151877 of the `fortran_array_walker' class. No functional change.
151929 initialization it the only task of tui_initialize_win, this patch moves
151944 and check that entry in elf_section_syms for sec is non-NULL.
151970 offset from r_offset that is outside the size of the reloc as given by
151988 We can't assume .dynamic is a multiple of ElfNN_External_Dyn, at least
151991 * elfnn-aarch64.c (get_plt_type): Don't access past end of
152029 (debug_displays): Add entry for .note.gnu.build-id.
152039 The behaviour of the new options can be expressed using a
152040 combination of existing feature flags and tables.
152071 The behaviour of the new options can be expressed using a
152072 combination of existing feature flags and tables.
152097 The behaviour of the new options can be expressed using a
152098 combination of existing feature flags, so we don't need to
152099 eat into the vanishing number of spare AARCH64_FEATURE_* bits.
152100 Hoewver, it was more convenient to separate out the |s of
152154 svinval extension. Two of them (HINVAL.VVMA and HINVAL.GVMA) need to
152155 enable the hypervisor extension. But there is no implementation of
152168 of hinval.vvma and hinval.gvma, from 0x0011011 and 0x0111011 to 0x0010011
152222 Using an unsigned int cast (to 32 bits) on a pointer difference (of
152224 object files, the fuzzers will eventually find this hole.
152234 update the wiki [1] in parallel to bump the version of black to 21.12b0.
152257 PR28691 is a fuzzing PR that triggers a non-problem of "output changes
152259 PRs before as wontfix, but I guess there will be no end of this type
152260 of PR. The trigger is an attribute that usually takes one of the
152263 an error string instead. The address of the string varies with PIE
152278 New --enable-threading configure option to control use of threads in GDB/GDBserver
152280 at configure time. This is useful for statically-linked builds of
152284 when setting up the number of worker threads.
152286 This new option is also convenient when debugging GDB in a system with lots of
152304 PR28694, Out-of-bounds write in stab_xcoff_builtin_type
152318 …gas/config/tc-loongarch.c:915:28: error: right shift count >= width of type [-Werror=shift-count-o…
152332 …gas/config/tc-loongarch.c:661:13: error: cast from pointer to integer of different size [-Werror=p…
152377 Looking at the rest of the socket initialization code, the intent seems
152381 Commit 6cebaf6e1ae4 ("use xsnprintf instead of snprintf.") changed this
152382 code to use xsnprintf instead of snprintf, introducing this assertion.
152389 With this patch, we get a warning (printed by the caller of
152415 …ong unsigned int)’ output may be truncated copying 107 bytes from a string of length 107 [-Werror=…
152462 The first instance of this error fix by this patch is:
152480 Just give this class a new name, more inline with the name of the
152488 gdb/mi: use separate classes for different types of MI command
152490 sub-classes for the different types of MI command. Instances of these
152494 invoke method and takes care of the suppress notifications handling,
152496 of the sub-classes.
152498 There's currently two different sub-classes, one of pure MI commands,
152506 Change an argument of mi_execute_cli_command from int to bool. Update
152508 update a comparison of a pointer to 0 with a comparison to nullptr,
152549 of GNU ld, including the weak symbol references and the relaxations behaviors.
152550 Besides, these testcases also show the limits of the current medlow and medany
152556 behaviors of the current medlow and medany code models.
152613 gdb: improve reuse of value contents when fetching array elements
152625 Then in the Python script I was fetching a complete copy of global
152636 to end up accessing almost all of the contents of val, and so I wanted
152638 one go, rather than trying to do lazy fetches for a couple of bytes at
152642 correctly, fetch the entire contents of global_foo, including all of
152643 the contents of array, however, when I access val.array[1], GDB still
152644 goes and fetches the value of this element from the remote target.
152648 then doing value_ptradd, and value_ind, the second of these calls
152652 end of an array, when working with zero element arrays, or when
152655 not have the content of the array loaded, we should be using the
152659 do know the bounds of the array, I think we should be using
152664 value_subscripted_rvalue stripped typedefs from the element type of
152666 as an element of the array, but would be the raw, non-typedefed,
152667 type. In charset.exp we got back an 'int' instead of a
152668 'wchar_t' (which is a typedef of 'int'), and this impacts how we print
152670 wrong, so I got rid of that, and I don't see any test regressions.
152678 This commit updates uses of 'loc' and 'loc_kind' to 'm_loc' and
152691 Which means we print 'm_name' instead of 'name' when displaying the
152702 I updated the gdb.gdb/python-helper.exp test to cover all of these
152739 Part of the target class hierarchy looks like this:
152755 Every sub-class of inf_ptrace_target, except rs6000_nat_target,
152757 the implementation of ::post_startup_inferior not from
152760 No descendent of inf_child_target, outside the inf_ptrace_target
152765 What I find confusing is the role inf_child_target plays in
152766 implementing, what is really a helper function for just one of its
152770 a helper function of inf_ptrace_target. To do this I will remove the
152774 I'll remove the empty implementation of ::post_startup_inferior from
152778 All the other descendents of inf_ptrace_target already provide an
152779 implementation of this method and so don't need to change beyond
152783 only called from within the inf_ptrace_target class, is now a part of
152816 When the target tree was converted to C++, all of the above classes
152854 I could only find mailing list threads for ppc and sh in the archive ,
152855 and unfortunately, none of the commits has any real detail that might
152856 explain why mips was missed out, the only extra context I could find
152871 implementation of inf_child_target::post_startup_inferior rather than
152873 enabling of proc events is something that would need to be done for
152874 all netbsd targets, regardless of architecture.
152877 implementation of post_startup_inferior to mips_nbsd_nat_target,
152890 configurations of GDB, and, during one test build I ran into a
152913 So, though we can build most of GDB just fine for riscv and mips with
152920 of targets that require a 64-bit bfd. After this I can build GDB just
152923 This was discussed on the mailing list in a couple of threads:
152930 situation ever changes then it would be expected that some (or all) of
152942 I found some uses of xfree in the path substitution code in source.c.
152955 Gold version of commit 7aba54da42.
152982 caused readelf to run out of stack since load_separate_debug_info
152987 …main_filename=main_filename@entry=0x510f50 "/export/home/hjl/.cache/debuginfod_client/dcc33c51c49e…
152988 xlink=xlink@entry=0x4e5180 <debug_displays+4480>,
152989 parse_func=parse_func@entry=0x431550 <parse_gnu_debuglink>,
152990 check_func=check_func@entry=0x432ae0 <check_gnu_debuglink>,
152991 func_data=func_data@entry=0x7fffffffdb60, file=file@entry=0x51d430)
153022 The comment on top of gdb/testsuite/boards/remote-stdio-gdbserver.exp says
153059 past end of attributes.
153111 gdb/testsuite: fix default behavior of runto
153112 The documented behavior of proc runto is to not emit a PASS when
153136 You should have received a copy of the GNU General Public License
153183 This is partly due to the addition of the IS-STMT column.
153211 RISC-V: Clarify the behavior of .option arch directive.
153223 * The operator "+" won't update the version of extension, if the
153242 arch, + won't change the version of extension, if the extension is
153258 the user detached an inferior while a thread of that inferior had a
153261 the core? Sure enough, neither the core of GDB or the target detach the
153266 Make GDBserver detach of fork children it knows about. That is done in
153270 GDB-side, make the linux-nat and remote targets detach of fork children
153271 known because of pending fork events. These pending fork events can be
153276 while stopping all threads, to present an all-stop stop on top of a
153288 acknowledged. I followed the model of remove_new_fork_children for
153297 outside of GDB's control, make that process create a file in the test
153307 that is only valid if the pending event is of type
153312 wait status is of kind TARGET_WAITKIND_STOPPED, and use GDB_SIGNAL_0
153340 gdb: move clearing of tp->pending_follow to follow_fork_inferior
153350 child, as we'll continue debugging the child. As of now, the
153351 tp->pending_follow field of the thread who called fork still contains
153364 As of this patch, no behavior changes are expected.
153372 find a bit awkward, and to make them a bit more reusable.
153374 - Pass an inferior to kill_new_fork_children instead of a pid. That
153416 Whether gdb will detach the child of a fork is on.
153418 Debugger response to a program call of fork or vfork is "parent".
153426 …Remote 'g' packet reply is too long (expected 560 bytes, got 816 bytes): ... <long series of bytes>
153428 The sequence of events leading to the problem is:
153431 synchronous / all-stop variant of the remote protocol
153442 of thread B's fork.
153453 thread list the threads that are the result of forks not processed by
153459 implement the same kind of logic GDBserver-side: if there exists a
153460 thread / inferior that is the result of a fork event GDBserver hasn't
153470 Linux layer of GDBserver already tracks unreported fork parent / child
153475 target function that allows the Linux target to return the parent of an
153478 Testing-wise, the test replicates pretty-much the sequence of events
153479 shown above. The setup of the test makes it such that the main thread
153490 therefore the reproducibility of the bug. So I made the test try both
153506 equivalent) to loop over a static array. This patch changes some of
153520 This change inverted the sense of the test, which causes failures with
153529 gdb/python: Use tp_init instead of tp_new to setup gdb.Value
153582 installing the new gdb value object. However, the cost of doing this
153593 I have tweaked the definition of gdb.Value.__init__. The second,
153613 of gdb.Value, there should be no user visible changes after this
153654 the actual printing of the disassembler output is done in
153668 Dump of assembler code from 0x0 to 0x4:
153675 Dump of assembler code from 0x0 to 0x4:
153683 Dump of assembler code from 0x0 to 0x4:
153696 Dump of assembler code from 0x0 to 0x4:
153702 Dump of assembler code from 0x0 to 0x4:
153707 itself, rather than just appended to the end of the previous line,
153768 struct linespec contains pointers to vectors, instead of containing
153789 replacing it with a simpler use of std::string.
153822 kernel's PRNG has reseeded. AT_KPRELOAD is the base address of a
153825 This change displays the proper name and description of these entries
153883 1 | 15 You should have received a copy of the GNU General Public |
153907 The cause of the diffferent placement is that we have as line number for main
153911 Line 20 of "tui-layout.c" starts at address 0x4004a7 <main> \
153917 Line 21 of "tui-layout.c" starts at address 0x4005f4 <main> \
154083 of the target string, most notably in that "-little" wasn't actually
154099 script, to a library specified with -l, or to an element of a thin
154127 The draw-back of using _Alignas is that while it does enforce a minimum
154136 and find out that the specified alignment was incorrect and should have been
154140 The idea of having precise alignment as a means of having more predictable
154150 - prevent the same type of problems in any new test-cases based on these
154192 overriding use_plt_offset() in relocate(). The rest of the patch
154254 so we can get rid of arch-specific sim-main.h.
154258 so we can get rid of arch-specific sim-main.h.
154262 so we can get rid of arch-specific sim-main.h.
154267 We're including system headers after local headers in a bunch of
154271 Use the more standard order of:
154316 Cache the result of find_file_and_directory
154317 This changes the DWARF reader to cache the result of
154336 of tests it contains. By splitting it up and running in parallel, the
154353 When on, enable the use of the index cache.
154363 When on, enable the use of the index cache.
154369 When on, enable the use of the index cache.
154375 When on, enable the use of the index cache.
154383 readability improvements") change the output format of "maint info
154399 I am not sure what's the root cause of this, whether it is a GDB bug
154434 - separate each entry with a newline, to visually separate them
154436 - print the name of the compunit_symtab
154483 - Add overloads of extract_signed_integer and extract_unsigned_integer
154498 value_contents returns an array view that is of length
154508 don't do out of bounds accesses. However, when the array_view is copied
154513 views have the same size. When copying to or from parts of an
154516 of bounds should be caught by an assertion at runtime.
154531 The order of parameters of the new copy function is based on std::copy
154537 Add a test for the new function, testing both with arrays of a trivial
154538 type (int) and of a non-trivial type (foo). Test non-overlapping
154539 ranges as well as three kinds of overlapping ranges: source before dest,
154555 which does the right thing, given the move constructor of
154576 I initially thought of adding static creation functions, which you would
154625 included a large amount of binary data in the command sent to GDB. As
154627 the gdb.sum file. The contents of the binary data could change
154628 between different runs of GDB, and this makes comparing results
154659 the purpose of managing the starting_up flag. As well as setting, and
154672 pages based on the GNU standard behavior of shipping info pages with the
154674 automake disabled some of the targets, it was still creeping in by way
154675 of unconditional INFO_DEPS settings.
154700 result of xstrdup is used to initialize the string, and then lost
154730 The problem is that i387_xsave_to_cache in gdbserver/i387-fp.cc can't find a
154750 constants to describe the size of the register file:
154774 that changed the behavior of those tests. Notably, it prevent the
154778 could find to use "DWARF [0-9]" instead (that string is passed to TCL's
154785 (PPC64) fix handling of fixed-point values when using "return" command
154812 The output of the last command shows that we returned the wrong
154814 it is 1/16th of the value we expected, where 1/16 is FP1_Type's
154821 factor, to get the integer-representation of our fixed-point value
154826 of the scaling factor.
154830 the function is read from register without the use of a type,
154831 thus avoiding an unwanted application of a scaling factor.
154840 (RISCV) fix handling of fixed-point type return values
154878 This problem comes from the handling of integral return values
154880 here is actually a range of a fixed point type, but the same
154903 store the value of into a buffer with the right register size.
154912 the size of FP1_Type is 1 byte, we overflow and thus it ends up
154949 This patch enhances the extraction of the return value to know about
154965 types, then in gdb, printing the result of a call to call_fp1 with a
154977 32bit integer because we detected that the length of that object was less
154986 This adds a 'task apply' command, which is the Ada tasking analogue of
155036 invalid uses of MOVPRFX.
155130 Both of them were previously unmapped. allint supports a 0/1 immediate.
155198 (md_assemble): Record the location of the instruction in
155209 of consecutive instructions. It was added to support MOVPRFX
155234 The immediate form of MSR has a 4-bit immediate field (in CRm).
155235 However, many forms of MSR require a smaller immediate. These cases
155241 the minimum of 0, which avoids a situation in which:
155247 Error: immediate value out of range 0 to 1
155255 Error: immediate value out of range 0 to 15
155274 * testsuite/gas/aarch64/sysreg-4.s: Use an immediate value of 1
155315 Because of the POP, the diagnostic should go back to being disabled,
155317 here. Versions of GCC >= 5 compile correctly.
155324 out of nowhere and cause a build error if building with future
155337 config.status: error: cannot find input file: `doc/Makefile.in'
155339 This is because configure is out-of-date, re-generate it.
155348 config.status: error: cannot find input file: `doc/Makefile.in'
155350 This is because configure is out-of-date, re-generate it.
155528 the "init state" of 0 defined by the XSAVE hardware.
155548 This commit makes use of a scoped_restore object to control the
155553 start_remote and just leave the restore in place until the end of the
155555 of GDB. Specifically, in start_remote, the following code is executed
155563 check the value of remote_state::starting_up. And so, I'm concerned
155564 that leaving the scoped_restore in place until the end of start_remote
155673 ZIDR_EL1 was part of an early version of SVE, but didn't make
155677 * aarch64-opc.c (aarch64_sys_regs): Remove zidr_el1 entry.
155721 There is a lot of overlap between the ETM and ETE system registers,
155741 if A happened to be the name of an instruction. Adding new
155745 for "xzr", where "zero" is now also the name of an SME instruction.
155767 I can't find a way of exercising the (existing) p == base condition,
155792 cause an error for earlier versions of Python.
155797 An earlier version of this patch incorrectly switched from using 'p'
155799 cause some changes in behaviour, for example both of these will work
155805 The new approach of using 'O' works fine with these cases. I've added
155806 some new tests to cover both of the above.
155855 The gdb.python/py-inferior-leak.exp test makes use of the tracemalloc
155907 value of 0 just happened to be fine because the test had asked GDB to
155937 by printing a default address of 0x0. I did originally change the
155947 This commits adds a new sub-class of gdb.TargetConnection,
155959 The result of calling RemoteTargetConnection.send_packet is a bytes
155973 implementation of an abstract interface. Two functions within this
155979 going to actually send it, and (2) we don't need to make a copy of the
156019 The binary contents of the reply are now printed as escaped hex.
156028 There's three ways to find a gdb.TargetConnection, there's a new
156029 'gdb.connections()' function, which returns a list of all currently
156068 The bits of vtype immediate from 8 to (xlen - 1) should be reserved.
156071 vediv extension and use the bit 8 and 9 of vtype, but forgot to update
156105 test the reserved bit 8 to (xlen-1) of vtype.
156112 extract the reserved immediate of vtype correctly.
156152 whole imm as numbers once one of them is NULL.
156189 The Rust compiler plans to change the encoding of a Rust 'char' type
156195 the handling of DW_ATE_UTF is currently fairly specific to C++. In
156205 instead of once per objfile. That seems to work fine.
156210 shouldn't be too concerned about the memory use of types coming from
156214 Changing this code to use a character type revealed a couple of
156215 oddities in the C/C++ handling of TYPE_CODE_CHAR. This patch fixes
156231 duration of each download.
156262 The includer of ps is a shared symtab for a partial unit, with as user:
156290 Update description of string's -n option.
156292 * strings.c (usage): Update desciption of -n option.
156323 we run into another instance of PR28383, where the dwarf assembler generates
156340 testing all of the ports in a multitarget configuration.
156352 instead of in serial.
156354 For most targets, this doesn't make much of a difference as they only
156356 and will see a bit of a speed up.
156362 We can gain further speedups by splitting up some of the larger .exp
156369 for eeach set of tests. This allows us to run all the tests in a
156381 To address this limitation, create a suite of FOR_TARGET variables
156383 a bit of setup ahead of time, but it's a one-time cost, and makes
156401 Some of the core sim headers rely on the SIM_AC_OPTION_BITSIZE macro
156402 which can change the size of core types. Since these haven't been
156409 on any port-specific settings, so move it up to building as part of the
156492 Avoid use of TARGET_<syscall> defines and rely on the callback layers
156494 instead of assuming the newlib/libgloss numbers all the time.
156497 Avoid use of TARGET_<syscall> defines and rely on the callback layers
156499 instead of assuming the newlib/libgloss numbers all the time.
156528 bfin way of overriding it to stuff custom CFLAGS doesn't scale well.
156529 Add a dedicated CFLAGS_FOR_TARGET_init setting that each set of tests
156541 dirname to find rvdummy fails because it looks for `./rvdummy`. So
156542 switch it to always use the local build of rvdummy which is the one
156560 The problem is that the test-case does not expect to find a file main.c, but
156579 too. A lot of the C code is written such that it works with either
156619 copy it over to the cris forks of the test+run functions.
156629 option, so clean up the code ahead of time.
156631 We also have to tweak some of the cris tests which were making
156638 the dejagnu settings of XXX_FOR_TARGET, rename global_sim_options to
156747 - issue a list of a line in include-main.c, while the corresponding
156775 All of the binutils refactoring has been moved to a separate, earlier,
156792 which in turn took inspiration from the MIPS implementation of the
156822 Fix this by adding the copy of the dir and md5 fields.
156867 This commit fixes the problem by moving the definition of
156868 extension_language_python outside of the HAVE_PYTHON macro protection.
156914 if we tried to use c.e in code, the compiler would warn of an ambiguity,
156916 address (and thus byte offset) of the members, making A::e and B::e have the
156953 difference was lack of an empty line between the pe-aarch64igen.c rule
156963 * po/BLD-POTFILES.in: Regenerate.
156964 * po/SRC-POTFILES.in: Regenerate.
156969 * po/fr.po; Updated French translation.
156991 Make a couple of global variables static in python/python.c. To do
156992 this I had to move the definition of extension_language_python to
157037 the checking of this flag out of the various ::can_async_p methods and
157054 target_is_async_p, however, there are also plenty of places where we
157063 This commit moves the target_async_permitted check out of each targets
157074 gdb: introduce a new overload of target_can_async_p
157076 member function directly, instead of using the target_can_async_p
157079 In some of these places this is because we need to ask before the
157085 of target specific code into target.c. To achieve this, in this
157086 commit, I introduce a new overload of target_can_async_p which takes a
157088 then make use of the new overload where appropriate.
157132 output of the command. After the commit, the message is unified and it's no
157138 - making the commands "set logging on/off" deprecated aliases of the
157173 Revert (part of) "gdb fix for catch-syscall.exp"
157174 This reverts (par of) commit ab198279120fe7937c0970a8bb881922726678f9.
157177 we get an "entry" event, but no "return" event. This is not what we get
157181 Revert the part of the patch related to this, but not the other hunk.
157189 * sysdump.c (getCHARS): Check for an out of bounds read.
157248 This adds support for efi-*-aarch64 by virtue of adding a new PEI target
157333 (jtab): Add dummy entry that traps.
157373 * po/Make-in (msgid-bugs-address): Likewise.
157377 * po/Make-in (msgid-bugs-address): Update.
157379 * README: Update bug address. Delete mention of gcc.
157380 * po/Make-in: Update bug address.
157382 * po/Make-in: Update bug address.
157384 * po/Make-in: Update bug address.
157386 * po/Make-in: Update bug address.
157388 * po/Make-in: Update bug address.
157439 const target_waitstatus objects could be passed by reference instead of
157451 of target_waitstatus::to_string a bit, but I think it is for the better.
157467 Make target_waitstatus_to_string a "to_string" method of
157469 will save a bit of typing.
157522 gdb/nat/amd64-linux-siginfo.c:337:38: note: in expansion of macro 'cpt_si_lower'
157567 DW_FORM_line_strp pointing outside of .debug_line_str section \
157577 208 error (_("%s pointing outside of %s section [in module %s]"),
157582 which is read when parsing a .debug_line entry at 0x1e0.
157584 Looking with readelf at the 0x1e0 entry, we have:
157599 - gdb instead interprets it as an 8 byte value, and sees as first entry
157618 gcc. The reason that the .debug_line entry has 32-bit dwarf is because that's
157640 For now, make the v5 directory and filename tables work with the v4 type of
157697 rtf=$(echo $(cd src/gdb/testsuite; find gdb.* -type f -name "*.exp" \
157743 this was a random variable leaking out of the sh testsuite code. As
157785 the "mova" support and the "short form" of those instructions in particular.
157788 where op3 wasn't filled in and thus we've got the short form of the mova
157791 But for the short-form of those instructions we never set any of the "op3"
157803 and haven't seen any of the intermittent failures again.
157815 …/home/smarchi/src/binutils-gdb/gdb/../gdbsupport/array-view.h: In instantiation of constexpr gdb::…
157817 …/home/smarchi/src/binutils-gdb/gdb/../gdbsupport/array-view.h:192:3: error: body of constexpr func…
157821 This is because constexpr functions in c++11 can only consist of a
157890 instead of
157985 gdb/testsuite: Extend tests for print of cv qualifiers
157986 This commit supplements whatis and ptype command tests for print of
158063 * gdb/c-typeprint.c: Print cv qualifiers in case of parameter
158153 entry, STO_RISCV_VARIANT_CC, to indicate there are symbols with the
158154 special attribute in the dynamic symbol table of the object.
158164 flag, then raise the variant_cc flag of riscv_elf_link_hash_table.
158165 (riscv_elf_size_dynamic_sections): Added dynamic entry for
158201 Instead of always using target_alias as a prefix on the name, use
158256 I've fixed this by using gdb_test_multiple instead of gdb_test.
158261 for "Don't know how to run" despite bailing out at the top of the test
158279 "class", as the compiler kind of suggests, the code compiles.
158302 initialize the fields of ia64_infcall_ops directly, instead
158310 The contents of rs6000-tdep.h (AIX_TEXT_SEGMENT_BASE) is AIX-specific,
158315 rs6000-aix-tdep.c, so move it to the beginning of that file.
158378 of files define a *_gdbarch_tdep class that inherits from a gdbarch_tdep
158379 base. But some of these files don't include gdbarch.h, where
158441 The test complains of duplicate tests.
158446 are the result of calling do_test three times with different arguments.
158457 Issue an error, instead of crash, on discarded output .plt section.
158485 I managed to reproduce this by adding "sleep (5)" at the start of main in
158488 Fix this by waiting on the result of the spawned command.
158532 verify if z*inx enabled and use gpr instead of fpr when z*inx is enable.
158605 * aarch64-opc.c (aarch64_print_operand): Printout of
158747 This patch is adding ZERO (a list of 64-bit element ZA tiles)
158892 This series of patches (tagged [SME]) add support for the Scalable
158988 of v, zve and zvl extensions.
158989 (riscv_supported_std_ext): Updated verison of v to 1.0.
159051 …'__builtin___sprintf_chk' may write a terminating nul past the end of the destination [-Werror=for…
159092 way of suppressing the stock settings wholesale. We want these to
159093 all pass out of the box with little to no configuration so that they
159117 for the address of 'mnimonic' will never be NULL [-Werror=address]
159127 gdb: fix length of array view returned by some value_contents functions
159129 to use gdb::array_view"), I believe I made a mistake with the length of
159131 of `TYPE_LENGTH (value_type (type))` length. This is not correct when
159133 case, the value's contents buffer is of the size of the enclosing type,
159134 and the value's actual contents is a slice of that (as returned by
159138 as a whole, they should have the size of the enclosing type.
159198 The motivation is to reduce the number of places where unmanaged
159199 pointers are returned from allocation type routines. All of the
159317 the Blackfin implementation of these syscalls to the common code.
159322 pointer instead of setting to the length, and make sure we don't write
159331 sim: keep track of program environment strings
159338 more functionality in the run interface, and to unify some of the
159344 Turns out some of these were hiding real bugs like not passing the
159421 * opcode/riscv-opc.h: Added encodings of crypto instructions.
159430 RISC-V: Minimal support of scalar crypto extension.
159431 Minimal support of scalar crypto extension, add "k" in the
159438 (riscv_supported_std_ext): Added entry for k.
159446 First, use "set debuginfod enabled on/off/ask" instead of "set
159460 - Make the setter of "debuginfod enabled" error out when debuginfod
159463 - Make the setter of "debuginfod verbose" work in any case. I don't
159465 hit an error if they try to enable the use of debuginfod.
159489 Linux. This patch updates them all (to the best of my knowledge).
159587 I looked at the documentation of "set logging debugredirect [on|off]":
159592 and my interpretation of it was that "debug output" did not match the
159593 "messages" description of inferior-events:
159596 of messages when GDB notices that new inferiors have started or that inferiors
159622 the variations of the BTI instruction.
159628 This is not possible at the moment (in theory), because of the one
159672 Gas uses the directory part, if present, of the .file 0 directive to set
159673 entry 0 of the directory table in DWARF 5, which represents the "current
159676 Now Gas also uses the file part of the same directive to set entry 0 of the
159699 the 0 entry of the file table.
159704 The point of this test is to just make sure the usage text is shown,
159705 not the exact details of the usage text. So shorten the output test
159718 The #dest field used in the cris testsuite is a bit of hack to set the
159731 sim: split program path out of argv vector
159732 We use the program argv to both find the program to run (argv[0]) and
159733 to hold the arguments to the program. Most of the time this is fine,
159740 By itself, this code is more of a logical cleanup than something that
159741 is super useful. But it will open up customization of argv[0] in a
159749 idea of target here doesn't make much sense.
159769 R_PPC64_REL24_P9NOTOC is a variant of R_PPC64_REL24_NOTOC for use on
159778 The current linker heuristic of only generating power10 instructions
159786 * elf64-ppc.c (ppc64_elf_howto_raw): Add entry for new reloc.
159813 Regenerate a couple of files
159814 A couple of files changed on my latest --enable-maintainer-mode
159815 build. ld/Makefile.in had a missing dependency but better sorting of
159830 …src/gdb/location.c:963:38: error: the address of 'event_location::<unnamed union>::explicit_loc' w…
159837 GCC is right, EL_EXPLICIT is defined as returning the address of an
159855 The 'show user' command (which shows the definition of non-python/scheme
159933 (gdb) I'm the proud parent of child #5044!^M
159964 our help messages getting out of date. The function probably belongs
159976 * po/POTFILESin: Regenerate.
159992 - resume the currently selected thread (because of scheduler-locking,
160096 - set a breakpoint on a local copy of glibc's _exit, and
160127 Disassembly of section .text:
160149 Disassembly of section .text:
160239 Objcopy was used to create a binary file of just the executable code
160242 to get rid of custom logic.
160283 representation of files in COFF formats. However, gdb directory update
160284 has been forgotten, leading to compilation errors of this kind:
160309 Rather, this test-case is a version of the original test-case
160313 The benefit of this test-case is that it exercise real-life code and may
160325 While the feature is nice for developers, it breaks a bunch of
160357 stored in auxiliary entries of the C_FILE symbol.
160362 (coff_bigobj_swap_aux_in): Adjust names of x_file fields.
160370 (coff_get_normalized_symtab): Adjust names of x_file fields.
160373 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust names of
160394 struct instead of a union. Add x_ftype field.
160404 The purpose of this test is described in the comments in
160409 The name of this new test was based on that of an existing test,
160411 adding to it, and then rewriting almost all of it. It's different
160423 Since creating that bug report, I've found a somewhat simpler way of
160425 which I've created along with this bug fix. The name of the new test
160429 start with 'dp-bug' instead of 'dprintf-execution-x-script'.
160431 The script file, named dp-bug.gdb, consists of the following commands:
160468 of at the end of the script), there are three dprintf messages along
160501 comment and code near the start of the function:
160524 This combination of things, the state of the static global
160525 'executing_breakpoint_commands' plus the state of the async
160552 #8 0x0000000000b8cd6e in gdb_wait_for_event (block=block@entry=0)
160604 the value of 'executing_breakpoint_commands' is 1, forcing an early
160608 For the sake of comparison, this is what the stack looks like when hitting
160632 #8 0x0000000000b8cd6e in gdb_wait_for_event (block=block@entry=0)
160651 Yet another thing to be aware of regarding this problem is the
160664 type of breakpoint which use 'after_condition_true'. This suggests
160665 that one possible way of fixing this problem, that of making dprintf
160667 (I must admit, however, that my understanding of this code isn't
160675 1) execution of a GDB printf command, 2) an inferior function call of
160676 a printf-like function, or 3) execution of an agent-printf command.
160697 (long_options): Correct "ctf" entry.
160762 When the code to handle DW_LLE_start_end was added (as part of some
160767 This patch changes a couple of spots in dwarf2/loc.c to fix this
160772 combination of DWARF 5 and a newer version of GCC. I've updated a
160773 couple of existing loclists test cases to demonstrate the bug.
160787 This patch restores one of the removed configure checks and updates
160810 of awk. Avoid discouraged "$p" usage, using "$(p)" instead.
160848 since the hardcoded exp list was a little out of date.
160853 output & status of the fail test.
160870 While reading the interface of gdb::array_view, I realized that the
160871 constructor that builds an array_view on top of a contiguous container
160901 Then with the current interface nothinng prevents this usage of
160929 ctor which accepts a container now requires that the (decayed) type of
160930 the elements in the container match the (decayed) type of the array_view
160940 Add a const version of gdb_argv:as_array_view
160942 of gdb_argv. Those methods will be required in the following patch of
160955 target to commit each resumption immediately, instead of being able to
160965 I looked at the MI side of things, the function exec_continue, and found
160969 continue_1 do not need it, as continue_1 takes care of disabling commit
161031 I don't find that the bpstat typedef, which hides a pointer, is
161045 It's been a long time since most of this was written: it's long past
161050 are highly unlikely ever to see an example of any of them.)
161079 sim: sh: fix conversion of PC to an integer
161081 …sim/sh/interp.c:704:24: error: cast from pointer to integer of different size -Werror=pointer-to-…
161092 error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
161095 bit of code does.
161099 sim: sh: break utime logic out of _WIN32 check
161123 With most of the warnings fixed in interp.c, we can enable -Werror
161130 This block of code relies on i to control which bits to test and how
161132 it. There is another chunk of code that handles the pdmsb instruction
161140 Add parentheses to a bunch of places where the compiler suggests we
161152 of sregs.i for sh-dsp has generated a lot of compiler warnings about
161153 the access being out of bounds -- it only has 7 elements declared,
161156 and have sregs cover all of these registers.
161166 sim_fpu_to{32,64}u instead of sim_fpu_to{32,64}i to fix the following
161171 ….../sim/mips/cp1.c:1425:32: warning: pointer targets in passing argument 1 of 'sim_fpu_to32i' diff…
161176 …im-fpu.h:270:22: note: expected 'signed32 *' {aka 'int *'} but argument is of type 'unsigned32 *' …
161179 ….../sim/mips/cp1.c:1429:32: warning: pointer targets in passing argument 1 of 'sim_fpu_to64i' diff…
161184 …u.h:274:22: note: expected 'signed64 *' {aka 'long int *'} but argument is of type 'unsigned64 *' …
161188 ….../sim/mips/cp1.c:1528:34: warning: pointer targets in passing argument 1 of 'sim_fpu_to32i' diff…
161193 …im-fpu.h:270:22: note: expected 'signed32 *' {aka 'int *'} but argument is of type 'unsigned32 *' …
161196 ….../sim/mips/cp1.c:1529:34: warning: pointer targets in passing argument 1 of 'sim_fpu_to32i' diff…
161201 …im-fpu.h:270:22: note: expected 'signed32 *' {aka 'int *'} but argument is of type 'unsigned32 *' …
161208 Newer versions of bison emit a prototype for yyerror
161210 This clashes with some of our old code that declares yyerror to return
161213 generation of the prototype as specified by posix.
161268 and the arm & ppc ports have carried a copy of the COPYING file. Lets
161282 analogue of make_unique_xstrdup. It also updates a couple existing
161294 "0" out of read/write is normally what you get when the address space
161295 of the process the file was open for is gone, because the process
161301 GDB has code in place to gracefully handle the case of opening the
161304 opening the file for a different thread of the process. The testcase
161305 is written such that it stresses GDB's logic of closing/reopening the
161309 However, there's a window where the kernel manages to find the thread,
161353 So all in all, this commit gives up on the idea of only ever keeping
161363 This way, we avoid both races described above, at the expense of using
161372 Replaces a hard coded line number with a use of gdb_get_line_number.
161378 the middle of main.
161391 PR28541, unstable cie offset in the output of readelf
161440 handler". Also, it means there's no good way a MI frontend can find out
161451 index-cache off" as deprecated aliases of "set index-cache enabled",
161479 value by value instead of by reference, when the underlying data type is
161539 RISC-V: Clarify the behavior of .option rvc or norvc.
161552 riscv_subset_supports. This is one of the reasons why we need
161555 This patch passes the gcc/binutils regressions of rv32emc-elf,
161579 The multi-run logic for mips involves a bit of codegen and rewriting
161580 of files to include per-architecture prefixes. That can result in
161582 case of mips-sde-elf targets, we have:
161623 out of nltvals.def & targ-map.o. This doesn't matter for the sim
161624 directly, but does for gdb and other users of libsim.
161644 This is because of a confusion between the generic `struct inferior`
161648 Adjust the comment on top of `struct inf` to clarify the purpose of that
161658 compiled with ASan, compared to a GDB compiled without ASan. Some of
161692 name of the section that is being processed.
161703 on a pre-populated array of register sets.
161711 this and simplifies the code a bit. It allows us to list all of the register
161722 LD_PRELOAD of ASAN one gets:
161729 0x602000001570 is located 0 bytes inside of 2-byte region [0x602000001570,0x602000001572)
161742 The question is how many variants of the delete operator need to be provided.
161743 There could be 14 operators new but there are only 4, GDB uses 3 of them.
161744 There could be 16 operators delete but there are only 6, GDB uses 2 of them.
161745 It depends on libraries and compiler which of the operators will get used.
161759 So it is quite possible writing at an index of yyleng-2 overflows
161762 quote. Use it in ldlex.l too where we'd already had a report of this
161793 It's possible for the rounding up of the arange pointer to exceed the
161794 end of the block when the block size is fuzzed.
161842 symbol if its code entry symbol isn't dynamic, to ensure bogus dynamic
161848 * elf64-ppc.c (func_desc_adjust): If a function entry sym is
161849 not dynamic and has no plt entry, hide any associated fake
161862 set past the end of the _exit prologue, past the end of the exit_group system
161867 Dump of assembler code for function _exit:
161979 * Making all long-form options have '--', instead of a single '-';
161980 * added most of the missing options to the manpage;
161981 * removed the information about using '+' instead of '-', since it
161995 * mach-o.c (bfd_mach_o_fat_archive_p): Sanity check entry offset
162003 value of course is less than BUFSIZE, but when converted to
162007 * objcopy.c (copy_unknown_object): Correct calculation of "tocopy".
162014 + New value of Tag_CPU_arch EABI attribute (22) is added.
162132 Use %p to print pointers instead of trying to cast them to longs.
162220 Now that the use of TARGET_xxx defines have been removed, we can move
162232 instead, and localize some of the defines in the ARM code (since
162234 then remove the defines out of the header so no new code can rely on
162245 The current system maintains a list of target errno constants in the
162247 file. This list of errno values is the same for all arches, so we
162257 This allows us to move it to the common set of objects so it's only
162370 mention of coff-x86_64.* should be removed from bfd/Makefile.am.
162408 version of string_view, and don't have a selftest for it. So the list
162409 of selftests shown by the tab completion when completing "string_v"
162419 Add section describing GDB's usage of debuginfod.
162421 Refer to this new section in the description of the '--with-debuginfod'
162447 Add 'set/show debuginfod urls' commands. Accepts a string of
162563 can be used to look up an integer type of a given size and
162573 I noticed that the only caller of ada_value_print_inner is
162608 I wasn't really sure of the best way to fix this, so in the meantime I
162610 chance of remembering this in the future.
162621 where opcodes checks the size of bfd_vma.
162623 For v2 of this patch, I've also updated memory_error_test to do the
162702 of or1k_software_single_step. Most of the implementation is borrowed
162712 mostly handled by GDB genric code. This patch provides the logic of how
162769 currently debugging some fork issues, and find the pid_to_str output not
162875 Error: junk at end of line, first unrecognized character is `#'
162903 When compiling with optimization level -O1 and printing the type of
162912 Breakpoint 1, f (s=..., _s=_s@entry=3) at fortran-string.f90:21
162921 The problem is that the type of s is:
162956 In the testcase, "p_union" is an unused/uninitialized variable of
162984 bfd: remove use of INLINE
162989 * aoutx.h: Replace use of INLINE with inline.
163023 left shift of 2 by 31 places cannot be represented in type 'int'
163034 as suspended. In the case of single-stepping, the need to update the
163050 FAIL: gdb.debuginfod/fetch_src_and_symbols.exp: local_url: find port timeout
163073 …/home/smarchi/src/binutils-gdb/gdb/value.c:1252:35: error: narrowing conversion of 'length' from '…
163089 * Added parts of missing comments.
163101 * config/tc-riscv.c: Added parts of missind comments and updated
163121 corresponding RPATH entry for the directory to find libbfd in. This
163147 up the wrong version of libbfd. It does not appear to be needed though,
163151 set RPATH. Uninstalled version of libopcodes has libbfd's build-time
163157 circumvent rather than making use of libtool.
163212 The bug fixed by this [1] patch was caused by an out-of-bounds access to
163216 This made me think of changing functions that return value contents to
163217 return array_views instead of a plain pointer. This has the advantage
163219 are checked, making bugs more apparent / easier to find.
163221 This patch changes the return types of these functions, and updates
163224 little by little) to make callers propagate the use of array_view and
163234 Add assertions to ensure we don't access an array_view out of bounds.
163326 If dumping of a single type fails, we obviously can't dump it; but just
163394 This option has been present since the very early days of the
163395 development of libctf as part of binutils, and it shows. Back in the
163409 which lets you remap the names of CTF archive members (so you can end up
163415 couldn't find.
163422 As part of this, we have to slightly adjust the code which skips the
163425 of the objdump output and thus we'll end up with a shared dump
163449 common parent name of ".ctf".
163453 archive members, even if ctf_dump of one member fails.
163472 ubsan: _bfd_xcoff64_swap_aux_in left shift of negative value
163476 * vms-alpha.c (evax_bfd_print_image): Sanity check printing of
163489 Sometimes the investigation of a fuzzing bug report leads into areas
163512 check PAIR reloc in other branch of condition as was done for
163517 zero index entry. Remove outdated comment.
163538 * po/BLD-POTFILES.in: Regenerate.
163576 * po/POTFILES.in: Regenerate.
163634 * po/POTFILES.in: Regenerate.
163659 * po/BLD-POTFILES.in: Regenerate.
163660 * po/SRC-POTFILES.in: Regenerate.
163715 This removes a number of unused variables from gdbserver's Makefile.
163759 Since commit e36788d1354 "[gdb/testsuite] Fix handling of nr_args < 3 in
163812 are created directly within infpy_read_memory (as a result of calling
163820 So, then I moved all of the Membuf related code out into a new file,
163822 wraps an array of bytes into a gdb.Membuf object.
163824 Most of the code is moved directly from py-inferior.c with only minor
163828 Currently, the only user of this code is still py-inferior.c, but in
163837 function returns a list containing all of the supported architecture
163838 names within the current build of GDB.
163840 The values returned in this list are all of the possible values that
163846 The disassemble_info structure has four callbacks, we have three of
163885 an aliasing issue that we need some way to disambiguate which of
163886 the two symbols we are targeting. Therefore, Palmer thought of a
163907 resolve the issue of accurately keeping track of pcrel_hi and pcrel_lo
163908 pairs. The first commit split up relaxation of these relocs into a pass
163911 our ability to find the corresponding pcrel_hi relocation from the
163925 This patch fixes all three of these concerns by reverting back to a
163926 system of having only one target relax pass but updating entries in the
163927 table of pcrel_hi/pcrel_lo relocs every time any bytes are deleted. Thus
163928 we can keep track of the pairs accurately, and we can use the 'again'
163944 offset of pcrel_hi and pcrel_lo, and also update the symbol value
163945 of pcrel_hi.
163980 result of a bad sed invocation.
164002 …/home/simark/src/binutils-gdb/gdb/linux-nat.c:1271:12: runtime error: load of value 2686365, which…
164005 target_waitstatus safe against that kind of bug. As already done
164006 elsewhere (e.g. dynamic_prop), validate that the type of value read from
164009 - Make the kind and value of target_waitstatus private.
164023 That last point is semi-mechanical. There are a lot of obvious changes,
164026 But in any case, the intent of the code should not change in this patch.
164030 FreeBSD, NetBSD, MinGW and macOS. The rest of the changes to native
164039 gdbserver: initialize the members of lwp_info in-class
164048 Add a constructor and a destructor. The constructor takes care of the
164050 care of the freeing that happened in free_one_thread. This is needed to
164051 make target_waitstatus non-POD, as thread_info contains a member of that
164072 Update the expected pattern for two of the tests.
164111 The test expect the runto_main to stop at the first line of the function.
164114 of main, have it explicitly stop at a break point on the first line of the
164118 with all levels of optimization due to gdb stopping in the prolog.
164127 The immediate cause of the bug is that find_struct_field
164154 …ldelf.c:1049:43: warning: the comparison will always evaluate as 'true' for the address of 'elf_he…
164171 readelf.c:761:9: note: in expansion of macro 'SECTION_NAME_VALID'
164206 is one built by hand without any of the arg setup relocations that
164209 So this patch reverts most of commit 0af4fcc25dd5, instead entirely
164210 ignoring the problem of mis-optimising old-style __tls_get_addr calls
164217 before the __tls_get_addr call is out of the question: program flow
164230 bit of manual memory management.
164234 of spots, removing a bit of manual memory management.
164238 a bit of manual memory management.
164242 of places, removing a bit of manual memory management.
164246 removing a bit of manual memory management.
164250 removing a bit of manual memory management.
164305 to a use of UTF-32 as a parameter to convert_between_encodings. Here,
164306 iconv_open succeeds, but the actual conversion of a tab character
164327 it does not also offset the "valaddr" -- the array of bytes describing
164393 if sysroot is empty, no second lookup of the same location is performed.
164430 display the contents of the section. Instead readelf rummages through
164432 entries in .debug_rnglists pointed at, sorted. A simpler dump of the
164437 and limiting to the unit length of the first header fails if there is
164508 of 0x8000 (the old object->toc_base_offset()) was bound to fail.
164520 where non-pcrel small-model .toc entries need to be within 32k of the
164563 (Output_data_got_powerpc::got_base_offset): ..in place of
164609 Improve the error message by printing the details of the error, such that we
164622 PPC fix for stfiwx instruction (and additional stores with primary opcode of 31)
164658 don't plan to go and fix all of the disassemblers.
164661 but now, instead of always calling memory_error, I add a new path
164666 To test this I just augmented one of the disassemblers to always
164669 Dump of assembler code for function main:
164674 Dump of assembler code for function main:
164678 report non memory errors out of the disasembler, because, it was not
164702 When running with target board native-gdbserver, we run into a number of FAILs
164703 due to use of the start command (and similar), which is not supported when
164721 The two tests are instances of the same test, with different values for
164758 local-board.exp", the problem is the use of -ex for
164789 the result of this in any way):
164819 Pseudo register p0 is the least significant bits of vpr and can be accessed
164918 reorganizes things in order to simplify handling of future pseudo registers.
164920 We keep track of the first pseudo register number in a group and the number of
164927 [ARM] Small refactoring of arm gdbarch initialization
164939 In preparation for the MVE extension patch, this one refactors some of
164968 - as the name of a type in glibc, in file malloc/dynarray-skeleton.c, as included
164973 Likewise in a couple of other fortran tests.
164981 memory_error_func to notify the user of the disassembler of the
164996 memory_error_func to notify the user of the disassembler of the
165022 are two versions of debug info for $srcfuncfile. This shows up as a FAIL when
165112 bfd: Remove use of void pointer arithmetic
165115 * peicode.h (pe_bfd_object_p): Remove use of void pointer
165177 This sort of thing needs to be fixed (see commit b0e2f96b56b), but there's
165178 currently no way to reliably find this type of FAILs.
165182 We need something like the opposite of check-read1: something that makes
165187 There are two methods of implementing this in read1.c:
165192 The second method is potentially faster, has less risc of timeout and could
165221 I have not been able to find a problem in the test-case, and I think it's the
165222 nature of both the test-case and readmore that makes it run longer. Make
165241 - "set auto-solib-add off" to avoid symbols of shared libs
165244 - "nosharedlibrary" to avoid symbols of libc
165290 Also add the missing handling of "Objfile has no debug information".
165443 array member declared with size 0, regardless of how the debug info
165456 lets us assert that when we get a location value of a certain kind (say,
165457 bitpos), the field's location indeed contains a value of that kind.
165464 structures, because it contains members of the same name (loc_kind and
165481 TYPE_FIELD_BITPOS before checking if the location is of the bitpos
165495 Add aliases for the non-immediate mnemonics of b{set,clr,inv,ext} to
165552 riscv_opcodes, possibly giving the appearance that they are part of
165560 * riscv-opc.c: Split of Zb[abc] instructions and add comments.
165567 Members may not be sequentially ordered in the file. This of course
165569 (There is even a free list of members!) The testcase in PR28423 is an
165571 lots of bad behaviour. For example, "ar t" never terminates.
165590 find their bug report closed WONTFIX.
165614 of memory error is a little confusing.
165659 However, this line is now out of date as can be seen by this GDB
165733 Indexing of symbol and howto arrays wasn't checked in aout targets.
165772 rtf=$(echo $(cd src/gdb/testsuite/; find gdb.* -type f -name *.exp* \
165781 Most of the output is related to controlling the tui screen, but that does
165782 not give a top-level sense of how the test-case progresses.
165784 Put differently: a lot of bandwith is used to describe how we arrive at a
165832 "max-value-size", and removes the Ada-specific checks of the limit.
165834 I am not certain of the history here, but it seems to me that this
165851 fail, due to the variable size check. However, the contents of this
165868 Since commit e36788d1354 "[gdb/testsuite] Fix handling of nr_args < 3 in
165984 Given all of the above, I assert that the C++ pointer within
165988 I wrote a test for this issue making use of Pythons tracemalloc
166002 which is a known source of problems, as explained in the comment of proc
166020 prompt, or if GDB is run with '-batch' and has processed all of the
166027 The event is triggered before GDB starts dismantling any of its own
166046 script, and in so doing I expose the bug in our handling of gdb.exited
166114 The problem reported in PR28318 is that using the custom instead of the
166150 Consider test-case gdb.trace/entry-values.exp with target board
166154 @entry values for foo:
166156 $ gdb -q -batch outputs/gdb.trace/entry-values/entry-values \
166159 -ex "set print entry-values both" \
166166 Breakpoint 2, 0x000055555555463e in foo (i=0, i@entry=2, j=2, j@entry=3)
166172 $ gdb -q -batch outputs/gdb.trace/entry-values/entry-values \
166174 -ex "set print entry-values both" \
166178 Breakpoint 1, 0x000055555555463e in foo (i=0, i@entry=<optimized out>, \
166179 j=2, j@entry=<optimized out>)
166191 - we continue to foo, and manage to find the call_site info
166200 - we don't manage to find the call_site info
166206 work towards the situation where when starting two instances of an executable,
166207 we need only one instance of debug information, implying the use of
166240 for field pc of struct call_site.
166243 location, we run into a testsuite failure in gdb.trace/entry-values.exp.
166251 get rid of this kind of tricks that make refactoring more difficult.
166259 instead of core_addr_eq and core_addr_hash.
166309 My proposal in this commit is to just remove the definition of
166369 Instead of comparing the user provided value against the current value
166370 of the setting, we compare the value of the setting before and after the
166390 implementation of a patch Simon Marchi is preparing to fix a bug when
166398 pointers to a pair of setter and getter callback functions.
166401 custom logic. This is useful when the source of truth for a given
166406 abstraction introduced earlier, none of the sites accessing the setting
166412 pair of function pointers (set / get functions) instead of the pointer
166433 string often both have the same meaning of "no value". String settings
166440 getting or setting the value. I find this very error-prone, because it
166442 know that the variable is not "NULL". There is only one way of
166464 variables, instead of xstrdup-ing it in the _initialize function.
166471 take an `std::string *` instead of a `char **` and fixing everything
166472 that failed to build. That includes of course all string setting
166493 data that can be accessed, while the VAR_TYPE member (of type enum
166496 With this pattern, the user of the cmd_list_element needs to know what
166499 miss-use of the pointer. Client code typically looks something like:
166518 introducing the struct setting which exposes a set of templated get /
166519 set member functions. The template parameter is the type of the
166555 While the call site is still similar, the introduction of runtime checks
166556 help ensure correct usage of the data.
166558 In order to avoid turning the bulk of add_setshow_cmd_full into a
166564 it possible to use callbacks to retrieve or set the value of the setting
166565 on the fly instead of pointing to a static chunk of memory. This will
166569 VAR and VAR_TYPES members of the struct are replaced with a
166579 - Similarly, the 'void *' and a 'enum var_types' parameters of
166594 the symbolic names & values of all signals that might be sent.
166600 but a signal related setting -- it's the size of the stack when
166604 with that same value (since the range of valid signals tend to be
166605 way less than 1024, and the size of the default signal stack will
166607 into a dynamic value instead of a compile-time constant, some users
166642 Note that C.MV is part of the compressed instruction set. The MV
166696 …binutils-gdb/gdb/bt-utils.c:93:44: error: format '%lx' expects argument of type 'long unsigned int…
166743 aranges (and other things in the DWARF assembler) work. Instead of
166744 using "args" (variable number of parameters in TCL) and command-line
166746 kind of key/value dictionary of options parsed using `parse_options`.
166757 simple names, thinking there was no chance of name clashes. I recently
166763 user of the assembler happened to define a convenience "table" or
166766 I'd like to change how this works to reduce the chances of a name clash.
166768 - Move the procs out of each other, so they are not defined in a nested
166780 rnglists) entry types, the indentation would otherwise get larger and
166803 Note that because of the name clash between the existing field named
166928 behavior we want the majority of (if not all) the time.
166941 behavior with the rest of the testsuite.
166956 management of the file descriptor closing. Except in the most trivial
166969 each other. scoped_fd.h includes filestuff.h because of the
166983 contents of the .resource_table ELF section, not of a table symbol.
166999 down to an unguarded use of stop_pc() in the TARGET_WAITKIND_LOADED
167000 case of handle_inferior_event. This patch fixes the bug by ensuring
167066 Fix the UNRESOLVED by checking result of compilation.
167098 This is triggered in a part of the test that claims to require no debug
167150 The effect of:
167272 …entry <mailto:clock_id@entry>=0, flags=flags@entry <mailto:flags@entry>=0, req=req@entry <mailto:r…
167316 is to resumes the program with "continue", wait to see a few of those
167318 Ctrl-C. But somehow, that resulted in GDB printing "Quit", instead of
167328 point instead of earlier, because that's where the testcase
167343 the testsuite to handle this exact problem of sending Ctrl-C too
167497 The build of GDB was broken iff, the execinfo backtrace API is not
167509 which is only defined when one of the backtrace libraries are
167514 gdb/doc: use 'standard error stream' instead of 'stderr' in some places
167527 This commit replaces the two instances of 'stderr' that I introduced.
167536 of this mistake that this commit also fixes.
167543 after the directory table. file_table[0] contains the first entry.
167544 DWARF rev 4 line number programs index this entry as file number one.
167629 stop. So if any of these targets returns TARGET_WAITKIND_NO_RESUMED,
167653 There are two errors of this kind:
167678 sort locations, the order of locations at the same address is not
167680 order comes from the order of SALs when creating the breakpoint, which
167748 of itself when GDB encounters an internal-error or internal-warning.
167754 of a backtrace is off for internal-warnings.
167756 In contrast, printing of a backtrace is on by default for
167758 internal-error is going to be the end of the debug session.
167769 Here is an example of what an internal-error now looks like with the
167804 Create a core file of GDB? (y or n) n
167808 find that we frequently get reports of an assert being hit that is
167844 This is OK if you have access to the exact same build of GDB, you can
167879 Use of libbacktrace is optional. If GDB is configured with
167884 All of the functions related to writing the backtrace of GDB itself
167915 means that if you try to make a release of GDB from exactly this
167943 binutils-gdb repository we end up trying to build a target version of
167953 And I'm in the process of importing libbacktrace in to binutils-gdb,
167959 In the configure script we build three lists of things we want to
167961 build two lists of things we don't want to build, $skipdirs and
167962 $noconfigdirs. We then remove anything that is in the lists of things
167963 not to build, from the list of things that should be built.
167973 I've tested a build of gcc on x86-64, and the same set of target
167980 * configure.ac (skipdirs): Add the contents of target_configdirs if
167989 implementation for ar archives fills only the st_mtim.tv_sec part of
168007 the build settings would cause all of its contents to be skipped
168009 not actually available. A check of the source tree shows that we
168013 The use of weak symbols ends up causing a problem in practice: for
168042 Replace the manually maintained linked list of lwp_info objects with
168089 By inspecting the state of GDB, we can see that the two inferiors now
168113 The cause of the bad {a,p}space sharing is in follow_fork_inferior.
168116 inferior 1 and run again, we find ourselves with two unrelated inferiors
168122 start, we record the symtab of the starting location. When the program
168155 setting name, I find that easier to follow.
168161 gdb.base/foll-fork.exp: refactor to restart GDB between each portion of the test
168162 This test is difficult to follow and modify because the state of GDB is
168169 uses "return -code return", which makes its caller return. I find this
168178 It looks like this test has some code to check at runtime the support of
168179 fork handling of the target (see check_fork_catchpoints). So, it seems
168180 to me that the check based on target triplet at the beginning of the
168181 test is not needed. This kind of gating is generally not desirable,
168182 because we wouldn't think of updating it when adding fork support to a
168190 Remove DUPLICATEs, and and at the same time replace two uses of
168198 libctf, lookup: fix bounds of pptrtab lookup
168208 ctf_pptrtab_len, as its name suggests (and as other tests of it in
168212 (Test added, which should fail pretty reliably in the presence of this
168249 libctf: fix handling of CTF symtypetab sections emitted by older GCC
168250 Older (pre-upstreaming) GCC emits a function symtypetab section of a
168252 the lack of the CTF_F_NEWFUNCINFO flag in their header, and we do so
168253 when reading in the symtypetab section -- but if the set of symbols with
168258 same length as the corresponding function section (each is an array of
168266 Fix trivial: check the flag (and fix the terrible grammar of the error
168327 mentions of --version-script is inadequate now that Solaris 11.4
168330 supported set of flags in turn, to make sure that linker versioning is
168338 of the symbols that appear in libctf.la, to avoid Solaris ld introducing
168357 Libtool needs to get BSD-format (or MS-format) output out of the system
168361 Unfortunately the code to do this has a pair of interlocking flaws:
168363 - it runs the test by doing an nm of /dev/null. Some platforms
168369 but an error message out of nm -B. This is fixable by nm'ing *nm
168407 This reports common symbols like GNU nm, via a type code of 'C'.
168428 appears after libbfd in the link line by virtue of libctf-nobfd.la,
168435 or boht of libbfd and libctf. (The specific problem observed here is
168492 It is almost certainly possible that using some combination of 'set
168494 being unable to find the source files, but this feels like a rather
168509 In this commit I have moved all of the cmd_list_element declarations
168522 the frame_id of the previous frame. Unfortunately, no valid frame_id
168555 In compute_frame_id we first find the right unwinder for this frame,
168564 The ID of an inline frame is based on the id of the previous frame, so
168572 of type INLINE_FRAME prevents the inline frame unwinder from claiming
168579 With the frame_id of normal_frame figured out we return to
168591 ask for the previous frame of normal_frame, remember, at this point
168599 The first task for compute_frame_id is to find the unwinder for this
168600 frame, so all of the frame sniffers are tried in order, this includes
168624 Just like before, compute_frame_id tries to find an unwinder for this
168629 the frame_id for this new copy of normal_frame.
168638 a duplicate of the previous normal_frame frame_id. Having found a
168681 this falls foul of (in frame.c:frame_cleanup_after_sniffer) this
168727 Dcache 4096 lines of 64 bytes each.^M
168737 This is another case of thread_db_target::pid_to_str being used.
168754 Cannot find user-level thread for LWP 10324: generic error^M
168851 That showed that almost all users of that field had the same logic to
168862 language.c. However, as part of the value API, I think it would be
168863 better in one of those files. And, because it is very short, I
168884 This doesn't take into account that threads of different targets may
168919 instead of disassembling GDB itself. I don't know why that wasn't
168927 evaluate_subexp_do_call instead of ada_evaluate_subexp.
168929 "run_inferior_call" and "update_global_location_list" instead of
168970 # of duplicate test names 6008
168986 Fix handling of DW_AT_data_bit_offset
168987 A newer version of GCC will now emit member locations using just
169016 attr_to_dynamic_prop depends on the presence of
169017 DW_AT_data_member_location. This patch moves the handling of
169022 with an earlier version of GCC.
169042 When accidentally using build_for_executable instead of
169055 Fix this by calling gdb_exit at the end of function_range.
169057 Also fix the fallout of that in test-case gdb.dwarf2/dw2-bad-elf.exp, where a
169061 be called at the start of the dwarf assembly body:
169081 [gdb/testsuite] Use pie instead of -fpie/-pie
169161 the context of the caller. The fix is applied to both
169216 Fix this by removing '$' in front of the variable name when doing set:
169229 DUPLICATE: gdb.base/load-command.exp: check initial value of the_variable
169237 [gdb/testsuite] Use pie/nopie instead of ldflags=-pie/-no-pie
169238 I noticed two test-case that use ldflags=-pie and ldflags-no-pie, instead of
169250 When interpreting the testsuite results, it's often relevant what kind of
169252 /proc/cpuinfo, but in case of running tests using a remote system
169259 We could do this at the start of each test run, by putting it into unix.exp
169262 running one or a subset of tests.
169277 Change pointer_type to a method of struct type
169283 through uses of TYPE_IS_REFERENCE and updated many spots to use the
169319 [gdb/testsuite] Use pie instead of -fPIE -pie
169350 - gdb is build without --with-separate-debug-dir so it can't find the
169383 - gdb is build without --with-separate-debug-dir so it can't find the
169422 Also the use of UNTESTED is not appropriate, and we should use UNSUPPORTED
169443 <lots-of-code>
169451 <lots-of-code>
169462 we find the same frame in the stack at a level > 0.
169482 caller of frame at 0x7fffffffd330
169491 address, and the presence of the "caller of frame at" info. All the
169530 I wanted to find, and potentially modify, all the spots where the
169535 uses of this parameter, something I knew I'd have to do multiple
169544 in the output of ptype/o.
169562 The info thread commands uses "Thread" instead of "process" because
169600 of memory being consumed, due to ia64 gas not tracking text
169608 number of nops. I didn't XFAIL any of them.
169630 …linker's heuristic for computing the entry point for binaries so that shared libraries default to …
169631 * ldlang.c (lang_end): When computing the entry point, only
169632 try the start address of the entry section when creating an
169634 * ld.texi (Entry point): Update description of heuristic used to
169635 choose the entry point.
169636 testsuite/ld-alpha/tlspic.rd: Update expected entry point address.
169660 gdb_caching_proc. Some of these require a gdb instance, some not.
169670 However, that doesn't work in the case of gnat_runtime_has_debug_info. This
169688 gdb, doc: Add ieee_half and bfloat16 to list of predefined target types.
169739 Fix this by updating the regexp to expect "^done,stack-args=" instead of
169760 Change the semantics register_test_foreach_arch such that a version of
169803 The problem is that while the variable is an array of 196 bits (== 24.5 bytes),
169817 gdbsupport/gdb_proc_service.h: use decltype instead of typeof
169819 I don't know much about the use case, but according to the author of the
169823 I try to compile binutils under GCC as part of the GCC 3-stage
169826 The author of the bug suggests using __typeof__ instead of typeof. But
169840 …inutils-gdb/gdbserver/../gdbsupport/gdb_proc_service.h:179:1: note: in expansion of macro PS_EXPORT
169851 currently just prints the value of the bytes, like this:
169853 Dump of assembler code for function custom_insn:
169862 Dump of assembler code for function custom_insn:
169870 that in the patched version of the tools, the disassembler output can
169893 * dwarf2dbg.c (allocate_filenum) Correct use of last_used_dir_len.
169899 part of the work necessary when allocating file numbers late. I'd
169914 EMULATION_SOURCES Makefile variable. I've also added a bunch of
169960 Now gdb is capable of debugging executable, which consists of multiple
169971 info section which now share the same format of their contents - an array
169972 of type IDs. New functions ctf_psymtab_add_stt_entries, which is called by
170066 line info present too. Mind you, we turn off gas generation of line
170087 typically emitted as the first line of assembly output doesn't count as
170091 This patch delays allocation of file numbers for gas generated line
170092 debug info until the end of assembly, thus avoiding any clashes with
170110 line entries. Simplify generation of labels.
170145 This takes care of writing out GOT entries with addends. The local
170151 have addends, and in particular that a GOT entry referencing PLT call
170168 [GOLD] Output_data_got create entry method addends
170207 whether the local symbol has *a* GOT offset of type GOT_TYPE, it
170208 returns whether there is a GOT entry of type GOT_TYPE for the symbol
170209 with addend of zero.
170230 linking objects containing a large number of section_sym+addend@got
170245 This is the first in a series of patches aimed at supporting GOT
170280 maintain lots of tables in different files, but in fact we can merge
170284 also use them to get the default versions of extensions, and decide if
170289 `default_enable' field of the extension is set to EXT_DEFAULT, then we
170292 to lots of EXT_<VENDOR>, each vendor can decide to open which extensions,
170293 when the target triple of vendor is chosen.
170295 The elf/linux regression tests of riscv-gnu-toolchain are passed.
170300 (riscv_merge_std_ext): Updated since the field of rpe is changed.
170311 also get the default versions of extensions, and decide if the extensions
170323 Get the versions of extensions from riscv_supported_std* tables.
170327 the default_enable field of riscv_supported_*ext tables.
170341 (riscv_set_arch): Updated since the field of rps is changed. Besides,
170376 The problem is that the sleep (300) call at the end of main is interrupted,
170388 which is roughly equivalent because the sleep is called at the end of main,
170390 from the end of main.
170395 because the sleep is not called at the end of main.
170455 Using asm labels in global scope is a known source of problems, as explained
170456 in the comment of proc function_range in gdb/testsuite/lib/dwarf.exp.
170474 the size of a list of 'char *' pointers. Of course, this isn't really
170481 * archures.c (bfd_arch_list): Use 'char *' instead of 'char **'
170486 [gdb/doc] Fix typo in maint selftest entry
170492 Remove duplicate entry in bfd_ft32_arch and bfd_rx_arch.
170497 * cpu-ft32.c (arch_info_struct): Remove "ft32" entry.
170498 * cpu-rx.c (arch_info_struct): Remove "rx" entry.
170500 entry.
170568 00000000 <End of list>
170572 However, the address map of the partial symtabs incorrectly maps addresses
170575 The address map of the full symbol table of the foo CU however does not
170579 Fix this by making sure that ranges of functions are read correctly.
170619 warning: Section .debug_names in dw2-ranges-psym has abbreviation_table of \
170637 of which the ones at 0xc7 and 0x145 are dummy CUs (that is, they do not
170656 the dimension of the CU list as 8:
170658 /* comp_unit_count - The number of CUs in the CU list. */
170663 while the actual dimension of the CU list is 6.
170670 /* CU of a shared file from 'dwz -m' may be unused by this main
170678 We can fix this by writing the actual dimension of the CU list, but that still
170679 leaves the dummy CUs out of the CU list. The purpose of having these is to
170680 delimit the end of preceding CUs.
170687 - using the actual CU list size when writing the dimension of the CU list
170703 abbreviation_table of size 1 vs. written as 37, ignoring .debug_names.^M
170721 When statically linking, it can arrive to an undefined weak symbol of
170722 which its value cannot be determined. However, we are having pieces of
170760 Remove use of __CYGNUSCLIB__
170761 I found a check of __CYGNUSCLIB__ in dbxread.c. I think this is dead
170798 The test fails because we expect disassembling of one arm insn to consume 4
170918 instead of
170986 The difference is expected. GDB returns the exit status of the last executed
170990 Fix this by setting sysroot using -iex instead of -ex in local-board.exp, such
171020 - checks that the output of a python command is "Python not initialized"
171044 [gdb/testsuite] Fix handling of nr_args < 3 in mi_gdb_test
171045 The documentation of mi_gdb_test states that the command, pattern and message
171108 When running the gdb testsuite with gnatmake-4.8, I get many fails of the
171140 @object, .4byte instead of .long, and .asciz instead of .string.
171149 The .in name has been deprecated for a long time in favor of .ac.
171154 DWARF5 allows .file 0 to take an optional directory name. Set the entry
171155 0 of the directory table to the directory name in .file 0.
171159 the directory name in .file 0 and use it, instead of PWD.
171183 First line of eu-unstrip: \
171188 The test expects an actual file name instead of '[exe]', but that only got
171203 due to function f2 instead of f3 being listed.
171224 Doing this fix, it made sense to do a refactoring of adding f2_re and f3_re
171262 gdb/python: remove all uses of Py_TPFLAGS_HAVE_ITER
171264 part of the tp_flags field when defining a new object type. This flag
171268 The meaning of this flag is that the object has the fields tp_iter and
171269 tp_iternext. Note the use of "has" here, the flag says nothing about
171272 In early versions of Python 2 these fields were no part of the
171285 tp_iternext fields are part of PyTypeObject. If someone was crazy
171286 enough to try and compile GDB against Python 2.1 then we'd get lots of
171289 that GDB will always be compiled with a version of Python that has the
171296 so, in the latest version of Python 2 the Py_TPFLAGS_DEFAULT flag
171300 In GDB we pass Py_TPFLAGS_DEFAULT as part of the tp_flags for all
171303 And so, in this commit, I propose to remove all uses of
171317 Only the ppc arch supports this kind of source file override logic.
171318 All the others expose knobs via configure flags, and for some of
171324 sim: ppc: enable use of gnulib
171357 The sim-main.h header is a bit of a dumping ground. Every arch can
171358 (and many do) define all sorts of weird & common names that end up
171360 headers sets us up for pain. v850 is a good example of this -- when
171389 All of this needs cleaning up someday, but since the dv-sockser code
171397 has never been used in the history of the mips sim. Delete it to tidy
171435 of warning flags as the common code, delete the ppc-specific configure
171445 of 'device_find_integer_array_property' differ in signedness \
171462 the fdt blob as a series of bytes without any type information. Typing is
171469 add some helpers to convert to the right type, but that seems like a lot of
171471 the implicit assignments we use elsewhere. Long term, a lot of the ppc code
171507 ….../buildsim/../../../sim/microblaze/microblaze.h:94:25: note: previous declaration of 'byte' with…
171587 Currently the stop_pc field of thread_suspect_state is a CORE_ADDR and
171593 plenty of embedded targets where 0 is a valid pc value. The more
171605 thread is stopped as a consequence of GDB being in all stop mode, and
171608 stop_pc set (thus avoiding an unnecessary read of the pc register).
171656 The number of worker threads GDB can use is 0.
171666 Fix sorting of the list, and update the globs to match the list used
171679 instead of having a single cpu check. Now it's more obvious that the
171695 gdb: make use of std::string in utils.c
171696 Replace some of the manual string management (malloc/free) with
171704 As a result, I have retained the use of xstrprintf when creating the
171723 gdb: use bool instead of int in struct internal_problem
171724 Change struct internal_problem (gdb/utils.c) to use bool instead of
171725 int, update the 3 static instances of this structure that we create to
171726 use true/false instead of 1/0.
171740 use of these.
171742 The only real change of interest in this patch is in thread.c where I
171748 anywhere that this results in a change of behaviour, previously the
171756 * elf32-xtensa.c (elf_xtensa_do_reloc): Add check for put of range
171767 the constructor of gdb.Value), and adds the value it represents to
171768 GDB's history list. The index of the newly added value is returned.
171774 * elfxx-riscv.c (riscv_elf_add_sub_reloc): Add check for out of
171780 When reverting commit 5a20fadc841 and using gdb_unload instead of runto "bar"
171849 gdb.arch/riscv64-unwind-prologue-with-ld-lw.exp testcase, but one of its
171850 associated file was named after a previous version of the test.
171896 There are a few includes of complaints.h that aren't necessary. This
171999 The original reproducer for PR28030 required use of a specific
172004 of the compiler version. (Well, it'll work with whatever compilers
172007 To the best of my knowledge, it's also the first test case which uses
172014 beginning of locexpr-dml.exp.
172100 Frame #7 is a call to the destructor for one of the objfile solibs; it
172122 - using info function to detect presence of clear_complaints
172123 - handling the absence of clear_complaints by calling untested
172126 Cannot find clear_complaints, skipping test
172141 Values of type _Float16 and _Float16 _Complex can now be used on CPUs with
172142 AVX512-FP16 support. Return values of those types are located in XMM0.
172186 Values of type bfloat16 can also be used on 32-bit targets, which was missed
172281 source. There are _FOR_TARGET versions of CFLAGS, CXX, and CXXFLAGS
172287 One exception to the rule of using CC_FOR_TARGET is the native-only ld
172288 bootstrap test, which uses the newly built ld to link a copy of
172297 So this patch gets rid of the makefile variable renaming and changes
172300 correct bootstrap.exp to use CFLAGS, and a number of other things I
172313 * testsuite/ld-cdtest/cdtest.exp: Replace all uses of CC with
172353 pj: asan: out of bounds, ubsan: left shift of negative
172367 --enable-maintainer-mode showed a number of files needing to be
172368 regenerated, and in the case of ld/Makefile.in that the file was
172372 * Makefile.am (ALL_64_EMULATION_SOURCES): Sort haiku entry.
172374 * po/BLD-POTFILES.in: Regenerate.
172397 …oming and maintaining for quite a few years over on git.haiku-os.org. All of these architectures …
172401 Fix the V850 assembler's generation of relocations for the st.b instruction.
172409 of BFD_RELOC_16.
172414 .symtab_shndx section contents is an array, one entry for each symbol
172415 in .symtab, present when the number of symbols exceeds a little less
172426 This defines a couple of macros used to avoid ubsan complaints about
172449 Current ubsan complains on every use of __PTR_ALIGN (when ptrdiff_t is
172479 warning: Could not find DWO CU \
172505 However, I've found other uses of this pattern, f.i. in
172513 - using plain DWO instead of XSTR(DWO)
172524 * gdb.dwarf2/fission-base.S: Use DWO instead of XSTR(DWO).
172569 The extra symbols are part of glibc:
172593 that only symbols of the exec are taken into account.
172606 nfp: add validity check of island and me
172650 Therefore, I believe most of the users will use ".word 0xfc050073",
172668 of .insn directive.
172682 As a result, all callers of vfprintf_maybe_filtered now use gdbfmt, so
172696 output integer values for types such as off_t that are not aliases of
172710 Instead, use plongest and pulongest to generate the output strings of
172723 …/home/smarchi/src/binutils-gdb/gdb/unittests/parallel-for-selftests.c:53:30: error: use of deleted…
172749 Dump of assembler code from 0x0 to 0x4:
172754 End of assembler dump.
172759 Dump of assembler code from 0x0 to 0x4:
172771 case where the number of threads is 0 (there was an unchecked use of
172774 He also pointed out that there were no tests of parallel_for_each.
172775 This adds a few tests of parallel_for_each, primarily testing that
172776 different settings for the number of threads will work. This test
172784 adds a show function so that it will now report the number of threads
172831 to mark the start addresses of data and instructions. The $d means
172854 Disassembly of section .text:
172859 8: 00000001 .word 0x00000001 # .byte + part of .word.
172861 d: 00 .byte 0x00 # Marked $d, odd byte of alignment.
172871 * Use $d and $x to mark the distribution of data and instructions.
172872 Alignments of code are recognized as instructions, since we usually
172876 into the spaces. We always fill an odd byte 0x00 at the start of
172921 of the fragment.
172949 then find the suitable mapping symbol.
172957 [gdb/testsuite] Improve argument syntax of proc arange
172958 The current syntax of proc arange is:
172968 parameter, you need to give the default values of all the other optional ones
173043 When comparing the sizes of the index files generated for shlib
173085 with a corresponding .debug_aranges entry:
173112 while the .debug_aranges entry still points to 0xc7.
173126 Fix this by moving the generation of .debug_aranges from watch-loc.c to
173142 [gdb/testsuite] Generate .debug_aranges entry for dummy CU
173155 A couple of test-cases fail when run with target board cc-with-debug-names due
173158 Add a .debug_aranges entry for those CUs.
173183 the start of the CU header:
173194 this style of use fragile.
173227 I spotted a couple of stray newlines that were left at the end of
173229 messages are part of the 'set debug lin-lwp 1' output.
173244 the patches that merge the list of CUs with the list of TUs (and to a
173247 cause new type units to be created. This means that the list of
173250 expanding a CU means that the vector of CUs can expand while it is
173288 overflow. Replaced with a pair of non-recursive functions.
173318 function that takes the place of "main" in the DWARF. I think this
173347 * gdb/exec.c (exec_file_attach): Use %s instead of %ps in call to
173359 [gdb/testsuite] Use compiler-generated instead of gas-generated stabs
173363 While the use seems natural alongside the use of gas-generated dwarf in the
173374 The intention of the test-case is to test gas-generated dwarf, and using
173375 gcc-generated stabs instead of gas-generated stabs works fine.
173379 stabs, which can be considered a corner-case of a corner-case.
173400 first in .debug_info, nor the last, due to presence of debug information in
173411 This difference has caused me to find some errors in the dwarf assembly
173464 __linux__ ifdef checks. This code needs a lot of love to make it
173489 Trivial patch to use bool instead of int.
173511 Print "{bad}" on invalid broadcast instead of abort.
173524 instead of abort.
173543 default values (-mcmodel=medium) be used, instead of -mcmodel=large
173548 find the proper gcc when our gcc is named of
173575 Fixes a silly mistake in calculating the address of -Os out-of-line
173576 register save/restore function copies. Copies of these linker defined
173581 calculation of out-of-line save/restore function copies.
173595 Fix the Blackfin code and remove the defines out of the header
173603 similar to what we would do in the context of the "Start of New
173606 The purpose of this change is to avoid people merging ChangeLog
173610 Also throw in a .gitignore entry to keep people from adding new
173623 [infrun] start_step_over: stealing global queue of threads to step, length = 2
173627 think this bug is a leftover from an earlier version of the code (not
173637 "tlbcommand" of ARCv2HS are incorrect. This patch makes
173655 The r_ldsomap field is specific to Solaris (part of librtld_db), and
173666 Update gdbserver to check r_version < 1 instead of r_version != 1 so
173806 Always run fp tests since the size of .tfloat, .ds.x, .dc.x and .dcb.x
173825 of psABIs. In glibc, x86 assembly codes expect 10-byte .tfloat output.
173830 * NEWS: Mention changes of .ds.x output and .tfloat output with
173846 regression. (It doesn't happen for any of the other cross targets
173864 This patch restores the use of the frame's arch.
173877 /* Return the address of the object we are currently observing. */
173899 precise memory map of the embedded target in question.
173905 Notify observer of breakpoint auto-disabling
173908 is never notified of the disabling.
173913 member of its parameter
173965 to SCRIPT, and to find the end of an expression it is necessary to
174036 The saga of commit 40726f16a8d7 continues. This attacks the problem
174037 of switching between SCRIPT and EXPRESSION state lexing by removing
174040 within the braces of a section or overlay statement. The new WILD
174057 (section): Parse within braces of section in wild mode, and
174109 Dump of assembler code for function __pthread_clockjoin_ex:
174132 In the current implementation of the prologue scanner, GDB stops when
174134 with the 'ld' instruction. GDB thinks it reached the end of the
174138 The section of the prologue starting at <+4> until <+12> is used to load
174140 the end of the prologue.
174158 after the RA register is saved. I do not have a reliable way of
174215 Function of parsing target-description.xml will be add later for CSKY arch,
174236 ld: Update the pass and fail strings of PR ld/28138 test
174239 of PR ld/28138 test to indicate which part of the test passed
174261 Kernel in terms of ARM regset notes.
174263 We're currently missing 3 of them:
174294 One possible concern was the status of NetBSD on NS32K, where only a.out
174345 In this commit I set the signal disposition of SIGABRT back to SIG_DFL
174356 Register handlers for SIGBUS, SIGFPE, and SIGABRT. All of these
174362 In normal use of GDB there should be no user visible changes after
174363 this commit. Only if GDB terminates with one of the above signals
174376 functions which are declared in the execinfo.h header, and both of
174387 The production of the backtrace is on by default, but can switched off
174393 Right now, I have hooked this feature in to GDB's existing handling of
174401 Currently, this is only effecting our handling of SIGSEGV. So,
174409 Finally then, here is an example of the output a user would see if GDB
174440 to the build of GDB I only see symbols for some addresses.
174444 is available as part of glibc is probably a good baseline from which
174458 out of date.
174466 The comments for SIGQUIT are similarly out of date, further, the
174470 Given the above, it seems that changing the disposition of SIGTRAP is
174474 gdb_init_signals was getting quite out of date, so I've updated it
174482 This commit fixes the smallest of small possible bug related to signal
174504 The chance of this happening is tiny, but fixing this is trivial, just
174534 gdb: terminate upon receipt of SIGFPE
174558 In this commit, I propose to remove all special handling of SIGFPE and
174559 instead just let GDB make use of the default SIGFPE action, that is,
174624 (md_parse_option): Adjust treatment of $ when option is present.
174633 gas: fold IEEE encoding of -Inf with that of +Inf
174636 Simply set the sign bit at the end of encoding the various formats.
174642 of interest and, going beyond infinity, whether the value is quiet or
174646 gets taken care of at the same time: For all other formats a positive
174652 layout, a warning gets issued if any of the new flavors was attempted
174655 formats, the bit patterns of the individual words match x86'es, I didn't
174664 take advantage of adjustments made there without needing to mirror them
174670 take advantage of adjustments made there without needing to mirror them
174673 gas: make 2nd argument of .dcb.* consistently optional
174676 documentation. To avoid code duplication, split float_length() out of
174683 AMX-BF16 insns. While not part of the IEEE standard, the format is
174705 bytes long (with 2 bytes of trailing padding), while on 64-bit it is 16
174706 bytes long (with 6 bytes of padding). Make hex_float() capable of
174709 Note that this brings the emitted data size of .dc.x / .dcb.x in line
174719 is 12 bytes long (with 2 bytes of trailing padding), while on 64-bit it
174720 is 16 bytes long (with 6 bytes of padding). Make s_space() capable of
174723 definition of X_PRECISION in the target speciifc header; the compiler
174724 would complain if this was out of sync with config/atof-ieee.c.
174734 Note also that this brings the emitted data size of .ds.x vs .tfloat in
174745 bytes long (with 2 bytes of trailing padding), while on 64-bit it is 16
174746 bytes long (with 6 bytes of padding). Make ieee_md_atof() capable of
174752 ELF. None of the newly enabled tests in the testsuite fail for me.
174771 bitsize of DIR32_REV. Correct complain_on_overflow for many relocs
174816 vfork child exits or execs, we resume all the threads of the parent. To
174827 where `pid` is the pid of the vfork parent. This is not multi-target
174829 same pid in another target, we could end up resuming a thread of that
174830 other inferior. The chances of the stars aligning for this to happen
174833 Fix that by iterating only on the vfork parent's threads, instead of on
174849 the created class to the exports list of (oop goops); v2.1+ does not
174853 instead of (gdb)) and incorrect when linked against Guile v2.1+ (types
174856 There is a range of cases in which it's necessary or convenient to be
174859 - Pattern matching based on the type of a value.
174861 typically use dynamic dispatch based on the types of the arguments).
174906 …GAS: DWARF-5: Ensure that the 0'th entry in the directory table contains the current working direc…
174946 This is a bit more than just preventing the divide by zero. Most of
175032 - in find_pc_sect_compunit_symtab we try to find the address
175035 - we find a matching partial symtab
175043 section .text of repro/usr/lib/libstdc++.so.6
175046 section .text of repro/usr/lib/libstdc++.so.6
175071 of zero" complaint here:
175073 /* A not-uncommon case of bad debug info.
175078 complaint (_(".debug_rnglists entry has start address of zero"
175114 000040c3 <End of list>
175127 This patch fixes the first problem encountered: fix the "start address of
175171 This patch is more about the style of bounds checking we ought to use,
175172 rather than a real problem. An overflow of "octet + reloc_size" can
175173 only happen with huge sections which would certainly cause out of
175191 PR28173, nds32_elf_howto_table index out of bounds
175192 Indexing the howto table was seriously broken by a missing entry, and
175193 use of assertions about user input rather than testing the input.
175209 two. That means reloc addresses of 0 and 1 are invalid. Check that,
175230 in the past as part of
175231 "Migrate rest of compile commands to new options framework"
175242 is not found, iterate the sections until we find one with the
175315 However, a particuliarity of the native-extended-gdbserver is that it
175330 Really, I think it's a case of the test doing things incompatible with
175336 the same triplet as the build machine. In the case of
175357 contained in related_pid, and is the ptid of the new process. For
175390 There are cases where the result of the expression evaluation is
175391 expected to be in a form of a value and not location description.
175415 Idea of this patch is to get a clean and simple public interface for
175432 top of the DWARF stack before the evaluation. This method can be
175436 and provides the evaluation result, in a form of a single struct
175438 a context of the evaluation, as well as expected result type
175446 class, so a m_ prefix was added to all of their names to reflect that.
175489 The patch is addressing the issue of class users writing and reading
175490 the internal data of the dwarf_expr_context class.
175493 an evaluation result in a form of a single struct value object.
175517 and initialized members of the struct value. This is needed for the
175527 Following 5 patches series is trying to clean up the interface of the
175532 that, we first need to address the issue of class users writing and
175533 reading the internal data of the class directly.
175535 Fixing the case of writing is simple, it makes sense for an evaluator
175547 The rest of the user written data comes down to a context of an
175550 of evaluating expression is representing. So, it makes sense for all of
175551 these to be arguments of an evaluation method.
175553 To address the problem of reading the dwarf_expr_context class
175557 This is actualy a question of which existing class can be used to
175567 any result of the expression evaluation. It also makes sense to move
175571 What we are left with in the end is a clean public interface of the
175583 the CFI context (of the AMD's DWARF standard extensions), the composite
175584 location descriptions are certainly necessary to describe a results of
175634 passed in buffer would then be a specialization of that abstraction.
175645 instead of evaluate_for_locexpr_baton class.
175655 As a result of this, the evaluate_for_locexpr_baton class base class
175659 about the direction of the future DWARF versions and gdb extensions,
175660 but that is out of the scope of this patch series.
175665 (execute_stack_op): Instantiate dwarf_expr_context instead of
175669 instead of dwarf_evaluate_loc_desc class.
175675 Inline get_reg_value method of dwarf_expr_context
175691 Following the idea of merging the evaluators, the
175714 Following the idea of merging the evaluators, the read_mem method can
175730 Following the idea of merging the evaluators, the get_object_address
175752 Following the idea of merging the evaluators, the dwarf_call and
175818 Following the idea of merging the evaluators, the get_frame_cfa method
175832 check for DW_OP_call_frame_cfa. Remove use of get_frame_cfa.
175843 Following 15 patches in this patch series is cleaning up the design of
175845 extensions of that evaluator easier and cleaner to implement.
175847 There are three subclasses of the dwarf_expr_context class
175849 evaluate_for_locexpr_baton). Here is a short description of each class:
175852 of a Call Frame Information. The overridden methods of this subclass
175854 method, is not allowed in a CFI context. The source code of this
175859 restrictions. All of the methods that this subclass overrides are
175863 - evaluate_for_locexpr_baton subclass is a specialization of the
175870 It all comes down to this question: what is a function of a DWARF
175874 correctness of that expression in that context?
175877 is to report an invalid DWARF expression in a context of a CFI, but is
175881 There are more and more vendor and GNU extensions that are not part of
175882 the DWARF standard, so is it that impossible to expect that some of the
175883 extensions could actually lift the previously imposed restrictions of
175888 context of an evaluation and checks the requirements of every operation
175890 report an error only if parts of the context, necessary for the
175893 If this approach is taken, then the unification of the
175895 is the next logical step. This makes a design of the DWARF expression
175903 struct value (that describes the result of the evaluation) instead of
175925 check. Remove use of read_addr_from_reg method.
175935 (execute_stack_op): Use read_addr_from_reg function instead of
175943 instead of read_addr_from_reg method.
175947 Cleanup of the dwarf_expr_context constructor
175971 all of the following information: architecture, object file, frame and
175977 - Frame: designed to evaluate an expression in the context of a call
175982 context of a source level information (dwarf_evaluate_loc_desc
175984 evaluation of the given expression to be present.
175986 - Symbol needs: designed to answer a question about the parts of the
175993 target. Instead, it is supposed to check which parts of the context
175997 The idea is to take advantage of the existing dwarf_expr_context
176000 returned as one of three possible values, based on operations found in a
176007 The problem here is that faking results of target interactions can yield
176012 branch of the condition requires a frame information to be evaluated,
176035 location of another variable. Depending on a value of some_variable, the
176043 as the value of the variable A, and the check returns the
176052 condition of the frame base value, where if that value is concluded to
176059 manifestation of the same problem. Like in the previous scenario, the
176078 Similarly to the previous scenario, the location of a variable A is an
176081 is that DWARF expression contains a loop instead of just one branch. The
176082 end condition of that loop depends on the expectation that a frame base
176083 value is never zero. Currently, the act of faking the target reads will
176090 one class that deals with parsing of the DWARF expression, while there
176091 are virtual methods that deal with specifics of some operations.
176094 the act of evaluation relies on accessing the data from the actual
176095 target with the possibility of skipping the evaluation of some parts of
176102 for different purposes. Some are in charge of converting the expression
176106 (compute_stack_depth_worker) and some are in charge of evaluating the
176111 statement that handles each DWARF expression operation. The result of
176115 the purpose of a DWARF expression evaluation) the expression parsing was
176116 commonized inside of an evaluator base class (dwarf_expr_context). This
176124 Instead, the desired function of a symbol needs evaluator seems to fall
176129 Another problem is that using a heavyweight mechanism of an evaluator
176131 requires a more complicated design of the parent class to support fake
176136 more correct result without compromising the design of the
176142 The downside of this approach is adding of one more similar switch
176148 with parsing of the DWARF expression, while there would be a virtual
176149 methods that deal with specifics of some DWARF operations. Then that
176153 This however, requires a far bigger changes that are out of the scope
176154 of this patch series.
176157 argc argument of the main function to change in the assembly file
176191 is very sparsely populated. Most of the FP16 instructions share opcodes and
176244 is very sparsely populated. Most of the FP16 instructions share opcodes and
176333 Don't read past end of section.
176338 Some of the code paths unpacking mips relocs left arelent->sym_ptr_ptr
176388 to be safe enough (in this simple test) that most of the time the
176392 doing a couple of things.
176409 before the specific steps that we expect to misbehave instead of just
176410 calling kfail and skipping parts of the test completely. The benefit
176411 of this is that if/when we fix GDB this test will start to KPASS and
176426 debug output prints the host address of the used unwinder, which is not
176486 the same gcc compiler, as that version of gcc doesn't use indirect
176491 offsets base instead of ULONGEST. That value is only used in
176498 failed before and stopped processing of debug info). I tested the
176502 …During symbol reading: use of DW_MACRO_define_strx with unknown string offsets base [in module /ho…
176515 section). I contemplated the idea of passing the knowledge of whether
176542 * s390-opc.txt: Change instruction format of lpswey to SIY_RD.
176545 * testsuite/gas/s390/zarch-arch14.d: Remove last operand of
176554 objdump or when final linking. The function attempts to find the
176565 Also, if the symbol is a SHN_ABS one the owner of *ABS* section is
176572 section symbol to find the output bfd, use input_section.
176580 [gdb/symtab] Use lambda function instead of addrmap_foreach_check
176581 Use a lambda function instead of addrmap_foreach_check,
176593 function instead of addrmap_foreach_check.
176669 a symbol with XTY_SD instead of XTY_CM as expected.
176673 a symbol has a storage class of XMC_UL.
176678 Most of the algorithms for XCOFF in tc-ppc.c assume that
176679 the csects field of a ppc_xcoff_section isn't NULL.
176680 This was already made for most of the sections with the creation
176681 of a dummy symbol.
176694 Guard against lack of struct timespec definition.
176713 In the context of ROCm-gdb [1], the ROCm target sits on top of the
176730 target would get notified of the fork and do whatever is needed. But
176734 that case, the ROCm target wouldn't get notified of the fork.
176739 whatever is needed". The desired outcome of the fork (whether an
176821 The libstdc++ version of optional contains some runtime checks enabled
176896 Remove uses of fprintf_symbol_filtered
176929 In Ada, an enumeration type can use a character literal as one of the
176960 object. However, deletion of the dynamic object may cause
176976 branch, with a suitable ChangeLog entry of course.
177003 the remainder of the test-case.
177090 gdb compile failed, warning: Could not find DWO CU \
177117 When printing the fields of a register that is of a custom struct type,
177141 lsbcount: Number of lower bits to get rid of.
177142 bitsize: The bit length of the field to be extracted.
177144 field_type: The type of field that is being handled.
177147 handling "field_type"s of "boolean". Those types are NOT marked
177177 Number of "minimal" symbols read: 53^M
177178 Number of "full" symbols read: 40^M
177179 Number of "types" defined: 60^M
177180 Number of symbol tables: 7^M
177181 Number of symbol tables with line tables: 2^M
177182 Number of symbol tables with blockvectors: 2^M
177183 Number of read CUs: 2^M
177184 Number of unread CUs: 5^M
177189 and the regexp doesn't match because it expects the "Number of read/unread
177235 This changes a couple of spots to replace custom iterator range
177236 classes with a specialization of iterator_range.
177253 breaker in gdb, which caused a broader review of the usage of the nonnull
177275 * config/tc-ppc.c (ppc_dwsect): Use XCNEW instead of XNEW when creating
177287 (xcoff_sweep): Check if any sections of a file is kept before
177289 Call xcoff_mark for special sessions being kept instead of just
177306 readelf: catch archive_file_size of -1
177308 and even number of bytes we get zero.
177317 terminator to an array of arelent pointers can wrap the count to
177349 is not correct. Well, it's correct in that we do want the number of
177351 that the end of the specified flag is within the containing type.
177354 past the 32 bits of the underlying type, but it's currently not caught:
177367 Change the assertion to verify that the end bit is within the range of
177381 This improves the output of info threads when debugging multiple
177390 fork code is intertwined in ::wait and and the lack of #ifdef's
177391 there already assumed both were present. Finally, both of these
177410 - Call inf_ptrace_target::wait instead of duplicating the code.
177416 parent of the fork. Instead, use find_inferior_pid and assume that
177420 - Don't use inferior_ptid when deciding if the ptid of the process
177423 without an LWP exists and if so update the ptid of that thread
177424 instead of adding a new thread.
177465 get_status (and the other fields of x86_dr_low) are left as nullptr.
177479 The width of the window is too narrow to display the entire assembly line.
177480 The width of the columns in the window changes as the test walks thru the
177482 reads of the same line to differ thus causing the test to fail. Increasing
177483 the width of the window keeps the column width consistent thru the test.
177490 * gdb.tui/tui-layout-asm.exp: Replace window width of 80 with the
177498 Changes the indenting of a few expressions in
177507 indentation of calls to gdbscm_make_out_of_range_error.
177549 Changes the signature of get_unsigned_type_max to return the computed
177558 return the result instead of accepting a pointer argument in
177562 of get_unsigned_type_max.
177570 A C_BSTAT debug symbol specifies the beginning of a static block.
177571 Its n_value is the index of the csect containing static symbols.
177572 A C_STSYM debug symbol represents the stabstring of a statically
177582 * coff-bfd.c (bfd_coff_get_syment): Adjust n_value of symbols
177606 effectively a transliteration of the Python implementation.
177609 watchpoint registration path. This replicates the behaviour of the
177664 think that's used at all. Remove the entry in features/Makefile and
177667 - There are a bunch of *-expedite values in features/Makefile for
177682 If any pair of operands in AMX instructions with 3 TMM register operands
177701 to avoid running out of file descriptors on thin archives with many
177728 ld: cannot find -lgcc: Too many open files
177730 instead of
177732 ld: cannot find -lgcc
177741 added use of --no-split option to makeinfo. binutils reuses
177776 [ I've confused things by forgetting to add -gdwarf-4 in $subject of
177779 the default for gcc-11. I keep getting confused because of working with a
177820 with upper bound of form DW_FORM_data16.
177835 instead of a PROP_CONST and end up trying to evaluate the constant
177852 That operation is not available on integers of more than 8 bytes.^M
177886 It doesn't make as much sense that .machine keep any of these
177915 It's just wrong to choose power5 for a bunch of altivec instructions
177916 and in fact all of those .machine directives are unnecessary.
177990 This commit was originally part of this patch series:
177997 out some of the non-related fixes in order to get these merged.
177999 This commit addresses two semi-related issues, both of which are
178014 non-nullptr, and so, there is the possibility of triggering undefined
178039 of the program counter, and so the lazy register value is resolved
178048 Where 'frame=%d' will be the relative frame level of the frame for
178064 frame-id of the previous frame.
178099 have done in this patch by removing the use of VALUE_FRAME_ID from
178102 Out of curiosity I looked to see how widely VALUE_FRAME_ID was used,
178104 where, once again, we take the result of VALUE_FRAME_ID and pass it to
178111 use of VALUE_FRAME_ID.
178114 with a use of VALUE_NEXT_FRAME_ID, followed by a direct call to
178118 As I said, this patch was originally part of another series, the
178157 This test fails on PPC64 because PPC64 prints the value of 3.5 with
178176 extraction of fields for "flags" data type. These data types are
178184 TYPE_FIELD_BITSIZE: The bit length of the field to be extracted.
178185 TYPE_FIELD_BITPOS: The starting position of the field; 0 is LSB.
178189 is 4 bits. According to the third line of the code snippet the
178191 to be precise. That will result in a "field_val" of 0.
178197 The rest of the algorithm that masks out the higher bits is OK.
178372 The gdb/ChangeLog file was renamed, but all of the other ChangeLog
178376 GDB related directories, so this commit renames all of the remaining
178400 The current implementation of the -break-condition command's argument
178407 regression in terms of the behavior.
178409 Fix the argument handling of the -break-condition command to allow not
178487 gdb/testsuite: test get/set value of unregistered Guile parameter
178516 I don't really see the point of having sfunc at all, since do_sfunc is
178517 just a trivial shim that changes the order of the arguments. All
178532 reached the conclusion that I can't give a meaningful explanation of
178534 see a logic at all. That makes it very difficult to do any kind of
178535 change. Unless somebody can make sense out of all that, I'd like to try
178552 the "simple" version of the callback, compared to the "full", I suggest
178631 The declaration of set_inferior_cwd is currently shared between gdb and
178637 of set_inferior_cwd in gdb, and I don't want to change it for gdbserver
178658 each. I find it easier to work on a test with multiple smaller
178677 starts with a fresh GDB. I find it easier to understand what a test is
178678 doing when each part of the test is isolated and self-contained. It
178679 makes it easier to comment out some parts of the test while working /
178681 (which a subsequent patch will do) without fear of impacting another part
178682 of the test.
178706 how it is called when processes are created as part of a pipeline, the
178710 If a pipeline is created consisting of multiple processes then there
178712 first of these calls is fine, spawn_out(slave,name) is not set, and so
178734 The problem here is that we check for the existence of spawn_out, and
178736 arise where some other element of spawn_out is set,
178754 While changing this aspect of EVEX.b handling, also alter unduly set
178769 No definition of "s" in current context.^M
178783 instead of the expected defs.f1:
178820 consistency also limit use of dqw_mode to Jdqw. 64-bit disassembly
178823 input isn't being honored there either. Obviously the 0FC5 encodings of
178829 that of vex_vsib_{d,q}_w_dq_mode anyway.
178835 The bulk of OP_XMM() can be easily reused also for OP_EX(). Break the
178836 shared logic out of the function, and invoke the new helper from both
178842 x86: correct EVEX.V' handling outside of 64-bit mode
178843 Unlike the high bit of VEX.vvvv / EVEX.vvvv, EVEX.V' is not ignored
178844 outside of 64-bit mode. Oddly enough there already are tests for these
178853 Add suitable parameters to the function and move the invocation of
178855 a need to use movsxd_mode there, and its use gets in the way of the code
178871 Hence the handling of EVEX.W needs to be done when processing
178949 done in such a way that the testing still gets out of sync after a failure.
178983 * ldlang.h: Add readonly_section to list of section types.
179036 That operation is not available on integers of more than 8 bytes.^M
179046 cannot subscript or call something of type `foo__packed_array_ptr'^M
179065 Many places report errors of the nature "can't resolve a - b".
179131 decade ago. Furthermore, the sole mention of this target in the binutils
179138 * config.bfd: Remove netbsdpe entry.
179140 * configure.ac: Remove netbsdpe entry.
179144 * configure.tgt: Remove netbsdpe entry.
179148 * configure.tgt: Remove netbsdpe entry.
179157 PR28106, build of 2.37 fails on FreeBSD and Clang
179169 Fix printing of non-address types when memory tagging is enabled
179215 expression printing path instead of erroring out and printing nothing
179240 then we just add it at the tail of the subset list.
179247 of extensions, including the rv64e and rv32q.
179293 support. This is because GDB then makes use BTS instead of PT, so
179297 stack trace of the internal error is:
179375 The previous implemention of all_non_exited_threads_range didn't care,
179376 but the new one does. The problem of calling gdb_insn_length and
179416 with r_sym of zero without counting in advance method.
179437 part of the existing index code, and so it registers as a regression.
179452 Currently, the index maintains a hash table of "quick file names".
179470 due to the assertion at the top of dw2_get_file_names. This may be a
179481 psymtab_to_fullname, so this patch extracts the body of this function
179549 Looking at the log, we see that we are left with a bunch of inferiors in
179605 Currently, gdb cannot step outside of a signal handler on RISC-V
179617 # of expected passes 587
179618 # of unexpected failures 6
179620 This patch adds support for stepping outside of a signal handler on
179641 This patch adds RISC-V to the list of configurations that does not
179661 Investigation of using the Python API with an Ada program showed that
179662 an array of dynamic types was not being handled properly. I tracked
179663 this down to an oddity of how array strides are handled.
179673 of historical reasons plus a desire (mentioned in a comment somewhere)
179685 bfd * elf32-or1k.c (or1k_elf_relocate_section): Use a separate entry
179687 !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL().
179707 behavior of silently doing nothing does not really make sense.
179738 gdb: call post_create_inferior at end of follow_fork_inferior
179739 GDB doesn't handle well the case of an inferior using the JIT interface
179752 the case of a fork child.
179754 Instead of just calling the inferior_created observable, this patch
179763 places where solib_create_inferior_hook is currently called, instead of
179797 recognize the thread as one of its own, and delegates the request to
179804 components of GDB do their thing.
179809 because of the first bullet point: when check_for_thread_db /
179822 In terms of testing, this patch adds a new gdb.base/jit-elf-fork.exp
179829 There isn't currently a way to get visibility into GDB's idea of the JIT
179830 code objects for each inferior. For the purpose of this test, add the
179885 Also change the x86 disassembler to disassemble 0xf1 as int1, instead of
179910 definition of TC_VALIDATE_FIX_SUB says that some uses of fx_subsy are
179912 and/or tc_gen_reloc. A lot of targets don't have the necessary
179916 I've had a good look over target usage of fx_subsy, and think I've
179962 Contents of the .gdb_index section:
180042 error: build of '/nix/store/xs8my3rrc3l4kdlbpx0azh6q0v0jxphr-gdb-gdb-11.0.90.drv' failed
180088 terminate called after throwing an instance of 'gdb_exception_error'
180186 terminate called after throwing an instance of 'gdb_exception_error'
180300 scenarios, and find that in the latter case we hit this code in glibc function
180325 list variables into _rtld_global", which moves the initialization of stack
180343 gdb, dwarf: Don't follow the parent of a subprogram to get a prefix.
180345 to go to the parent of the subprogram. The DIE will be local.
180366 The class F2 should not be seen as a member of F1.
180489 all threads of all inferiors of that target, to ultimately yield exactly
180491 spend time iterating on threads to find the one we are looking for. The
180493 the iterator yields all the threads of that inferior.
180495 In those cases, the callers of all_non_exited_threads could have
180496 different behaviors depending on the kind of ptid, to avoid this
180506 based on filter_target, iterate on all of the matching inferiors'
180514 For the last case, what was an iteration on all threads of the filter
180528 Choose path based on filter_ptid (all threads, all threads of
180537 When debugging a large number of threads (thousands), looking up a
180542 std::unordered_map::find, instead of iterating on all of the
180551 gdb: optimize selection of resumed thread with pending event
180556 walking the inferior's thread list twice: once to count the number of
180559 Since we now maintain a per target list of resumed threads with pending
180566 out. With this patch, the list of resumed threads with pending event
180571 same technique is used: do a first pass to count the number of
180573 the list of resumed threads with pending wait statuses will generally be
180600 walking all threads of the target.
180602 Since we now maintain a per-target list of resumed threads with pending
180613 gdb: maintain per-process-target list of resumed threads with pending wait status
180632 To allow optimizing these cases, maintain a per-process-target list of
180640 will be quicker than iterating the list of threads, especially when
180661 inferior::unpush_target to remove all threads of that inferior from the
180664 As of this patch, the list is not used, this is done in the subsequent
180670 is used to get the current target stack). For debug messages, I find it
180673 representation of the ptid that is meant for debug messages, a bit like
180691 setters for all of its fields:
180711 detail of thread_info that callers don't need to be aware of.
180713 For the backup / restore of the thread_suspend_state structure, add
180724 Adding some getters / setters allows adding some assertions. I find
180735 process_initial_stop_replies is kind of (ab)using the
180759 /* In all-stop, we only print the status of one thread, and leave
180773 to access the waitstatus value of these threads that don't have a
180818 For this, we have a use case of appending a list to another one (in
180820 method. However, only support splicing the other list at the end of the
180836 Change inferior_list, the global list of inferiors, to use
180862 simply-linked lists, and we don't keep track of a "tail" pointer, when
180864 list to find the current tail. It would be nice to get rid of that
180865 walk. Removing elements from such lists also requires a walk, to find
180872 With an intrusive list, it's also possible to move items out of the
180879 std::list, we need to walk the list to find the iterator pointing to
180886 for requiring extra memory allocations. For an example of an object
180896 The new intrusive_list type gives us the advantages of an intrusive
180901 std::list's interface. It is based the API of Boost's intrusive list,
180907 and intertwined due to a lot of customization options, which our version
180920 version of the patch was circular: the intrusive_list type included an
180930 elements of the list. They are nullptr if the list is empty.
180948 `thread_info&`). The rest of GDB currently expects iterators and ranges
180954 debugging GDB with GDB. Here's an example of the output:
180957 …$1 = intrusive list of thread_info = {0x61700002c000, 0x617000069080, 0x617000069400, 0x61700006d6…
180974 of printing the thread list above would be unreadable, IMO, if each
181027 …Fix a translation problem for the text generated by readelf at the start of a dump of a dynamic se…
181029 …binutils * readelf.c (process_dynamic_section): Use ngettext to help with translation of header te…
181107 leb128 data is of indeterminate length, perfect for fuzzer mayhem.
181123 block. That happened due to "end" pointing a long way past the end of
181124 block, and uvalue decrementing past zero on one of the leb128 bytes.
181272 While working around, I noticed that the last parameter of
181305 information and symbol tables of input files in memory. When there
181306 are many input files with many relocations, we may run out of memory.
181321 instead of _bfd_elf_link_read_relocs.
181326 _bfd_elf_link_info_read_relocs instead of
181330 _bfd_elf_link_info_read_relocs instead of
181381 sees that the number of displaced stepping buffers for that architecture
181388 displaced stepping isn't supported, or register a different set of
181403 s390-tdep.{h,c} where factored out of s390-linux-tdep.c, in d6e589456475
181406 Fix this by removing the setting of these displaced step callbacks from
181415 GDB 11 regression, so here's the ChangeLog entry:
181420 of displaced stepping buffers to linux_init_abi.
181446 The first "testsuite" comes from the @subdirs@ replacement, because of
181468 ChangeLog entry:
181496 line of the error message starts with the same prefix as the first:
181538 Remove an accidental change to elfcode.h included as part of commit 6e0dfbf420.
181554 only of abfd != NULL.
181631 * sysdep.h [!ENABLE_NLS]: Prevent inclusion of <libintl.h> on
181640 …binutils-2.37-branch/git/bfd/opncls.c:1231:16: error: implicit declaration of function 'strnlen' […
181643 …-branch/git/bfd/opncls.c:1231:16: error: incompatible implicit declaration of built-in function 's…
181645 …-branch/git/bfd/opncls.c:1319:20: error: incompatible implicit declaration of built-in function 's…
181649 and in a couple of other places. The platform lacks strnlen, and while
181667 Fix problems translating messages when a percentage sign appears at the end of a string.
181675 * po/gas.pot: Regenerate.
181682 * po/bfd.pot: Regenerate.
181691 I was always a bit confused by next_adapter, because it kind of mixes
181697 first element of the iterable
181710 generalization of what we have today.
181715 end at the end of the container, you could pass any iterator as the
181728 Its `begin` method returns a copy of that iterator.
181730 With just iterator_range, uses of next_adapter<foo> would be replaced
181740 The rest of the changes are applications of this new class.
181799 built GDB. In the workflow of ROCm-GDB at AMD, a GDB package is built
181801 hardware configurations as part of other CI jobs. To achieve this,
181805 In light of this use case, the way I see it is that gdb/testsuite could
181809 Since the only downside of having gdb/testsuite/configure is that it
181813 In a sense, this is revert of f99d1d37496f, but it's not a direct
181839 similar to what we would do in the context of the "Start of New
181842 The purpose of this change is to avoid people merging ChangeLog
181910 requirements. Looking at the current description of those functions,
181919 Return the value (in fractional seconds) of a performance
181926 Return the value (in fractional seconds) of the sum of the
181927 system and user CPU time of the current process. It does not
181931 I'm thinking that it's just best to record both instead of picking
181955 and MeasurementProcessTime instead of MeasurementCpuTime.
181957 MeasurementProcessTime instead of MeasurementCpuTime.
181985 will be a separate patch), I get 86 instances of overflowing expect's
182035 the absence of regexps, which is done using the clauses above calling fail.
182054 * gdb.base/info-macros.exp: Replace use of
182073 [gdb/symtab] Fix skipping of import of C++ CU
182102 * dwarf2/read.c (scan_partial_symbols): Skip top-level imports of
182114 .riscv.attribute easier to find in dynamic loader or kernel.
182159 This changes the .debug_names writer to find the TU indices in the
182166 unified in the DWARF reader, it's simpler to handle both of these in
182202 can run out of file descriptors petty easily.
182240 Restore the libiberty component of commit 50ad1254d5030d0804cbf89c758359ae202e8d55.
182245 Updated translations (mainly Ukranian and French) triggered by creation of 2.37 branch.
182250 Since commit 05b85772061 "gdb/fortran: Add type info of formal parameter for
182258 The part of the commit causing the fail is:
182265 string length of a string argument is int, not size_t.
182276 $integer4 for size of string length.
182285 …/Users/smarchi/src/binutils-gdb/gdb/../gdbsupport/scoped_ignore_signal.h:69:4: error: use of undec…
182289 An alternative to sigtimedwait with a timeout of 0 is to use sigpending,
182291 them. Since that's slightly more expensive (2 syscalls instead of 1),
182307 The next patch will make the use of sigtimedwait conditional to whether
182342 the endianness of the reloc field really should be that of the input.
182358 Check DW_FORM_ref1 etc. arg against cu_end rather than end of
182432 Rename the section of the current branch, now that it has
182453 I noticed a couple of spots related to dwarf_decode_lines where the
182454 'include_p' field was not being used idiomatically -- it is of type