Lines Matching +refs:dwarf +refs:do +refs:insert +refs:substructure
82 model, do not emit R_LARCH_RELAX relocations.
799 do not have push and pop instructions, but rather STP/LDP/STR/LDR etc.
1139 cannot insert breakpoints in the middle of this sequence. Before this, we only
1260 thread. I do this by recording the main thread early on (when there
1388 attribute, which is a dictionary. A user can, for example, do this:
1413 which is a dictionary. A user can, for example, do this:
1445 Nor do I believe there's anywhere in the Python API where it makes
1452 gdb.Progspace objects. Attempting to do so now gives an error, like
1571 do:
1631 space between each match, however, we do get the '/' added instead.
1849 that do not require output operands (such as nop/ret) will
1995 insert the breakpoint/catchpoint location. This patch is a fix to the same.
2630 the usual late checking and can lead to hard errors, so let's not do that
2636 actually need to do the substitution anyway, because [temp.friend] says that
2816 With `tlbip' as an example, some TLBIP instruction names do not allow
3091 Add "maint set dwarf synchronous"
3170 introduced to do hash table lookups, to avoid unnecessary copies.
3918 future, but right now, I'm not planning to do that, I just wanted to
4268 Finally, this commit also changes the dwarf assembler to be able to emit
4280 Invoke ppc's igen from the top-level like we do for all other ports.
4289 then with the port name like we do with all other ports.
4326 boilerplate and matches what we do in the top-level platform checks.
4409 the common one to do the same.
4532 FAIL: gdb.base/gdb-index-err.exp: flag=-dwarf-5: \
4614 dwarf, fortran: add support for DW_TAG_entry_point
4631 As gcc and ifx do not emit the tag I also added a test to gdb.dwarf2
4652 gdb, dwarf: add assert to dwarf2_get_pc_bounds
4660 gdb, dwarf: move part of dwarf2_get_pc_bounds into separate function
5327 that do not support EGPR.
5616 So, change value::allocate_register_lazy to do that work, and remove the
5652 a temporary value that is never used as lvalue, we actually do not
5711 unwound from). This is the same thing that we do in
5721 Pass a frame_info_ptr rather than a frame_id. This avoids having to do
5734 paths in cooked_read_value do set it properly, AFAIK.
5761 Since these insns don't do anything and are effectively ignored,
5921 is the right thing to do.
6149 to do with backtraces. This patch renames them to "tui-status".
6370 The test spawns a kernel with a number of waves. The waves do nothing
6374 exiting. We do see that, however we also see this:
7102 multiplies, we may need to do a bit reflection, which on the mcore
7437 but no description of what they do, what the insn name means, or the
7558 only look at now_seg, for a few others it looks as if failing to do so
7654 The mloop.in code does this, but these variants do not. Use it to
7673 sim: igen: do not reindent literal semantics output
7957 - I do not plan on changing gdbarch_pseudo_register_read to receive a
8114 I tried to do this change in small increments, but since many of these
8115 functions use each other, it ended up simpler to do it in one shot than
8136 overloads could be removed, but I didn't want to do it in this patch, to
8153 1. When checking if we need to do nothing, if the length is 0, we don't
8154 need to do anything, regardless of the value of offset. Remove the
8398 do something wrong -- and I didn't find GDB's output as helpful as it
8414 they do, that it appears in the error message is an internal GDB
8416 what was wrong with their input, and what they should do to fix
8442 I think these do a better job of guiding the user towards fixing the
8670 (md_apply_fix): For PCREL_HI20 relocation, do fixup and record
8672 PCREL_LO12_I/S relocation, do fixup and mark as done while with
8721 simply sets the quit flag and lets gdb do the rest.
9021 can be very fast. But no way I can justify the time to do that.
9180 While on the command line it is possible to do:
9265 However, when I do:
9558 Cannot insert breakpoint 1.
9560 Cannot insert breakpoint 1.
9896 do the bare min conversion to keep it compiling.
9977 * dwarf.c (display_debug_addr): Free dummy debug_addr_info entry.
9987 better to do without the extra variable entirely. It's easy to infer
10143 * dwarf.c (display_debug_names): Handle empty .debug_names hash
10319 'show' command, then instead of crashing, GDB will do something
10620 to do.
10667 failure to fail through timeout, which it had to do because there is no
10713 Just like avoiding to do certain transformations potentially affected by
10715 optimized NOPs right afterwards; insert a plain old NOP first in such
10731 Just like avoiding to do other transformations potentially affected by
11189 if this call fails then I do now print the error, where before we
11317 sim: bpf: do not use semicolon to begin comments
11320 directives, and do not start line comments.
11402 all I'll need to do is:
11435 gdb: generate dwarf-5 index identically as worker-thread count changes
11436 Similar to the previous commit, this commit ensures that the dwarf-5
11440 Building the dwarf-5 index makes use of a closed hash table, the
11443 by calls to debug_names::insert() in write_debug_names. The insert
11449 table prior to using this to build the dwarf-5 index.
11487 binary. And we do .... except for the index.
11497 then re-insert them in sorted order. This will ensure that the
11593 new option_def data structures for parsing the '-dwarf-5' option.
11601 this means that we can now do:
12344 the "pex" code sets it, and the tcp code seems to do the wrong thing.
12396 would set the "do not emit the continue" flag. This meant that a
12424 to ensure that the contents actually do complete the word. A
12451 clearing (and therefore ignoring) this exception as we do everywhere
12697 * config/tc-s390.c: Add support to insert operand for format
13640 and do likewise for TestStringsH and TestStringsW.
13891 * dwarf.c (display_gdb_index): Restore v9 display code.
13927 You do this by calling
14000 To do this I have replaced a system 'stat' call with a bfd_stat call.
14158 gas: bpf: do not allow referring to register names as symbols in operands
14271 address space), and this seemed like the right way to do it, I don't
14439 Simplify the code follow ing what check_{,q}word_reg() already do. This
14452 Note that check_{word,long}_reg() do not (currently) appear to require
14701 seemes harmless to do the same thing here. (gdb_python_initialized
14816 I chose to do this only for DAP. For CLI and MI, gdb currently does
14817 not do this, so this preserves the behavior.
14820 that seemed to do something similar. However, that code did not
15075 extension languages, the next commit will do that. This commit just
15080 GDB should do nothing different. As such, there should be no user
15566 invariant. To do that, it takes a bit more code than one would
15755 The first two times we do "continue", we displaced-step the syscall
15761 used. So when we do the third continue, there are no buffers
15809 displaced or in-line step over exits. We can do that with the new
16031 disabled. All we need to do is to report support for the option,
16045 A following patch will teach Linux GDBserver to do the same thing.
16057 In order to be able to do that with GDBserver, we need a new remote
16092 Unlike PTRACE_SETOPTIONS, fork/vfork/clone children do NOT inherit
16121 A following patch will teach Linux GDBserver to do the same thing.
16292 latter patch removes the attribute again. We need to do this because
16588 * dwarf.c (read_and_display_attr_value): Fix loclist handling. (display_loclists_list): Likewise.
16869 x86: do away with is_evex_encoding()
16871 to replace it by a simpler check. Have i386-gen do at build time what so
16921 x86: Intel Core processors do not support CMPXCHG16B
17038 uses a trampoline to handle *invocation* of the handler. We do not
17120 previously this would do nothing:
17152 But, if I do this:
17165 disappointment, if I do:
17477 I wonder if find_pc_partial_function should do that itself, in order to
17698 In AIX unused or constant variables are collected as garbage by the linker and in the dwarf dump
17727 first do this to avoid conflicts between linker internal relocations and the
17785 errors do not prevent gdb from continuing on to the extent possible.
18116 Add a dwarf assembly test-case that reflects the debug info as generated by
18351 However, there's no real reason to do this -- it seems fine to read it
18359 current code does, which is try to read an empty section but then do
18583 The next problem is that we do:
18770 At no point in handle_v_run do we free new_program_name, as a result
18965 Like done earlier for files needing adjustment anyway, also do this for
18969 Since named objects may not overlap, the compiler is not permitted to do
19053 bfd-in2.h but then decided to do something about the silly formatting
19176 you do something to it, and the parent dict is writable (created via
19208 even if some dump core. They use a common library to do all the actual
19414 ... just because it seems to make sense to do so.
19485 seems like a good choice for this, we don't need to insert/remove
19612 actually support multi-program-space / multi-inferior do). Make that
19634 RISC-V: Don't do undefweak relaxations for the linker_def symbols.
19643 Therefore, it seems like we shouldn't do the undefweak relaxations for these
19647 * elfnn-riscv.c (_bfd_riscv_relax_section): Don't do undefweak
19694 We do this as a writable test because the only known-affected platforms
19695 (with ssize_t longer than unsigned long) use PE, and we do not have support
20003 generates dwarf that states that the return type is void:
20029 Work around this in the dwarf reader, such that we have instead:
20208 BSIFI- The instruction shall insert a right-adjusted bit field
20377 What I'd like is some way within GDB that I can do:
20591 we do on it. This will help by:
20691 * dwarf.c (read_and_display_attr_value): Don't dereference NULL
20726 To do so, the check whether passed Python object is a dictionary has been
21026 BSIFI- The instruction shall insert a right-adjusted bit field
21125 newlines within arguments, and do some minimal cleanup of the related
21341 how to do that because its value is also used by BFD, as well as processed
21372 In the gcc-10 case, though the exec contains dwarf, it's not used to set the
21456 Some existing users of new_objfile do nothing if the passed objfile is
21718 If we can't get the auxv data then what should we do, assume yes, or
21912 You can't do that when your target is `native'
22058 disk, we do this by stat-ing the on disk file and checking the mtime.
22422 and don't do anything for the z registers.
22450 for now this should do.
22568 like gdb's native layer as opposed to letting the generic linux-low layer do
22595 *do not* have SVE state, and therefore has_sve_state should be false.
22608 I do plan on submitting some SVE-specific tests to make sure we have
22783 …* dwarf.c (fetch_indexed_value): Delete. (fetch_indexed_offset): Correct base address calculation.…
22970 can do any final cleanup if needed.
23000 It turns out that this has nothing to do with my changes, this is just
23014 do with this change, I just mention it because I ended up needing to
23455 name as the executable then we will call exec_file_attach, but we do
23514 is trivial, but before I do that I would like to add some additional
23550 before I do that I want to remove the use of the executable_changed
23578 do this I would like to remove the additional call to the
23612 this use of the executable_changed observable, but, before I can do
23849 To avoid needing to do any such adjustment in two places (each),
23959 AVX512F counterpart ones, do this for FMA ones as well, requiring one
23964 AVX512F counterpart ones, do this for VAES and VPCLMULQDQ ones as well.
24094 The difference in gdb output is due to difference in the dwarf generated by
24209 cannot be nested. So if a macro wants to do something for N individual
24210 arguments, it needs to use a chain of N macros to do it. There then
24259 …4 bytes of space. Due to this when we do a stepi on paddi instruction we get a SIGILL interrupt. H…
24294 Fix readelf's display of dwarf v5 range lists
24296 * dwarf.h (struct debug_info): Remove range_versions field.
24297 …* dwarf.c (fetch_indexed_offset): New function. (read_and_display_attr_value): Use it for DW_FORM_…
24475 insert/extract functions.
24523 (arc_flag_class): Update structure to hold new extract/insert
24727 .dynsym sections. But we plan to do it.
24850 normally select text, seems to do nothing. This means I cannot select
24902 Make the current situation explicit by emitting a dwarf error:
25196 upstreamed to GDB yet. When we do upstream watchpoint support, GDB will
25760 to avoid reverse dependencies towards SSE (just like we already do for
25814 the same time, if we do send errors, they should be intentional and
25836 after digging a little, I realized that we can not simply do what
25974 usually execute faster than FSAVE/FNSAVE and FRSTOR because they do
25977 opcode). The only case in which they do save the exception pointers
26129 This is PR symtab/26797: when using readnow, a failure in reading the dwarf
26150 the CUs generated by the dwarf assembler are missing.
26249 Strangely, neither gfortran nor ifx seem to do this for these tests.
26276 with ifort (2021.6.0) these statements do not actually create any
26286 'objdump --dwarf=decodedline ./a.out' looks like
26320 As I do not think that this is really a bug (on either side, gfortran/ifx or
26605 cleaner to just have block_find_symbol do the work itself. Also,
26976 Rust compilers do this.
27548 start gdb (w/ no arguments), and do the following to reproduce the
28123 binutils/dwarf.c abbrev list leak
28124 * dwarf.c (process_debug_info): Call free_abrev_list on
28129 * dwarf.c (free_debug_information): Free range_versions.
28585 Current OS's do not export the offsets of XSAVE state components in
28588 sizes. Eventually when core dumps do contain this information this
28626 Specifically, AMD Zen3 and later processors do not leave space for the
28849 _close_and_cleanup where we do need to check things.)
28853 Also, pe_ILF_cleanup ought to call coff_object_cleanup as do all PE
29104 altogether, which may suggest that a much simpler macro might do for the
29337 function. Not all compiles do this, one example being clang. To fix
29587 * dwarf.h (debug_info): Add range_versions field.
29588 …* dwarf.c (read_and_display_attr_value): When recording a range arribute also ecord the dwarf vers…
29828 never print such messages, even though we do print "[New Thread ...]".
29978 propose we should do that for now.
30148 do-nothing function. In the process of making this patch I noticed
30390 * dwarf.c (display_formatted_table): Sanity check count of
30396 kvx_dis_init currently always returns true, but error conditions do so
30676 do with --enable-maintainer-mode, and added --enable-cgen-maint
30725 new_args.insert (new_args.end (), args.begin (), args.end ());
30730 This shouldn't have any really bad effects, as insert will grow the
30745 I found that most spots including psymtab.h do not need it. This
30834 An obvious optimisation here is to only insert breakpoint locations
31130 While working on a dwarf assembly test-case I accidentally created the
31131 following pathological dwarf:
31154 but the approach for deciding whether to fix pathological dwarf cases is as
31265 this commit does not do that.
31433 Turns out this is pretty simple to do.
31744 inf-ptrace::detach does not do this (somewhat surprisingly), so add
32142 /* GDBserver must insert single-step breakpoint for software
32470 config-ml.in: Suppress output from multi-do recipes
32474 * config-ml.in (multi-do, multi-clean): Add @ to silence recipes.
32556 with LTO to work so we need to pass down NM just like we do for ranlib
32711 We do not use the shared libffi libraray, nor do we install it.
32748 * dwarf2.h: Update with additional languages from dwarf
33568 the gdb_bfd.c wrapper functions. It is ok to do this because gdb
34433 The comment seems to be copied from debug_names::insert, which does indeed use
34533 -break-insert -c "cond_fail()" foo
34571 to the user, and this is what I do in this commit.
34586 3. In infcall.c, do two things:
34661 "correct" way to do things if there can be a buffer overflow. In this
35112 uses FrameDecorator, it may still do the wrong thing. It would be
35355 devices available have the required capability. Failing to do so would
35424 bpf: sim: do not overflow instruction immediates in tests
36028 these tests do not enforce their expectation in any. For none of them
36118 IRIX targets do not enable the production of a `.pdr' section in GAS by
36239 Let's include it with INITIAL_READONLY_SECTIONS, just like o32/n32 do,
36358 file), there's nothing the author can do about it. To avoid this
36700 consequently we do not skip the breakpoint in main, and also don't run into
37077 * ld.texi (--insert-timestamp): Document change in behaviour.
37089 null slot to insert IRELATIVE relocation.
37093 insert IRELATIVE relocation.
37101 insert IRELATIVE relocation to .rela.dyn.
37593 Note that I have not tested in a big-endian host yet. I will do so
37609 accommodate BPF requirements (which is often) we have to do extensive
37610 testing to make sure we do not break any other target using CGEN.
37670 Note that I have not tested in a big-endian host yet. I will do so
37771 Add two test-cases, a C test-case gdb.opt/static-optimized-out.exp and a dwarf
37813 rl_redisplay will not do it for us. If the calling application has a
38176 accepting '^' only. But let's do this anyway, if only for
38338 14. In linux_nat_target::detach the first thing we do is stop all
38373 If you do want to reproduce this failure then you will for certainly
38582 13. In linux_nat_target::detach the first thing we do is stop all
38635 If you do want to reproduce this failure then you will for certainly
38700 do the same.
38849 separate "warning" calls. If we do end up with multiple warnings in
39046 to do that using '.' as a new argument for the 'list' command. If the
39107 paths didn't do that, leading to memory leaks. None of this matters
39236 Add a new function translate_acs, that allows us to do the more straighforward:
39356 a few others can easily be converted to do so as well. Note that for it
39401 and a few others can easily be converted to do so as well. (Note that
39420 By changing decode order to do ModR/M.mod last (rather than VEX.L), the
39726 regressions during future work. This change does not do anything to fix
39750 Types defined as fortran_complex16 do not compile with nvfortran, so it
39887 simply not generate any output. It didn't seem useful to do so.
39902 printf_wide_c_string, don't take max-value-size into account, but do
39920 what they choose to do.
39973 cases moving off the stack is the correct thing to do. Unlike all the
40023 this function we do this:
40408 However, in the next commit we do want the size returned to be the
40413 __repr__ method, so all I do in this commit is have size_hashed walk
40725 thing to do? If the vmcore file has two threads that represent two
40753 pre-generate core files. Just as those existing tests do, I've
41613 opcodes/loongarch: do not print hex notation for signed immediates
41809 error out if the SFrame sections do not all have
42471 stack tracer will likely only need to do a sframe_find_fre ().
42764 gdb_init") I tried to do this more structurally, by cleaning up the entire
42781 standard_output_file dir is the wrong thing to do, because an invocation with
43274 to the ptid attribute of InferiorThread. To do this,
43298 exiting event thread object, they can some time later do `t.switch()` at which
43336 the basic-dap.exp/c to do this specifically and it saw the changes.
43357 Cannot insert Ada exception catchpoint in this configuration.^M
43534 but failed to do so for gdb.arch/thumb*.S. Fix this oversight.
43981 regressions during future work. This change does not do anything to fix
44112 Python doesn't make it very easy to do runtime type-checking, so the
44181 I haven't added C++ exception handling here, but it's easy to do if
44184 This patch relies on the new MI command execution support to do its
44192 catchpoints do not have this requirement. Instead, those work like
44226 gnat_runtime_has_debug_info starts a new gdb to do its work. However,
44715 we do this:
44762 * dwarf.c (display_debug_frames <DW_CFA_restore_state>): Do free
44823 gdb/corelow.c: do not try to reopen a file if open failed once
45103 target _close_and_cleanup function won't do anything, and therefore
45402 expected characters. But, in the $_gdb_maint_setting example we do
46077 other hand, if bfd_free_cached_info is called we can't do much on the
46166 Improve MI -dprintf-insert documentation
46167 I found the documentation for -dprintf-insert a bit unclear. It
46317 You can't do that without a process to debug.
46831 * testsuite/gas/elf/dwarf-5-irp.d: Likewise.
46832 * testsuite/gas/elf/dwarf-5-loc0.d: Likewise.
46833 * testsuite/gas/elf/dwarf-5-macro-include.d: Likewise.
46834 * testsuite/gas/elf/dwarf-5-macro.d: Likewise.
47199 also the right way to do the same thing for risc-v.
47331 nothing to do with insn length - leads to inconsistent results. Since we
47353 Instead they're separators for pseudo-prefixes. Don't insert them in
47386 The changes to the implementation do not cause any change in the
47621 do in any case, for completeness.
47693 breakpoint::print_it do this:
47954 command name and vector of arguments, and does not do any escape
48025 generate the relocations). Or with alternative toolchains that do encode
48225 I'll be submitting eventually; in others I think I need to do a bit of
48487 line table entry, and what to do when GDB can't find a good match.
48513 Noticed that in breakpoint.c, in one place, we do this:
48601 expressions and insert fixups for them.
48764 This sets expected_lbound, but since found_prompt is true, we don't do
48959 mkobject_hook is the wrong place to do that.
49179 So why do some targets trigger the warning earlier during the inferior
49214 Before this commit the Python Disassembler API allowed the user to do
49232 able to do the following things:
49296 DisassemblerAddressPart into a string. To do that we need to call
49297 GDB's internal print_address function, and to do that we need an
49491 do this as a separate change.
49656 The problem happens when evaluating this dwarf expression:
50640 can now just do this:
50803 then do any needed substitutions. This was suggested by Simon, and is
51280 In gdb.dwarf2/dw2-abs-hi-pc.exp we do:
51478 If we use TERM=xterm, we do get the expected 78.
51623 -break-insert -p 99 main
52045 Consistently do 64-bit first, VEX.L second, VEX.W third, ModR/M fourth,
52056 Consistently do 64-bit first, ModR/M second, VEX.L third, VEX.W fourth,
52180 lang_add_section won't actually insert anything for most of them. That
52238 this will do what I want, right?
52245 which will do what I want, right? Well, that's fine until I change
52256 after the '^' is the command converted into a regexp, so lets do that
52266 anchor their output patterns when this makes sense to do so. This
52270 There is one problem case we need to consider, sometime people do
52291 There are a bunch of tests that do already use '^' followed by the
52316 then we should be checking for it, the current gdb_test doesn't do
52369 now what the gdb_test_no_output proc is expected to do.
52756 * write.c (chain_frchains_together_1): Rewrite loop as a do
53377 The triples with vendor `img` should do same.
53813 round. That is because this round you can do relaxation which means that the
53817 already preserve the size and won't do the gp relaxation this time.
53823 Originally, this patch also do the same optimization for the call relaxations,
53859 ar does not do this.) Unfortunately this is an easy target for
53966 * dwarf.h (DWARF2_Internal_LineInfo): Replace unsigned short
53969 * dwarf.c (display_debug_lines_raw): Revert "adv" back to an int.
53978 coff-alpha compression scheme expands at most 8 times, so we can do
54048 …* dwarf.c (read_and_display_attr_value): Correctly handle DW_loclistx attributes that index a vers…
54132 Symbols with GOT relocatios do not fix adjustbale
54134 …* config/tc-loongarch.c (loongarch_fix_adjustable): Symbols with GOT relocatios do not fix adjustb…
54202 * dwarf.c (fetch_indexed_string): Sanity check string index.
54306 In the case of fork, we have nothing to do if `child_inf` is nullptr,
54310 problems. And anyway, the inferior can't do anything other than exec or
54316 the existing inferior, we need to do a detach/attach anyway, as
54344 that the event handling code will need to do some target calls, so we want to
54430 ... since linux-nat tries to do a ptrace call on tid 1.
54545 are the same, we need to do the detach / attach dance.
55222 will be shifted out in the next iteration. All we need to do is sink
55247 Replace an assertion in the dwarf code with a warning message.
55249 …* dwarf.c (read_and_display_attr_value): Warn if the number of views is greater than the number of…
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.
55380 prologue scanning unwinder doesn't know what to do with this
55397 gdb/dwarf: Fix MinGW build
55481 No impact on ld, which does not do cu-mapped links or pass
55504 might fail; if they do, the error must be correctly reflected on the
55526 libctf, tests: do not assume host and target have identical field offsets
55595 We do need to test that the output is produced, but that should be limited to
55824 But I do think it is worth keeping Frame.read_register method in sync
56017 do consider this architecture's displaced-stepping broken.
56048 Fix memory leaks and do a general tidy of the code for printing coff
56512 current location. The second time is a little odd, why do we print
56934 while trying to insert a breakpoint. As soon as GDB spots that
56937 throw an exception which is caught in the insert breakpoints code, and
56952 calculated, and the first thing we do is try to insert the
57066 to process exit. The only reason to do so is that having many memory
57090 * dwarf.c (process_abbrev_set): Call free_abbrev_list on errors.
57790 wrong thing to do. We need to be relatively confident that we're
58408 * dwarf.c (read_and_display_attr_value): Detect and ignore negative base values.
58731 seems very unlikely that any user is actually trying to do this in
59022 We do print out the address that is being stepped, so I can track down
59026 And we do print out the bytes of the new instruction, so I can figure
59078 I'm not proposing to do anything about this issue for now.
59666 things do work now.
59835 [gdb/testsuite] Add missing include_file in gdb.dwarf/*.exp
59846 running and passing, so let's rewrite the test-case using dwarf assembly
59851 the dwarf assembly. This gives us:
59865 Note that the dwarf assembly also describes main, otherwise the test-case
60360 With inferior_ptid, we can do safety checks along the way, making sure we have
60531 $ while make check-parallel TESTS='gdb.opencl/*.exp' -j 100; do true; done
60554 Don't insert a second stub if the target is already compatible with
61144 completion match string, then GDB tries to do some weird string
61310 encoding variants, we can finally do away with this concept as well. Of
61424 In some files, pointers to these functions do not have prototypes.
61458 This patch will enable vector register visibility when AIX FOLKS do
61533 don't think there is a need to do this any more (if there ever was),
61789 describes roughly "how do we ask the target to insert that location".
61795 meaningful, as we ask the target to insert the point at a specific
61802 But tracepoints do have a meaningful address to thems, so they can't be
61804 bp_loc_software_breakpoint, because we don't want GDB to insert
61807 type describes that the way to insert these locations is with
61810 GDB won't try to insert a memory breakpoint for them.
61949 problems when trying to do:
62189 The documentation for the Python Unwinders API could do with some
62431 to make_lplt_section (where we do want sorting).
62656 …* dwarf.c (process_cu_tu_index): Prevent excessive memory allocation when nused is large and ncols…
62687 * dwarf.c (display_debug_lines_decoded): Reduce space for filenames.
62791 gdbarch::displaced_step_buffer_length, this new field will do
62793 buffer size. The max_insn_length field can then do exactly what it
62794 claims to do; represent the maximum length of a single instruction.
62826 that we should do a validity check will achieve that.
62931 So lets do that.
62975 of the getters do have validation, so I think it is reasonable to have
63001 improving this in a later commit, but I don't plan to do that in this
63136 The test-case contains a few tests that do tab completion, which requires
63374 obstack. While this could be cleaned up, I chose not to do so because
63460 https://github.com/IHaskell/IHaskell/issues/636) or do so by accident
63491 https://github.com/IHaskell/IHaskell/issues/636) or do so by accident
63828 wrapping from -1 to 0. Frags in the absolute section don't do much so
63879 message which we do see with native testing:
63889 to test has nothing to do with the message, so it should pass. I only added
63946 remote-stdio-gdbserver, allowing find_gdbserver to do its work, such that we
64189 me to just have the method do all the work.
64534 to. However, we do need this expression in order to select an integer
64702 Instead, allow args in a gdb_caching_proc, such that I can simply do:
64708 Note that gdb_caching_procs with args do not work with the
65186 unconditional reading of ctf, allowing us to do:
65371 annoying to do each time. I think a pretty printer would help. Add a
65470 breakpoint after it's number was set to zero. To do this I created
65566 -break-insert -p 2 main
65702 -break-insert -f -c x==4 mi-pendshr.c:pendfunc2
65812 -break-insert -p 1 bar
65841 lib/mi-support.exp functionality, but I'm going to do that in a later
65928 care to do for COFF/ECOFF.
65965 Since it's not safe to do a 'throw' from a destructor, we simply
66064 do a throw for this case.
66096 language; I made an attempt to do this for gdb_exception_quit in an
66098 (almost certainly) not safe to do so.
66101 a SIGTERM for GDB, nor do we want to force modules written in the
66216 you ever hit Ctrl-C and not have it do anything; if so, it could be
66237 code. However, before it can exit, it must do various cleanups, such
66823 spots in rust-lang.c already do this.
66875 s390x-linux.xml sparc64-linux.xml sparc-linux.xml; do \
67271 * testsuite/gas/elf/dwarf-5-macro.s: Change Line.s to Line2.s.
67359 gdb, python: do minor modernization in execute_gdb_command
67417 earlier patch, I was finally able to do so. My feeling has been that
67555 ARPL do not. Split templates accordingly.
67619 case of the insert script being inserted before the first
67790 No need to read contents if we won't do anything.
67976 we do not get an automatically defined HAVE_LIBCURSES symbol in
67977 config.in. We do have symbols defined by AC_CHECK_HEADERS
68415 - adding a fallback "amd64 epilogue" after the dwarf unwinders,
69030 macros, which of course do nothing at all with the definitions in
69338 from a breakpoint condition. And I didn't want to do it from a Python
69437 we don't. If I do enable that warning, then I see that we're missing
69455 adding another case to that "do nothing" list. If we do need special
69457 time as the feature would uncover it anyhow. If we do miss adding the
69460 to debug whatever they need. So I think that the best thing to do
69461 here is to just remove all those explicit "do nothing" cases, along
69618 When replaying with btrace, record_btrace_frame_sniffer insert entries
69961 terminator instead of a hard-coded newline, and do so early in this
70709 std::unordered_map::emplace to insert the new factory function, and
70776 This commit updates the mips disassembler to do this, and adds a new
70853 Update allow_hipcc_tests so all gdb.rocm tests are skipped if we do not
71032 However, when we walk the demangled hash table we do find some
71409 unwinders at once using "maint set dwarf unwinders on/off".
71414 manually disable the "i386 epilogue", but I take the fact that I have to do
71581 from commands such as `output' that do not produce a new line sequence
71754 Cannot insert breakpoint 0.
71775 It tries to do so by specifying "break 63", which specifies a line in the
71984 Add full display feature to dwarf-mode.el
71985 I've found that I often use dwarf-mode with relatively small test
71992 * I removed a stale FIXME from dwarf-mode. In practice I find I often
71996 * I tightened the regexp in dwarf-insert-substructure. This prevents
72000 * Finally, I've bumped the dwarf-mode version number so that this
72005 * dwarf-mode.el: Bump version to 1.8.
72006 (dwarf-insert-substructure): Tighten regexp.
72007 (dwarf-refresh-all): New defun.
72008 (dwarf-mode-map): Bind "A" to dwarf-refresh-all.
72009 (dwarf-mode): Remove old FIXME.
72375 A few tdep files include block.h but do not need to. This patch
72534 is modified to skip sections that do not have this flag set.
72667 gprofng: fix SIGSEGV when processing unusual dwarf
72952 non-zero, so do that too.
73326 Python Exception <class 'gdb.error'>: Unhandled dwarf expression opcode 0xe1
73477 we do not probe for amd-dbgapi, disable amdgcn support
73559 do some work on the inferior while it's still ptrace-attached, in the
73713 Provide a way for config/obj-* to clean up at end of assembly, and do
73790 To do this I make use of with_override, and override the
73865 gdb/dwarf: rename cooked_index_vector to cooked_index
73873 gdb/dwarf: rename cooked_index to cooked_index_shard
73913 Since commit 7d82b08e9e0a ("gdb/dwarf: dump cooked index contents in
73930 like other methods of cooked_index_functions already do.
73955 Following 7d82b08e9e0a ("gdb/dwarf: dump cooked index contents in
74006 fix file_chain.tail pointer if the insert point happens to be
74139 gdb/dwarf: dump cooked index contents in cooked_index_functions::dump
74596 updating, e.g. after a resize. We could potentially do the boxing in
74747 escape sequences. This means that when we do start printing the
74755 protected, but could be made private, so lets do that.
74869 window in the current layout do we then check all the other known
74904 Ideally we'd do away with this somewhat questionable adjustment (leaving
74976 do the cleanup of bfd memory as in bfd_close_all_done.
75258 exception, and just make it do a simple "send request, read response".
75311 higher priority than the dwarf unwinders in the amd64 and i386 targets:
75372 performance bottleneck to do the computation each time.
75713 doesn't trigger the assert, nor do any of our other existing tui
75723 This is harmless until we then do 'focus next' or 'focus prev', along
75746 tui mode, no longer do unless TERM is set to 'ansi'.
75748 As the gdb.tui/tui-nl-filtered-output.exp script didn't do this, the
75771 tui mode, no longer do unless TERM is set to 'ansi'.
75773 As the gdb.tui/tui-disasm-long-lines.exp script didn't do this, the
76011 Now, let's do "info frame" at each insn in foo, as well as printing $sp
76093 compiled with nodebug, to prevent the dwarf unwinders from taking effect.
76097 dwarf unwinders and bypass the architecture-specific unwinders.
76242 type of the function parameters, in which we do an inferior call. This
76329 used to be possible to select a frame like this and do "up" and "down"
76416 user-created frame_info need to do reinflation, we want them to end up
76437 It will be able to just call create_new_frame and it will do the right
76573 that the test thinks that the "ptype" will not work because I do not
76581 gdb/dwarf: fix UBsan crash in read_subrange_type
76767 would typically do, but matching what ELF linkers may do when processing
76985 PARAM_INTEGER Guile parameter type, however do handle the `var_integer'
77010 I noticed a few spots that include gnu-stabs.h but that do not need
77109 needs the support, the others might not be present in dwarf debug
77299 header is used to do the disambiguation for us, so that WinCE images get
77857 allow_stl_tests, as that was convenient to do at the same time.
78180 So, let's do like x86-64 in a2267dbfc9e1 "x86-64: Use only
78251 do that Automake stops you using RUNTEST, RUNTESTFLAGS and other
78395 truly test this. I did do a mingw cross build, though. I'm going to
78627 (many of them already do). Update a bunch of spots where it wasn't the
79184 track generated files (which we do in the top-level now) and extra
79251 do if binutils followed the gcc coding conventions consistently (see
79281 init.c contains just one function that doesn't do much. Move it to
79282 bfd.c and give it something to do, initialising static state. So far
79527 long section names the intent is to do so for a particular bfd, not
79631 will do the side-effects of decrementing the debug_print_depth global
79710 initialization fails, we do free the gdbarch object that is not going to
79711 be used, and we free the tdep too. Currently, i386 and s390 do it.
79724 instance, and dynamically allocate one as needed, like we do for all
80393 The Python code uses multiple threads to do its work. Separate
80529 yet to materialize. So drop these compile flags since they don't do
81028 * dwarf.c (display_debug_lines_decoded): Display the given
81034 * testsuite/gas/elf/dwarf-5-loc0.d: Update.
81344 gdb/testsuite: new test for recent dwarf reader issue
81678 Not all arches include this in sim-main.h, and the ones that do don't
82188 Clang) do not show such a bug, so the test includes an XFAIL for gcc
82495 Avoid compiler warning in dwarf-do-refresh
82496 The Emacs 28 compiler warns about dwarf-mode.el:
82498 Warning (comp): dwarf-mode.el:180:32: Warning: Unused lexical argument `ignore'
82505 * dwarf-mode.el (dwarf-do-refresh): Avoid compiler warning.
82543 * dwarf.c (display_debug_addr): Combine dwarf5 unit_length checks.
82568 * dwarf.c (fetch_indexed_value): Fail if the section is not big
82605 dynamic symbol table. Since this is a test program only, do it the brute
82933 goto label would not be an unreasonable thing for a user to do.
83009 going to disappear at some point, which is why I didn't do any effort to
83036 * dwarf.c (display_debug_addr): Check for corrupt header lengths.
83318 can do some work depending on the type of target, so it is important
83459 I tracked the problem down to delete_inferior where we do some house
83463 In neither delete_inferior or inferior::~inferior do we call
83521 spotted that in remote.c we do some manual reference count handling,
83637 gdb/testsuite: new test for recent dwarf reader issue
83759 be the case that we want to do some different checks here.
83873 * dwarf.c (struct Frame_Chunk): Make col_offset an int64_t.
84047 gdb/testsuite: fix gdb.trace/unavailable-dwarf-piece.exp with Clang
84049 The gdb.trace/unavailable-dwarf-piece.exp test script was creating a
84262 * dwarf.c (display_debug_addr): Sanity check dwarf5 unit_length
84481 PR29872, uninitialised value in display_debug_lines_decoded dwarf.c:5413
84485 * dwarf.c (null_name): New function.
84535 "static" in i386-gen (we may want to do away with i386_regtab_size
84547 PR29870, objdump SEGV in display_debug_lines_decoded dwarf.c:5524
84549 to break things. There are likely other places in dwarf.c that should
84553 * dwarf.c (display_debug_lines_decoded): Handle NULL file_table
84770 This allows us to do register name lookups to find a particular register
84784 special_function needs to do its own bounds checking before accessing
85048 frame, introduce a function to do that. There is no change in behavior,
85230 For contrast, if we do the same on powerpc64le, the failure mode is:
85268 gdb/riscv: correct dwarf to gdb register number mapping
85339 about extending it to support zstd. I likely won't do that, but
85522 Not so long ago we started to insert these artificially when expanding
85582 with what many of the other libopcode disassemblers do.
85796 However, I don't think there's any reason to do this, because this
85829 does not do this canonicalization, so when it tries to find the symbol
85884 gdb/dwarf: add some QUIT macros
85992 * dwarf.c (display_debug_loc): Adjust holes detections for
86190 if match: do action for S
86923 To explain what GDB is trying to do, consider the following trivial
86942 This disassembler doesn't add any value, it defers back to GDB to do
86969 supplied Python code to do the work.
87240 breakpoint hit and the prompt, which it doesn't do currently (it leaves
87241 that to the callers, but not all of them do).
87346 When I do this:
87450 It's a bit easier to understand what happens if we do a full stepping session:
87704 * testsuite/gas/riscv/insn-dwarf.d: Likewise.
87785 Fix leak in the dwarf reader
87786 Valgrind reports a leak in the dwarf reader (see details below).
87888 we are setup to do the same as in the test-case: interrupt a running inferior
88263 While making the code adjustment also flip order of checks to do the
88386 create_std_terminate_master_breakpoint, but we try to do this a bit more
88482 structures do not have fixed register numbers in their associated
88483 architecture but do describe a block of registers whose numbers are at
88524 * dwarf.c (cmalloc, xcmalloc, xcrealloc, xcalloc2): Make nmemb
88526 * dwarf.h: Update prototypes.
88581 With the recent changes to the dwarf assembler, there is no longer a
88623 was trying to do is done elsewhere.
89042 gdb/testsuite: rewrite gdb.cp/call-method-register.exp with dwarf assembler
89149 Clang so that we do get a build-id.
89166 described in the comment on the function_range proc in lib/dwarf.exp,
89169 # If the compiler is gcc, we can do the following to get function start
89194 And make use of 'proc function_range' (from lib/dwarf.exp).
89196 So, that's what I do in this commit.
89205 inline with what other DWARF assembler tests do.
89231 gdb/testsuite: fix gdb.trace/unavailable-dwarf-piece.exp with Clang
89232 I noticed that the test gdb.trace/unavailable-dwarf-piece.exp was
89257 Currently, the unavailable-dwarf-piece.exp script names the assembler
89273 portable (see the comments in lib/dwarf.exp on function_range for
89292 PR29799 heap buffer overflow in display_gdb_index dwarf.c:10548
89294 * dwarf.c (display_gdb_index): Typo fix.
89809 that we can do:
90549 such that we can do gdb_download_shlib before gdb is started.
90620 (gdb) PASS: gdb.base/foll-exec.exp: insert first exec catchpoint
91039 includes winsock2.h. We don't want to do that on Cygwin, since
91130 "modula-2". But if I manually do "set language modula-2" on a dummy
91188 I also noticed that in case we do an early exit due to !runto_main, we don't
91316 their dwarf representations. This is compounded by Clang not adding linkage
91423 assuming the typedef is private. Since there is nothing that GDB can do
91652 possible to insert a breakpoint in one inferior but not the other.
91782 objects being invalidated, do call prepare_reinflate themselves. And
91846 - the gdb_assert in the reinflate method doesn't actually do anything
91849 frame_find_by_id, so reinflate will not do anything, it won't try to
91922 We do it in the move assignment operator, so I think it makes sense to
91923 do it here too for consistency. I don't think it's absolutely necessary
91952 expansion of gdb.cp/overload.cc because it needed the dwarf assembler,
91989 We already do this for ELF targets, and while fixing the logic
91990 recently I decided other targets ought to do the same.
92072 completely omit the switch table in some cases. Which we'll do in
92113 dynamic linker from function we do not have debug information for. This
92175 Most callers do this already, so adding it to the few that don't.
92189 gdbserver: do not report btrace support if target does not announce it
92403 prompt back, requiring us to do quit once more:
92850 is pretty easy to do now that we're unified.
92862 This matches what we do with targets already.
92911 This is not convenient do diff gdb.sum files to compare test runs.
92994 disassembled names do not match the expected names in the test. This
93095 automake now to do it all for us. As a result, many of these vars
93241 only ports that do it, and it isn't really necessary. Punt it to keep
93270 V850 Linker: do not complain about RWX segments.
93377 use with build-time tools. So split them apart like we do with all
93399 Absent _UNICODE being defined (which gdb's Makefile doesn't do),
93913 Then, in the next commit, it's obvious what to do.
94214 * dwarf.c (add_shndx_to_cu_tu_entry): Delete range check.
94418 declare getopt by including <getopt.h>, "include/getopt.h" does not do
94428 And do the sanity check in a way that can't overflow.
94590 directives do affect instructions.
94596 are different. Besides, always add $x+arch at the start of section, and do
94960 do not. Change the pattern to accept both outputs. This is similar to
95077 therefore we do not know SP fixup for this frame.
95116 [PATCH v4] gdb/arm: Stop unwinding on error, but do not assert
95170 offsets that are monotonic and within a section. To do that properly
95241 So, do away with that, make the default MAXPAGESIZE be 4k (as is default
95274 While at it, remove the bit that consumes the command name and do
95275 exp_continue, it's not really necessary. And for consistency, do the
95285 On openSUSE Tumbleweed I run into this for the dwarf assembly test-cases, and
95299 Fix the dwarf assembly test-cases by adding the missing .note.GNU-stack in
95304 $ for f in $(find gdb/testsuite/gdb.* -name *.S); do
95317 Note that dwarf assembly testcases use %progbits as decided by proc _section.
95379 changes into a table, then do the deletion and symbol table update once per
95841 Currently, when using GDB to do reverse debugging, if we try to use the
96605 wasn't the intent. And I don't think it ever makes sense to do so.
96792 For objfiles that do not have a corresponding so_list to provide the
97015 Since I failed to do so, correct this now.
97153 whereas previous versions do not.
97249 it do nothing for EVEX-encoded insns. This way the AVX-VNNI entries
97452 (gdb) You can't do that when your target is `exec'^M
97532 gdb/arm: Stop unwinding on error, but do not assert
97536 The only sane thing to do in this condition is to stop the unwinding.
97742 current approach is to do the compilation hoping for the best, and if we find
97986 The problem is that we have 64-bit dwarf so the debug_line offset in the
97998 ("[gdb/testsuite] Fix 64-bit dwarf test-cases with -m32") for for instance
98253 later on thinks the print format should change, please feel free to do
98318 But if we do it as two separate commands (file and core) we don't:
98366 the caching doesn't do the distinction of which target is being queried,
98391 target_ops and doesn't do caching (to be used in
98886 this *is* needed for hex escapes, because those do not have a length
99183 Merge both implementations of debug_names::insert
99184 The class debug_names has two 'insert' overloads, but only one of them
99421 an example) and then do "SVC #0"
99598 (dump_lines): ..do so here instead, ensuring loop terminates.
99803 Right now, when using LTO, the intermediate object files do contain
99854 ignore DWARF debug information for -gsplit-dwarf with dwarf-5
99855 Skip dwo_id for split dwarf.
99942 under gcc is that the dwarf generated by gcc links the class to the
99971 * dwarf.c (dwarf_regnames_riscv): Assign DWARF register numbers
100005 do
100125 just like we do for a parallel test run. This makes the parallel and
100136 existing check-single will be renamed do-check-single, then a new
100138 depend on the new do-check-single, or will ensure the 'No matching
100201 supports the intel style, all we need to do is use the 'nasm' lexer
100221 In this commit I do the following:
100663 maintained this behaviour, but I couldn't see any reason to do this.
101132 as they do not provide new CSRs or new instructions ('Smepmp' extends the
101562 * bfd: for addr2line, objdump --dwarf, gdb, etc
101572 is too heavyweight, so don't do it for now.
101604 didn't update gdb-gdb.py.in accordingly, do that.
101809 So what to do? One obvious solution is to remove the warnings.
102079 - The system board files do not set the C compiler anymore,
102865 the past) I can do it and use it here.
102967 * dwarf.c (lookup_symbol_in_function_table): Match a symbol
103004 * dwarf.c (struct funcinfo, struct varinfo): Remove "sec" field.
103066 support this, so GNU as should do the same thing.
103459 - readline interprets the \t as completion, tries to complete, fails to do so,
103608 (bfd_mach_o_fat_archive_p): Sanity check that elements do not
104324 * testsuite/gas/elf/dwarf-3-func.d: Update expected output.
104325 * testsuite/gas/elf/dwarf-5-func-global.d: Likewise.
104326 * testsuite/gas/elf/dwarf-5-func-local.d: Likewise.
104327 * testsuite/gas/elf/dwarf-5-func.d: Likewise.
104362 * dwarf.c (display_debug_lines_decoded): Correctly handle DWARF-5
104647 a .debug_names section, but no .debug_types section. For dwarf-5, the TUs
104690 Add a test-case gdb.dwarf2/debug-names-tu.exp, that uses the dwarf assembler
104697 $ gdb-add-index -dwarf-5 a.out
105186 emulate the two missing CSRs. These new pseudo-registers do the
105215 What I want to do in the next commit is check to see if a target
105342 gdb, dwarf: create symbols for template tags without names
105384 While I do not know of a way to bring GCC to emit template tags without
105444 way to trigger and test this changed behavior. Template functions do
105457 When writing a dwarf testcase for some C++ code I wanted to use the
105458 MACRO_AT_range which in turn uses the function_range proc in dwarf.exp
105509 >> objdump ./a.out --dwarf=info | grep "foo" -A3 -B3
105543 >> objdump --dwarf=info ./a.out | grep foo -A3 -B3
105596 Instead of trying to do validation of the whole archive before
106050 * testsuite/gas/elf/dwarf-3-func.d: Update to allow for newly
106052 * testsuite/gas/elf/dwarf-5-func-global.d: Likewise.
106053 * testsuite/gas/elf/dwarf-5-func-local.d: Likewise.
106054 * testsuite/gas/elf/dwarf-5-func.d: Likewise.
106427 We do that here, so that individual testcases don't have to
106606 with the previous gdbarch. This patch makes it do that.
106664 x86: insert "no error" enumerator in i386_error enumeration
106901 The AVX2 gather ones are nicely grouped - do the same for the various
106965 * dwarf.c (free_debug_information): New function, extracted..
107104 Don't use bfd_size_type in readelf.c and dwarf.c
107254 This patch makes sure that, as we do for breakpoints, we wait until
107278 misnamed since they deal with re-creating invalid objects and do not do
107477 doesn't do these checks.
107889 dwarf: use find_abstract_instance for vars and DW_AT_specification
108042 [gdb/testsuite] Add support for .debug_names in dwarf assembler
108044 - support for a per-module .debug_names section in the dwarf assembler, and
108051 - adding dummy CUs in the dwarf assembler.
108058 than adding that functionality in the dwarf assembler.
108236 $ for n in $(seq 1 10); do \
108372 * dwarf.c (fetch_indexed_value): Return -1 on error.
109300 For the DWARF assembler-based test, add to testsuite/lib/dwarf.exp the
109419 (what I witnessed all compilers do) the same string that was passed to
109449 we fail to do that, things still often work, because of a fallback: the
109699 what compilers do when you compile a file by just passing its filename
109714 gdb/dwarf: pass a file_entry to line_header::file_file_name
109739 gdb/dwarf: pass compilation directory to line header
110009 * testsuite/gas/riscv/insn-dwarf.d: Reflect insn.s update.
110275 kernels (such as RHEL6). This means that GDB is unable to insert
110283 Cannot insert breakpoint 1.
110312 running kernel, enabling GDB to insert breakpoints on these older
111177 cc-with-debug-names on a system with gcc 12.1.1 (defaulting to dwarf 5), I
111190 .debug_types section (which is what you'd expect for dwarf 4).
111199 as we do in create_cus_from_index and create_cus_from_debug_names, and
111332 If any bugs do exist, then GDB will now assert (in a developer build).
111398 to read register from the inferior, to do this we end up calling
111423 I think that there is something we can do here, and this commit is the
111622 can still do this:
111628 respectively, where we unconditionally do this:
111729 $ gdb-add-index -dwarf-5 a.out
111786 * dwarf.c (is_aarch64, DW_CFA_GNU_window_save_name): New.
111802 * dwarf.c (display_gdb_index): Correct use of cu_list_elements.
111817 * dwarf.c (struct abbrev_list): Replace abbrev_base and
111827 binutils/dwarf.c: abbrev caching
111836 * dwarf.c (record_abbrev_list_for_cu): Add free_list param.
111851 miscellaneous dwarf.c tidies
111852 * dwarf.c: Leading and trailing whitespace fixes.
111901 but I'm reluctant to do this as there may have been PyConfig related
112017 When you do "step/stepi/next/nexti N", GDB internally creates a
113405 dwarf regnos 0~31 ==> gdb regs r0~r31
113406 dwarf regno CSKY_HI_REGNUM(36) ==> gdb reg hi
113407 dwarf regno CSKY_LO_REGNUM(37) ==> gdb reg hi
113408 dwarf regno CSKY_PC_REGNUM(72) ==> gdb reg pc
113409 dwarf regnos FV_PSEUDO_REGNO_FIRST(74)~FV_PSEUDO_REGNO_LAST(201)
113413 other dwarf regnos have no corresponding gdb regs to them.
113451 seems off to me. (And, it complicates changes I want to do to
113523 just unpushes, and relies on core_target::close to actually do the
113586 need to do this. But, this could be useful for testing, or, in some
113849 do anything (and be quick about it).
113867 obstack, so that at least those do not leak. A followup patch will
113905 core_optab memory by using a custom hash table del_f on x86, as I do
113950 either do nothing or deallocate memory, and calls them late.
114115 NULL value for the key,value pair. Let str_hash_insert do the job
114502 Fix pedantically invalid DWARF in gdb.trace/unavailable-dwarf-piece.exp
114512 gdb.trace/unavailable-dwarf-piece.exp emits decl_line with
114519 TESTS="gdb.trace/unavailable-dwarf-piece.exp" \
114530 before/after fix for gdb.trace/unavailable-dwarf-piece.exp with that
114803 DW_AT_rank is a dwarf-5 feature.
114918 Support for location and range lists for split-dwarf and dwarf-5.
114919 Adding support for location and range lists for split-dwarf and dwarf-5.
114924 * dwarf.c(read_and_display_attr_value): Handle DW_FORM_loclistx
114931 * dwarf.h (enum dwarf_section_display_enum): Include 2 entries.
114995 array of reloc pointers. Rewrite code stripping relocs to do
115004 Modified changes for split-dwarf and dwarf-5.
115005 * dwarf.c(process_debug_info): Include DW_TAG_skeleton_unit.
115008 (load_separate_debug_files): Skip DWO ID dump for dwarf-5.
115300 * dwarf.c (dwarf_select_sections_by_name): If the entry's value is
115519 What happens is that in break-idempotent.exp we basically do this:
115682 * dwarf.c (display_debug_rnglists): New function, broken out of..
115746 use them for the dwarf registers.
115979 I do not think that this requires a separate configure switch.
115998 * dwarf.c (display_debug_names): Replace assert with a warning
116003 * dwarf.c (read_and_display_attr_value): Check that debug_info_p
116016 doesn't choose the proper SP to do the unwinding.
116027 * dwarf.c (fetch_indexed_string): Do not use length of first table
116168 4 bytes of the initial length (it's 12 bytes because of 64-bit dwarf), as well
116186 Note that this happens to give the right answer for 32-bit dwarf and
116190 Conversely, for 32-bit dwarf and addr_size == 4 (target board unix/-m32)
116270 Fix location list offset address dump under DW_AT_location (dwarf-5)
116271 For clang compiled objects with dwarf-5, location list offset address dump
116276 * dwarf.c (fetch_indexed_value): Add base_address as parameter and
116874 Binutils support for split-dwarf and dwarf-5
116875 * dwarf.c (fetch_indexed_string): Added new parameter
116880 debug_information, do it for do_debug_info also, if its true.
116882 * dwarf.h (struct debug_info): Add str_offsets_base field.
116890 but at least we can do this for the multi-letter extensions in binutils.
116910 CSRs and instructions, which we promised to do before.
117011 * dwarf.c (read_and_display_attr_value): Output DW_FORM_udata
117083 we can do. The input .o name may be the same. The input .a name is not
117109 (ctf_link_add): Document what repeated additions do.
117137 If you do not specify a directory and the file is not found in the
117149 Binutils support for dwarf-5 (location and range lists related)
117150 * dwarf.h (struct debug_info): Add rnglists_base field.
117151 * dwarf.c (read_and_display_attr_value): Read attribute DW_AT_rnglists_base.
117483 actual locations in the program in scenarios that have nothing to do
117580 * dwarf.c (debug_dump_long_opts): Add letter.
117594 * dwarf.c (display_debug_frames): Set col_type[reg] on sizing
117631 do this, so this patch updates this one as well.
117731 do indeed see GDB crash for ARM.
117764 does restrict the type of things that it is possible to do from a
117907 gdb_buffered_insn_length, and to do this I will be creating yet more
118297 * dwarf.c (fetch_indexed_string): Move initialisation of "curr"
118317 (dwarf2_init): ..do so here, along with most other static vars.
118323 (dwarf2_cleanup): ..do so here instead, new function.
118440 file of the target from the stub. When loading, do a little check that
118577 to do now that the contents are private.
118720 do:
119017 the specific language has not been computed, then we do that, and add
119095 gdb/testsuite: remove get_compiler_info calls from gdb.exp and dwarf.exp
119100 This commit cleans up lib/gdb.exp and lib/dwarf.exp a little by
119101 removing some unneeded calls to get_compiler_info. We could do the
119117 do that.
119509 Make them all zero size standard do-nothing howtos.
119547 seemed like a bit of a pain, so I didn't do it.
119570 This patch adds code to do this, and hooks it up to gdb's existing
119634 Remove "-break-insert -r" tests
119636 unimplemented "-r" switch for "-break-insert". This switch was never
119880 $ for arch in i386:x86-64 i386; do \
119930 Given that the compilers allow this as a convience, do the same in gdb
120673 to do so. However, since then we've rewritten the DWARF reader, and
120674 the new index can do this without requiring a shared pointer -- in
120686 displayed is compiler (and dwarf) dependent. While all symbols should
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
120971 Ifx and flang do not emit any debug info for a wrapper main method so
120978 'ptype') they do not generate any symbols inside GDB. In read.c it says
121064 performance for different compilers. For ifx and gfortran I do not see
121176 procedure do recursively test for the compiler version to e.g. set
121198 Newer Intel compilers emit their dwarf type name in a slightly different
121612 To do this I have added gdbpy_fix_doc_string_indentation, a new
121752 Now, when we insert whitespace we get:
121933 serves this exact purpose, and does not need to do it anymore.
122564 * dwarf.c (display_debug_macro, display_debug_names): Pass section
122573 * dwarf.c (display_debug_names): Don't attempt to display bucket
122578 * dwarf.c (display_gdb_index): Combine sanity checks. Calculate
122603 This also fixes the build on hosts such as FreeBSD that do not define
123069 useful to do so in "maint info breakpoints". This approach let's us
123138 To do this, we need to move the ada_catchpoint_location type's
123179 locations are code locations. If we do that, then we can eliminate
123282 * dwarf.c (dwarf_select_sections_by_names): Return zero if no
123285 * dwarf.h: (dwarf_select_sections_by_names): Update prototype.
123290 (main): Do not enable dwarf section dumping for -WK or -WN.
123291 * readelf.c (parse_args): Do not enable dwarf section dumping for
123686 [1] https://github.com/ARM-software/abi-aa/blob/2022Q1/aadwarf64/aadwarf64.rst#dwarf-register-names
123847 A string the first two characters of which do not match "if" also wont
123939 question to do this:
123954 I don't have gcc 9.2 handy, but I do have gcc 6.5, and that one is
124242 table (gdb-generated ones do, but that's more an accident than a
124268 fixes it. If we do that however, the tail end of
124724 /* If we have "typedef struct foo {. . .} bar;" do we want to
124764 The next patch will want to do language->print_type(type, ...), to
124888 And here lies the problem when you try to do "b f(std::string)" with a
124914 logic. If we do just that, then "b f(std::string)" starts working
124917 However, if we do _just_ that, and nothing else, then we break
124921 DMGL_VERBOSE. If we do this, then pre-C++11 ABI symbols works the
125784 I do not have access to a system with the first patch but not the second. I did
126490 connection everywhere except on targets that do reload on run (e.g.,
126533 we do everywhere else (that we don't need to specify an actual
126561 arguments in this way at all. We do in some places do this:
126568 There is also one place where we do this:
126865 initialize_breakpoint_ops does not do much any more, so remove it in
126903 new bp_ constant (which can be quite subtle to do correctly) and a new
127203 later, just because that's what GDB used to do. After
127267 implementation a little bit. Other targets could do the same, but
127419 do: the type cited by the most other types ends up put into the shared
127971 an inline step over breakpoint, we do not want to resume non stepping
128172 confusing to do things differently here.
128229 We could absolutely do that, no problem, but given we know how
128251 I think this is the best we can do when someone builds GDB against an
128388 do about it, so I think we have to adjust the test to cope.
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
128608 gdb/dwarf: remove line_header::header_length field
128615 gdb/dwarf: remove line_header::total_length field
128865 To maintain a behavior similat to what gdb.base/attach.exp used to do,
129142 architectures are registered and we do not have a dependency on the
129217 gdb/testsuite/dwarf: don't automatically add directory and file entry for DWARF 5
129222 ("[gdb/testsuite] Support .debug_line v5 in dwarf assembler")), but in
129307 -break-insert -t 34^M
129663 target backends having to care about this. For good measure, do the
129678 prepare_to_access_memory do nothing, which would cause testsuite
129788 trying to do the next test, DejaGnu tries to match the leftover output
129794 Also do minor adjustments to the main regex:
130012 g_complaint_interceptor->m_complaints.insert (string_vprintf (fmt, args));
130054 intrusive_list do need to access the fields, so they are made friends.
130102 Fix that by using std::vector::insert to insert the items of entries
130126 I can't test them. I was hesitant to do this change because of that,
130161 the other at some point in patch_subfile_names, so it's easier to do
130333 data that is needed is read before trying to do any DWARF indexing in
130482 partial_die_info::fixup, which may do two lookups.
130485 but instead just re-scans them on demand. In order to do this,
130558 have address information, so that the new indexer will know to do
130697 the user to actually insert .file/.line inside such constructs. Note
131222 whether we need to do anything. AFAIK, most implementations do an
131413 Cannot insert breakpoint 1.^M
131513 and my_type which gfortran and flang currently do not de. The
131642 gdb/testsuite/dwarf: simplify line number program syntax
131651 gdb/testsuite/dwarf: remove two unused variables
131695 nothing to do with the symtab's filename.
132275 have some entirely optimized out values that do have contents
132317 The fix is simple, insert a cast to int32_t to force interpretation as a
132378 * dwarf.c (fetch_indexed_value): Rename to fecth_indexed_addr and
132395 * dwarf.h (struct debug_info): Add loclists_base field.
132424 - Extends the dwarf unwinder to track the value of RA_AUTH_CODE.
132622 (some lines omitted for brevity). We do the next:
132664 resume the stepping thread right now. Instead, do it after handling the
132845 shared with the child, that would re-insert breakpoints in the child
132854 6. Clean program_space::breakpoints_not_allowed and re-insert
132861 between steps 4 and 5, the parent won't actually do any progress even
132886 parent. I tried to fix them all, but it's just too much to do at once.
133501 Obviously this can be fixed, but I'd like to not do that as part of
133570 completely, and also do a partial conversion of the x86 disassembler.
133592 I do have an idea about using possibly an environment variable to
133686 we can resolve an array type with dynamic rank. To do this the
133695 on to the dwarf expression evaluator. This rank will only be used in
133774 gdb/dwarf: pass an array of values to the dwarf evaluator
133777 function, which is declared in gdb/dwarf/loc.h and defined in
133778 gdb/dwarf/loc.c.
133783 addr_stack is pushed onto the dwarf expression evaluation stack before
133793 properties of arrays. To do this, we need to push the array rank onto
133794 the dwarf expression evaluation stack before the expression is
133801 dwarf expression evaluation stack.
133815 While examining the dwarf expression evaluator, I noticed that in
133863 If I do 'make tags' in the gdb build directory, the tags target does
133957 do take care to respect the min/max size, but in most cases, these
134101 The problem though, is that when we do a switch more like this:
134344 this will be easier now that all I have to do is add a new test
134394 often cleared, the only way I've found this useful is when I do:
134408 has nothing directly to do with tui debug, but it is worth mentioning
134583 to do it for gdb.
134676 _csi_L - insert line
134856 I am trying to do some changes to buildsym_compunit, so I am auditing
135261 I forgot to do this before pushing the previous commit.
135310 Add the gdb.tui/tuiterm.exp file to do that. All currently supported
135321 - insert character: this control sequence is supposed to insert blank
135325 insert blank characters at the cursor.
135763 couldn't "do the right thing" in this case, in which case, the test
135865 the function name, just like said earlier if() would do when we came
136016 if (addr_hash.insert (target_call_site->pc ()).second)
136128 * testsuite/gas/elf/dwarf-5-irp.d: xfail am33.
136334 already do in the compressed case. Add a new test.
136385 it, we do the same with data symbols: this is redundant right now
136422 With this in place we can do things like run all the libctf tests under
136478 explicit references to Python 2. We could maybe do more there, like
136619 to significantly simplify the scrubber, such that it wouldn't do much
136670 and then we can do the following processes to test:
136717 supported on older kernels that do not support LWP events.
136832 pretty-prints addresses, the user no longer needs to do manual symbol
136870 Fix some stale header names from dwarf files
137132 evaluator throws an error when we attempt to do this.
137141 I wondered, what if we change gdbarch_stap_adjust_register to do more
137150 like we already do in stap_parse_register_operand. But, for x86
137152 name, then do the default action to read the register. Finally, for
137182 what I'm trying to do.
137595 commands. I think it makes sense to do it this way: if it was somehow
138073 before rl_deprep_terminal is called. This is easy to do by using the
138684 the native-gdbserver/native-extended-gdbserver boards, we do have
138687 The right way to check whether the board can do I/O, is via checking
138808 to operand->insert for PPC_OPERAND_PLUS1 when calculating mask.
138847 Fix bug in dwarf-mode.el
138848 I noticed that, occasionally, dwarf-mode would think that the objdump
138854 I've bumped the version number of dwarf-mode.el to make it easier to
138861 * dwarf-mode.el: Now 1.7.
138862 (dwarf--sentinel): Switch to the process buffer.
139103 Looking in gdbarch.py at the code to generate verify_gdbarch we do
139671 * dwarf.c (use_debuginfod): New variable. Set to 1.
139674 (dwarf_select_sections_by_names): Add do-not-use-debuginfod and
139677 * dwarf.h (use_debuginfod): New extern.
139809 This helps gdb locate auto-load scripts when debuginfo files do not have
140040 In C, you can do this by combining the "{}" cast with an array
140162 std::string do the work here, and simply append characters to the
140666 and then we can do the following processes to test:
140807 However, gdb did not do this when it decided to print the constant
140876 This occurs because the tests require inferior I/O which we do not have
141012 /* This is what gdb used to do historically -- printing prompt
141162 lower-bound one as well) do the correct check before calling
141557 which do this, inf_ptrace_target provides is_async_p, async_wait_fd
141677 other callers of target_resume such as target_continue do not enable
141886 It might well be true that we could/should do something smarter if we
141888 do that work, they're welcome too. But this commit is just about
142044 labels do not need large numbers. Small positive itegers are usually
142082 What to do when sh_addralign isn't a power of two
142199 returned, and so on. For this reason, it is unsafe for GDB to try to do
142481 with " -sim3", but do it conditionally for newlib targets. Save
142630 architecture specific styling. To do this, the user would inevitably
142767 in size. We can do better than that. If the data segment instead
143143 encode into the linker, trying to do so causes more harm than good.
143246 we do for all the styling tests. I'm now running all of the C tests
143332 where we call fgetc, glibc will do a single big read, and get back
143377 in many hundreds of characters long. One way to do this is:
143460 file. To correct for this glibc tries to do an lseek call to
143470 do about all this?
143493 input stream out of gdb_readline_no_editing_callback and do it
143596 define do-setup
143608 (gdb) do-setup
143627 (gdb) python gdb.execute("do-setup", False, True)
143641 (gdb) do-setup
144677 Stop the BFD library complaining about compressed dwarf debug string sections being too big.
144680 overlarge dwarf debug info sections.
145216 /git/gdb/gdb/ppc-sysv-tdep.c:1764:34: note: insert an explicit cast to silence this issue
145262 While signal frames on FreeBSD do contain floating point/XSAVE state,
145263 these unwinders do not attempt to supply those registers. The
145264 existing x86 signal frame uwinders do not support these registers, and
145619 The function 'relocate_address' in gdb/stap-probe.c attempts to do
145775 should not be treated as utf-8, but that's what we do, and that's why
146059 do \
146137 ... do Ada stuff
146315 do anything. Plus the automake cygnus option was removed years ago
146371 A few Rust operations do a bit of work in their 'evaluate' functions
146560 makeinfo seems to do the correct things despite these being
147057 * ldlang.c (lang_symbol_tweaks): ..do so here instead and set
147627 * elfxx-x86.c (_bfd_x86_elf_finish_dynamic_sections): Don't do any
148108 MAX_ENTRIES just like we do m_source_map.
148278 * dwarf.c (display_debug_lines_decoded): Don't check the
148285 * testsuite/gas/elf/dwarf-5-loc0.d: Add -W to readelf options.
148810 While at it, do some cleanup:
148894 ways to do the completion: using tab-completion, or using the
148895 'complete' command. To do this, calls to two dedicated functions are
148934 which, if we do the substitution introduced above is equivalent to:
149175 The actual test explicit names do not add much over the command from
149178 Fix by removing the explicit test names across the file where they do
149265 But there are two places where we do this:
149297 that just now. What I do notice though, is that sometimes, texinfo
149322 * dwarf.c: Revert previous delta.
149902 This means that on 4K kernels, we will start to do extra work for 64K
150152 * dwarf.c (load_build_id_debug_file): Remove spurious printf.
151050 remote_target::select_thread_for_ambiguous_stop_reply, where we do
151163 do (via a call to amd64_classify_aggregate_field).
151299 try/catch, so lets do that.
151303 SCOPE_EXIT makes the code safe if, in the future, we do start throwing
151997 …dwarf.c:11300:3: error: format not a string literal and no format arguments [-Werror=format-securi…
152001 * dwarf.c (try_build_id_prefix): Avoid -Wformat-security error.
152026 * dwarf.c (load_build_id_debug_file): New function.
152030 * dwarf.h (enum dwarf_section_display_enum): Add
152256 PR28691, validate dwarf attribute form
152265 Fix this by validating integer attribute forms, as we do for string
152637 GDB to do a single remote protocol call to fetch all the contents in
152638 one go, rather than trying to do lazy fetches for a couple of bytes at
152658 However, for cases where we do have the array contents loaded, and we
152659 do know the bounds of the array, I think we should be using
152770 a helper function of inf_ptrace_target. To do this I will remove the
152910 disassemblers do, not surprisingly, depend on features supplied from
152992 at /export/gnu/import/git/sources/binutils-gdb/binutils/dwarf.c:11057
152995 at /export/gnu/import/git/sources/binutils-gdb/binutils/dwarf.c:11381
153003 * dwarf.c (load_separate_debug_info): Don't return the input
153114 failing to do so. I suppose the intent is that it won't pollute the
153925 Also try to do less hard-coding in the test-case.
154209 do dynamic reloc handling when no reloc section. Save symbol
154508 don't do out of bounds accesses. However, when the array_view is copied
154521 as we do right now. When copying non-trivial data, std::copy and
154529 we do nothing.
154551 host_status_to_waitstatus. Users can then do:
154565 target_waitstatus object. We have to do:
154572 possible to do:
154709 * dwarf.c (process_cu_tu_index): Add test for overruning section
155328 do this.
155834 * dwarf.c (find_debug_info_for_offset): Use dwarf_vma type for
155908 do this 'disassemble 0x0,+4'.
155910 If we instead change the test to do 'disassemble 0x100,+4' then GDB
155933 have this requirement, but, I don't plan to do that any time soon. ]
155980 reply if all we want to do is print it.
156323 we run into another instance of PR28383, where the dwarf assembler generates
156363 files into smaller groups. We'll do that in a followup though.
156410 common step so we only do it once in a multibuild.
156479 same syscall map, but not all, which means we have to do a bit more
156586 So lets create a few stub files that we can do compile tests with
156688 * testsuite/gas/elf/dwarf-5-nop-for-line-table.d: Pass -W to
156991 Make a couple of global variables static in python/python.c. To do
157055 do call target_is_async_p so if GDB starts to misbehave we should
157617 The reason that the CU has 64-bit dwarf is because -gdwarf64 was passed to
157618 gcc. The reason that the .debug_line entry has 32-bit dwarf is because that's
157633 [gdb/testsuite] Support .debug_line v5 in dwarf assembler
157638 Add support for this in the dwarf assembler.
157655 Rather than generate dwarf immediately in procs include_dir and file_name,
157663 [gdb/testsuite] Support .debug_line v4 in dwarf assembler
157667 Generate this field in the dwarf assembler, for now hardcoding the value to 1,
157683 Currently, for each MACRO_AT_range or MACRO_AT_func in dwarf assembly the
157694 up a make check with RUNTESTFLAGS like this to catch all dwarf assembly
157924 [gdb/testsuite] Fix 64-bit dwarf test-cases with -m32
157946 Instead, work around this in the dwarf assembler by emitting:
158504 Pass DEBUGINFOD_CFLAGS when compiling dwarf.c
158509 (dwarf.@OBJECT@): New rule.
159327 libgloss syscalls can be implemented (which we'll do shortly).
159333 but most ports don't do anything with them. A few will use ad-hoc
159444 As discussed here [1], do some re-work in the "set debuginfod commands".
159466 - I would do the same for the "debuginfod urls" setter, but because
160718 * dwarf.c (read_and_display_attr_value): Consume a byte when
160969 continue_1 do not need it, as continue_1 takes care of disabling commit
161082 704 | do { memstalls += ((((long) PC & 3) != 0) ? (n) : ((n) - 1)); } while (0)
161141 do to avoid confusion to most readers.
161396 * dwarf.c (display_debug_frames): Don't print cie offset when
161435 did introduce that, I now don't think it's a good idea to do something
161663 environment when running the tests, but I don't always do it. I think
161697 * dwarf.c (display_debug_loc): Use section name in warnings.
161796 * dwarf.c (display_debug_aranges): Use "end_ranges" in loop
162620 chose to do it this way because this seems to be the only situation
162623 For v2 of this patch, I've also updated memory_error_test to do the
162938 [ I've tried to create a dwarf assembly test-case for this, but didn't
163325 libctf: dump: do not stop dumping types on error
163763 Expecting: ^(-break-insert -f pendfunc1[^M
163768 -break-insert -f pendfunc1^M
163776 -break-insert -f pendfunc1 (unexpected output)
163782 DEF_MI_CMD_MI_1 ("break-insert", mi_cmd_break_insert,
163791 -break-insert -f pendfunc1
164011 target_waitstatus construction. This is what most users appear to do
164441 * dwarf.c (display_debug_ranges): Don't constrain data to length
164496 [gdb/testsuite] Add .debug_loc support in dwarf assembler
164497 Add .debug_loc support in the dwarf assembler, and use it in new test-case
164660 What I do propose to do then, is make m_err_memaddr a gdb::optional,
164933 If we don't do it, GDB's register count won't consider registers contained
165190 return or to wait a bit and do another read, and so on.
165482 kind, which they do indirectly through `field_is_static`. Simply
165957 Only when the inferior point in the gdb.Inferior is not nullptr do
165982 currently always do.
166003 function_range in gdb/testsuite/lib/dwarf.exp. Hence fix this also by
166182 So, what explains the difference? Noteworthy, this is a dwarf assembly
166297 I do:
166330 To do that, do_set_command (in gdb/cli/cli-setshow.c) compares the new
166429 easier to write than with C strings. And they avoid having to do any
166497 is the storage type associated with a given VAR_TYPES in order to do
166741 gdb/testsuite/dwarf: use options for rnglists/loclists procs
166752 gdb/testsuite/dwarf: don't define nested procs for rnglists/loclists
166931 otherwise. They do so in a very inconsisteny mannet, sometimes using
167099 information, but uses the exec containing either dwarf or ctf.
167107 UNTESTED: gdb.base/cvexpr.exp: dwarf: failed to prepare
167247 * testsuite/gas/elf/dwarf-5-loc0.d: New file.
167248 * testsuite/gas/elf/dwarf-5-loc0.s: Likewise.
167249 * testsuite/gas/elf/elf.exp: Run dwarf-5-loc0.
167549 * dwarf.c (display_debug_lines_decoded): Correct indexing used
167600 I haven't implemented it because I'm not sure how to do it, but I think
168010 never do this, and it's pretty easy to institute a policy that we
168170 unnecessary complex, versus just returning a boolean. Modify it to do
168205 Nonetheless, users sometimes do call ctf_lookup_by_name with invalid
168225 These warnings are all off by default, but if they do fire you get
168252 the lack of the CTF_F_NEWFUNCINFO flag in their header, and we do so
168361 Unfortunately the code to do this has a pair of interlocking flaws:
168364 reasonably refuse to do an nm on a device file, but before now this
168381 augmenting whatever the user specified: the nm check should do the
168386 otherwise do the path search as usual. (If the nm specified doesn't
168425 which include -liberty but because it is install-time do not include the
168552 do this we inevitably needing to know the frame_id for frame #0, and
168695 is renamed to get_prev_frame_maybe_check_cycle, and will now not do
168834 source-paths. See binutils/dwarf.c:
168940 …PATH: gdb.perf/backtrace.exp: python sys.path.insert(0, os.path.abspath("/home/pedro/rocm/gdb/buil…
168947 …-PASS: gdb.perf/backtrace.exp: python sys.path.insert(0, os.path.abspath("/home/pedro/rocm/gdb/bui…
168948 …-PATH: gdb.perf/backtrace.exp: python sys.path.insert(0, os.path.abspath("/home/pedro/rocm/gdb/bui…
168952 …+PASS: gdb.perf/backtrace.exp: setup perftest: python sys.path.insert(0, os.path.abspath("${srcdir…
169027 A typical dwarf assembly test-case start like this:
169050 function_range, which may even be triggered by dwarf assembly like this:
169061 be called at the start of the dwarf assembly body:
169067 - do a prepare_for_testing with $srcfile (roughtly equivalent to what
169075 - do a gdb_exit. ]
169091 # onwards default GCC to using fPIE. If you do require fpie, then
169251 machine the testsuite ran on. On a local machine one can just do
169259 We could do this at the start of each test run, by putting it into unix.exp
169265 only place in the testsuite where we do not test gdb. [ Though perhaps this
169279 language.c. However, it really has to do with types, so it should
169418 The test-case intends to emit an UNTESTED in this case, but fails to do so
169419 because it tries to do it in a regexp clause in a gdb_test_multiple, which
169496 using "maint set dwarf unwinder on/off".
169535 uses of this parameter, something I knew I'd have to do multiple
169588 -verbose, such that we can do:
169662 We could just do a clean_restart every time, but that would amount to 44 gdb
169666 For those procs, we do a clean_restart, execute the proc, and then do a
169677 which case we do run into the error.
169772 This makes it f.i. possible to do:
169785 Change register_test to use std::function arg, such that we can do:
170085 where the compiler does not emit a .file or .loc dwarf debug directive
170088 a dwarf debug directive. The dwarf .file has a file number before the
170456 in the comment of proc function_range in gdb/testsuite/lib/dwarf.exp.
170507 here, our caller will do that.
170637 of which the ones at 0xc7 and 0x145 are dummy CUs (that is, they do not
170639 "[gdb/testsuite] Add dummy start and end CUs in dwarf assembly".
170815 and consequently we do this in print_insn:
171095 Add a proc string_list_to_regexp to make it easy to do both:
171139 * testsuite/gas/elf/dwarf-5-file0-2.s: Use %object rather than
171163 * testsuite/gas/elf/dwarf-5-file0-2.d: New file.
171164 * testsuite/gas/elf/dwarf-5-file0-2.s: Likewise.
171165 * testsuite/gas/elf/elf.exp: Run dwarf-5-file0-2.
171224 Doing this fix, it made sense to do a refactoring of adding f2_re and f3_re
171358 (and many do) define all sorts of weird & common names that end up
171390 definitely should be fixed in this way, lets do that now and unblock
171473 up proper APIs in the common code first, or use standard libraries to do all
172272 CC_FOR_TARGET, do so in CFLAGS_FOR_TARGET instead.
172317 * testsuite/ld-elf/dwarf.exp: Likewise.
173047 $ gdb -q -batch $shlib -ex "save gdb-index -dwarf-5 ."
173074 dwarf assembly" we had in exec outputs/gdb.dlang/watch-loc/watch-loc a D
173156 to missing .debug_aranges entries for the CUs added by the dwarf assembler.
173164 [gdb/testsuite] Support .debug_aranges in dwarf assembly
173165 Add a proc aranges such that we can generate .debug_aranges sections in dwarf
173182 We can use current dwarf assembly infrastructure to declare a label that marks
173210 Add a label option to proc cu such that we can simply do:
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
173393 [gdb/testsuite] Add dummy start and end CUs in dwarf assembly
173411 This difference has caused me to find some errors in the dwarf assembly
173424 * lib/dwarf.exp (Dwarf::dummy_cu): New proc.
173603 similar to what we would do in the context of the "Start of New
173963 It turns out we do need to backtrack when parsing after all. The
174005 "extern" not do so either.
174038 the need to do so for phdrs like ":text". Instead {WILDCHAR}*
174103 On my platform, I do not have debug symbols for glibc, so I need to rely
174133 hitting 0x0000003ff7fc42e6 (<+8>) because it does not know what to do
174158 after the RA register is saved. I do not have a reliable way of
174216 now it is temporarily removed to allow me to do other supported tests.
174270 bfd/elf.c. If needed, we can do it in the future.
174439 backtrace_symbols_fd suggests, however, even when I do add -rdynamic
174506 lets do that.
174817 do so, we iterate on all threads using iterate_over_threads with the
174910 * testsuite/gas/elf/dwarf-5-dir0.s: New test source file.
174911 * testsuite/gas/elf/dwarf-5-dir0.d: New test driver.
174913 * testsuite/gas/elf/dwarf-5-file0.d: Adjust expected output.
175084 shared library individually in gdb (and consequently baseaddr == 0), we do see
175437 value object that describes a location. To do this, the method requires
175531 logical step is to make a clean user interface for that class. To do
175860 actually doing what they are intended to do. This subclass contains
175878 that what the evaluator is supposed to do considering that the evaluator
175887 The thing that makes more sense for an evaluator to do, is to take the
176130 to do an expression analysis seems to be an unneeded overhead. It also
176177 * lib/dwarf.exp (_location): Handle DW_OP_fbreg.
176399 threads have had a chance to do "something bad" if they are going to.
176457 for gcc. Other macro tests such as gdb.base/macscp.exp do perfectly
176568 linking, or the input bfd when not. This patch arranges to do that
176641 I implemented this because I needed it during debugging, to be able to do:
176730 target would get notified of the fork and do whatever is needed. But
176738 makes sense as a way to indicate "this inferior has called fork, do
176740 inferior is created for the child, do we need to detach from the child)
176747 parent's target stack do some fork-related handling and push
176763 thread (just like we do for follow_exec).
176992 dw2-using-debug-str-no-debug-str executable. When loading the latter, a dwarf
176998 dwarf error is triggered, which causes the FAIL.
177025 The test expects the dwarf error, but has no matching pattern for the entire
177349 is not correct. Well, it's correct in that we do want the number of
177769 coding the flag to false as we currently do.
177775 [gdb/symtab] Fix unhandled dwarf expression opcode with gcc-11 -gdwarf-5
177787 Unhandled dwarf expression opcode 0xff^M
177822 In gdb/dwarf/attribute.h we have:
177837 "Unhandled dwarf expression opcode 0xff".
177847 Fix the dwarf error by translating the DW_FORM_data16 constant into a
178080 do is:
178534 see a logic at all. That makes it very difficult to do any kind of
178537 so that we can understand what is going on, do some cleanups and add new
178681 (which a subsequent patch will do) without fear of impacting another part
178726 I have also improved the code that used to do this:
178900 unix/gdb:debug_flags=-gdwarf-4, so this is not a dwarf 4 vs 5 issue. ]
179008 dwarf-5] undefined static member removed by
179386 that do require the global current thread to be set, then it needs to
179586 filter. In this case, we don't do any filtering, but if in the future
179759 follow_fork_inferior doesn't need to do it itself, so those calls to
179804 components of GDB do their thing.
179943 * dwarf.h (struct dwarf_section): Add XCOFF name.
179944 * dwarf.c (struct dwarf_section_display): Update.
180048 I do not think this change will cause regressions on any other
180147 all GCC ports do).
180236 Stepping back a bit, why do we still have open remote files if we've
180247 to do, and we don't try to talk with the remote target anymore.
180343 gdb, dwarf: Don't follow the parent of a subprogram to get a prefix.
180420 which doesn't do it. Fix this by adding a scoped_disable_commit_resumed
180505 - if filter_ptid is minus_one_ptid, do as we do now: filter inferiors
180571 same technique is used: do a first pass to count the number of
180572 candidates, and do a second pass to select a random one. But given that
180603 status, we can do this check efficiently, by checking whether that list
180615 status to report is something that we do quite often in the fast path
180789 longer possible to do it at this point. To fix that, move the call to
180804 A following patch will want to do things when a thread's resumed state
181104 PR28069, assertion fail in dwarf.c:display_discr_list
181105 We shouldn't be asserting on anything to do with leb128 values, or
181108 It would only make sense to assert or report dwarf.c/readelf.c source
181127 * dwarf.c (display_discr_list): Remove assertions. Delete "end"
181133 * dwarf.h (report_leb_status): Don't report file and line
181598 error: expected identifier or '(' before 'do'
181599 165 | # define textdomain(Domainname) do {} while (0)
181603 165 | # define textdomain(Domainname) do {} while (0)
181606 error: expected identifier or '(' before 'do'
181607 166 | # define bindtextdomain(Domainname, Dirname) do {} while (0)
181611 166 | # define bindtextdomain(Domainname, Dirname) do {} while (0)
181839 similar to what we would do in the context of the "Start of New
182038 gdb_test_lines, such that we can do:
182357 * dwarf.c (get_type_abbrev_from_form): Add cu_end parameter.