Lines Matching +refs:po +refs:confirm +refs:and +refs:quit
3 …x86: testsuite: scfi: adjust COFI testcase and gas: scfi: untraceable control flow should be a ha…
7 Updated French translations for GOLD and LD
25 …Backport commits 969f5c0e1 (LoongArch: gas: Add support for s9 register) and a0aa6f4ab (LoongArch:…
34 Groups entries by architecture, and update AArch64 content.
38 version dependencies, add missing architecture extensions, and improve some
60 LoongArch: Fix some test failures about TLS desc and TLS relaxation
66 linked executables will be different and the immediate operands in
99 This matches the dependencies in the architecture, in LLVM, and even in the
122 Gas testing may fail if gas and gprofng tests are run in parallel.
142 Updated Serbian translations for th bfd, gold and opcodes directories
172 the earlier VEX-encoded insns, and hence can be used to permit use of
197 In LoongArch psABI v2.30, an offset (-8 for LO20 and -12 for HI12)
228 Update x86-64: Add -z mark-plt and -z nomark-plt
263 Update version number and regenerate configure files
296 [-256,255] and `index' the values 0 or 1.
301 Along with the relevant unit tests and updates to the existing
340 indexing offset quantity and offset mode is allowed - The value is
342 operation and the offset is post-indexed for Load-Acquire RCpc, and
352 In the case of loads and stores involving SIMD/FP registers, the
364 aarch64: rcpc3: Define address operand fields and inserter/extractors
365 Beyond the need to encode any registers involved in data transfer and
367 the data register addressing mode and whether the address register is
368 to be pre/post-indexed, whereby loads may be post-indexed and stores
371 The use of a single bit to specify both the indexing mode and indexing
373 address operand insertion in assembly and another for extraction in
384 It extends the `do_special_{encoding|decoding}' functions and defines
400 source or destination registers and their respective qualifiers.
429 aarch64: Fix tlbi and tlbip instructions
432 *nxs operations, and use the F_REG_128 flag to filter tlbi operations that
434 to reduce duplication between the 'nxs' and non-'nxs' variants, and added a
443 Add an aarch64_feature_set field to aarch64_sys_ins_reg, and use this for
459 Add generated source files and fix thinko in aarch64-asm.c
467 ld2q, ld3q and ld4q, st1q, st2q, st3q and st4q.
469 Regression testing for aarch64-none-elf target and found no regressions.
478 PATCH 5/6][Binutils] aarch64: Add SVE2.1 fmin and fmax instructions.
482 fmaxnmqv, fmaxqv, fminnmqv and fminqv.
484 Regression testing for aarch64-none-elf target and found no regressions.
493 aarch64: Add SVE2.1 dupq, eorqv and extq instructions.
496 This patch add support for SVE2.1 instruction dupq, eorqv and extq.
498 Regression testing for aarch64-none-elf target and found no regressions.
514 addqv, andqv, smaxqv, sminqv, umaxqv, uminqv and uminqv.
516 Regression testing for aarch64-none-elf target and found no regressions.
528 This patch add support for FEAT_SME2p1 and "movaz" instructions
532 Move and zero two ZA tile slices to vector registers.
533 Move and zero four ZA tile slices to vector registers.
535 Regression testing for aarch64-none-elf target and found no regressions.
547 This patch add support for SVE2.1 and SME2.1 non-widening BFloat16
550 Following instructions predicated, unpredicated and indexed
554 bfmla,bfmls,bfmul and bfsub.
556 Regression testing for aarch64-none-elf target and found no regressions.
585 - Untraceable stack-pointer manipulation in function epilougue and prologue.
601 In case of (#2) and (#3), SCFI generation is skipped for the respective
777 - All change of flow instructions, including all conditional and
778 unconditional branches, call and return from functions.
779 - All register saves and unsaves to the stack.
782 register for CFA tracking is limited to REG_SP and REG_FP only for
788 number of source operands and one destination operand at this time.
789 - GAS instruction uses DWARF register numbers in its representation and
791 - GAS instructions carry location information (file name and line
798 GINSN_TYPE_PUSH and GINSN_TYPE_POP. Some architectures, like aarch64,
799 do not have push and pop instructions, but rather STP/LDP/STR/LDR etc.
801 modes, like offset, pre-indexing and post-indexing etc. Among other
806 GINSN_TYPE_ADD, and GINSN_TYPE_SUB may be used.
808 The functionality provided in ginsn.c and scfi.c is compiled in when a
809 target defines TARGET_USE_SCFI and TARGET_USE_GINSN. This can be
830 stack usage (and hence, the value of REG_SP) must be known at all times.
836 and analogous instructions in epilogue.
837 - Save and Restore of callee-saved registers must be symmetrical.
841 These heuristics/rules are architecture-independent and are meant to
847 * as.c (defined): Handle documentation and listing option for
848 ginsns and SCFI.
876 * gas/listing.h (LISTING_GINSN_SCFI): New define for ginsn and
909 opcodes: gas: x86: define and use Rex2 as attribute not constraint
914 currently necessitate both Rex2 and an implicit stack op marker; this
940 * Makefile.am: Add new files to GAS_CFILES and HFILES.
962 - define TARGET_USE_SCFI and TARGET_USE_GINSN, and other necessary
970 mature and robust. The offering may also see for example, an
972 future. In --scfi=inline option, the GNU assembler may consume (and not
1026 The code in dw2gencfi.c was checking variable cfi_sections and
1041 gas: dw2gencfi: minor rejig for cfi_sections_set and all_cfi_sections
1043 it to true again in other APIs (dot_cfi_endproc, dot_cfi_fde_data, and
1048 * dw2gencfi.c (cfi_set_sections): Set cfi_sections_set and
1092 using variables, and by using -wrap.
1095 - gcc and clang (to trigger both the has_stderr_symbol true and false cases)
1096 - make check and make check-read1.
1112 The question is supposed to be handled by the question and response arguments
1118 but both this and the builtin handling in gdb_test_multiple triggers.
1138 Per RISC-V spec, the lr/sc sequence can consist of up to 16 instructions, and we
1141 and now supports more complex pattern detection.
1168 overview and caller-callee parts of the code.
1169 The fix consists of new regular expressions and a different approach
1235 thread, and then, later in the test, expects this Python object to
1244 thread to be first in the list, and "other" threads to appear ... not
1247 However, the gdb.Inferior.threads() function creates a list and
1249 list has no obvious relationship to the thread creation order, and can
1253 me. For others the ordering was not as expected, and it just happened
1257 gdb.InferiorThread object never became invalid, and the test failed.
1261 is only one inferior thread), and then finding any thread that is not
1267 The test still passes for me, and I believe this should fix the issue
1329 gdb/doc: update examples in gdb.Progspace and gdb.Objfile docs
1330 This commit updates the Python example code in the gdb.Progspace and
1337 unbreakable chunks, and
1350 and gdb.InferiorThread, this is similar to the existing support for
1351 gdb.Objfile and gdb.Progspace.
1361 current GDB attributes start with a lower case letter, and I suspect
1362 all future attributes would also start with a lower case letter, and
1366 clearly the user would need to start and end with a double
1370 existing gdb.Objfile and gdb.Progspace so they all reference a single
1379 The gdb.Objfile, gdb.Progspace, gdb.Type, and gdb.Inferior Python
1405 The gdb.Objfile, gdb.Progspace, and gdb.Type Python types already have
1442 created invalid, and there is no way in which the new object can ever
1532 specific representation into a utility function, and then update all
1538 it references a frame, and it is the frame itself which is invalid.
1554 But has been modified by me. Credit for the original idea and
1558 Consider the executable `/tmp/foo/my_exec', and if we assume `/tmp' is
1564 and then hit TAB, GDB completes this to:
1578 offered via readline, but are handled entirely within GDB, and so
1585 options (which have still not been added to GDB), and was mixed in
1588 This patch pulls out just the fix for the trailing "/" problem, and
1613 So in this commit I've gone through completion-support.exp and added a
1622 The procedure added the regexp ' +' after each completion, and then
1624 expected to match the name of two functions 'f1' and 'f2' the
1629 However, if we complete two directory names 'd1' and 'd2' then the
1680 and consequently on aarch64-linux I ran into an UNSUPPORTED followed by 3
1688 Tested on x86_64-linux and aarch64-linux.
1715 x86: Fix indentation and use true/false instead of 1/0
1734 change gdbarch_value_to_register to take the next frame, and later
1737 Add a test based on the DWARF assembler to expose the problem and test
1756 function bar having entry points foo and foobar:
1771 it ends up in foobar instead of in foo, due to prologue skipping, and
1780 Tested on ppc64le-linux and x86_64-linux.
1807 - checkpoint 0 (the fork parent, process A), and
1810 all file descriptors, and it returns != -1 for at least one file descriptor.
1819 the current inferior and current thread which where originally representing
1821 thread_info fields executing and resumed are set accordingly, but they are not
1825 stop_pc, so fix this by adding similar fixups for the executing and resumed
1859 We don't want to fallthru and use cooked_buf when we haven't initialized
1868 The m32r trap code was written for a 32-bit Linux host (and really, one
1870 between integers and pointers which breaks down hard on 64-bit hosts.
1874 pointers in some places, and just stub out a few functions that can't
1887 The ftime() function has been deprecated since POSIX-1-2004, and
1889 since 2.33. POSIX has always said the function is not portable, and
1890 its return value, timezone, and dstflag fields are unspecified. Even
1894 So let's stop using the function and switch to clock_gettime. gnulib
1895 already has detection support for it, and it's been around since at
1939 This is used by gdb, gdbsupport, and gdbserver. We want to use it
1955 In addition to the sources and a make file, a sample script how to make
1999 Sync top level configure and makefiles
2033 independent make processes inside the "gcc" directory, and each of those
2034 will attempt to create site.exp if it doesn't exist and will interfere with
2050 '@rpath/libraryname.dylib' in library names and then to add an
2051 embedded runpath to executables (and libraries with dependents).
2072 does not work and off for Darwin 8 or earlier. For systems that can
2116 gas: aarch64: Add system registers for Debug and PMU extensions
2165 But the pc address (as well as the file name and line number) is missing for
2211 - deferred if the parent_entry is not yet known, and done later while
2214 Instead, create all cooked_index entries immediately, and keep track of which
2225 Make cooked_index_entry::parent_entry private, and add member functions to
2228 Tested on x86_64-linux and ppc64le-linux.
2235 Make cooked_index_storage::add and cooked_index_entry::add return a
2238 Tested on x86_64-linux and ppc64le-linux.
2289 DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT dynamic tags by
2292 * NEWS: Mention -z mark-plt/-z nomark-plt and --enable-mark-plt.
2306 When -z mark-plt is used to add DT_X86_64_PLT, DT_X86_64_PLTSZ and
2318 and R_X86_64_JUMP_SLOT. Since linkers always set their r_addends to 0, we
2397 not \0-terminate, and also would return the wrong pointer
2427 In da0784f961d8 ("x86: fold FMA VEX and EVEX templates") I overlooked
2428 that C aliases StaticRounding, and hence build_vex_prefix() now needs to
2438 the wording has always remained the same. In particular ELFv1 and ELFv2
2455 declarations. GCC before 7 did have <cpuid.h> header and bit_SHA define
2456 and __get_cpuid function defined inline, but it didn't define
2457 __get_cpuid_count, which compiled fine (and the configure test is
2483 expected, and like every other variant already does.
2486 sparc-sun-solaris2.11, x86_64-pc-linux-gnu, and
2495 Per https://github.com/itanium-cxx-abi/cxx-abi/issues/24 and
2505 and C++11 patterns, so I've limited template_parm_natural_p to avoid two
2535 Demangler support and test coverage is not complete yet.
2563 Tested on i386-pc-solaris2.11 with as and gas.
2580 but the body of sha1_hw_process_block and sha1_choose_process_bytes
2592 with the correct versions (automake 1.15.1 and autoconf 2.69).
2617 case of error), and don't use a macro that changes control flow.
2620 in/out/errdes on error, and check close() for errors.
2630 the usual late checking and can lead to hard errors, so let's not do that
2648 mangling ABI doesn't distinguish between class and namespace scopes.
2655 This patch adds support for FEAT_THE doubleword and quadword instructions.
2657 instructions are enabled on passing both "+the and +d128" flags.
2660 Read check write compare and swap doubleword:
2662 Read check write compare and swap quadword:
2664 Read check write software compare and swap doubleword:
2666 Read check write software compare and swap quadword:
2701 optional register operands for the `tlbip' and `sysp' instructions,
2716 aarch64: Add support for 128-bit system register mrrs and msrr insns
2719 is introduced with the `msrr' and `mrrs' instruction pair.
2722 contiguous general-purpose registers and vice-versa, as for example:
2729 form of `AARCH64_OPND_SYSREG128' and the `aarch64_sys_reg_128bit_p'
2744 invalidate (TLBI) operations and barriers can also be annotated with
2753 …[1] https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-…
2758 The addition of 128-bit page table descriptors and, with it, the
2766 aarch64: Create QL_SRC_X2 and QL_DEST_X2 qualifier macros
2767 Some 128-bit system operations (mrrs, msrr, tlbip, and sysp) take two
2768 qualified operands and one of unqualified type (e.g. system register
2772 This patch therefore introduces the `QL_SRC_X2' and `QL_DST_X2' qualifier
2773 specifiers, which expand to `QLF3(NIL,X,X)' and `QLF3(X,X,NIL)',
2779 While CRn and CRm fields in the SYSP instruction are 4-bit wide and
2782 CRm and 0-7 in the case of CRn.
2813 addition of the `tlbip' and `sysp' instructions, no mnemonic allowed
2834 it is impossible to mark both operands 1 and 2 as optional for an
2835 instruction and it is assumed that a maximum of 1 operand can ever be
2842 define the `F_OPD_PAIR_OPT' flag and calculate its position in the
2859 Analysis of the allowed operand values for `sysp' and `tlbip' reveals
2864 For instructions `casp', `mrrs' and `msrr' the register pair must
2865 always start at an even index and the second register in the pair is
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
2879 and not n+1.
2885 It is used in defining `sysp' and `tlbip' and allows
2897 and by extension the need to encode 6 assembly operands, extend
2905 Page Table Descriptors, 128-bit System Registers and Instructions,
2938 maintained independently from here, and the lists are out-of-sync
2952 and task sizing.
2955 haven't done so here. This one seemed less intrusive and perhaps more
2965 /* If currently in Ada mode, and the lookup name is wrapped in
2977 In the JIT code, and in create_exception_master_breakpoint_hook, gdb
2979 linkage name. Changing the lookup here is clearer and probably more
2984 scheme, and also may trip over versioned symbols) -- but we know that
2985 this spot is C++-specific, and so the language ought to be temporarily
3008 decide the "static context" and the initial language. With background
3027 so both it and quick_symbol_functions::can_lazily_read_symbols can be
3038 dwarf2_has_info and dwarf2_initialize_objfile are only separate
3065 After the patch, more work is done in the background and so this takes
3086 and never in the cooked_index_shard. Centralizing this decision makes
3106 and then call a function when all the tasks have completed.
3123 worker, and then the resulting complaints are treated as one of the
3132 This avoids any races when multiple threads might open a BFD (and thus
3137 locking that's required is when opening DWO files, and there's a local
3142 DWARF reader and other code on the main thread to both attempt to open
3155 This changes the DWZ code to pre-read the section data and somewhat
3164 accesses a shared data structure and so would be racy when used from
3166 background reading could provoke this, and in any case it's better to
3177 This logic dates back to the original import, and seems to be for
3182 Some compilers don't understand the semctl API and think it's an input
3183 argument even when it's used as an output, and then complains that it
3186 small stack buffer, and shouldn't be that relevant relative to all the
3203 The cgen code uses DI as int64_t and UDI as uint64_t. The DI macros
3205 and high parts). The MAKEDI macro casts the high 32-bit value to a
3210 to shift into), and the low 32-bits being empty. This is what we
3216 value, those high bits would get included too, and that's not what
3232 The implementation was based on comments and code in LLVM, as the GNU
3242 Currently, only mipsisa32-linux and mipsisa32el-linux is marked
3257 arm: Add support for Armv8.9-A and Armv9.4-A
3258 This patch adds AArch32 support for -march=armv8.9-a and
3261 and tables.
3263 The cpu_arch_ver entries for ARM_ARCH_V9_4A and ARM_ARCH_V8_9A
3271 trcitecr_el1, trcitecr_el12, trcitecr_el2 and trciteedcr.
3305 or to aarch64linux.sh with Linux-specific logic removed; and mainly different
3339 - builds two versions of two shared libs, a "right" and "wrong" version, the
3342 - uses the "wrong" version to interpret the core file, and
3390 replace S with L on adcx and adox.
3397 * testsuite/gas/i386/suffix.s: Add tests for adcx and adox.
3404 (prefix_table): Replace S with L on adcx and adox.
3427 The condition & swap code decoder only checks known bits and sets
3441 ld: Adjust x86 and x86-64 tests for -z mark-plt
3443 non-zero r_addend for JUMP_SLOT relocation and pass -z nomark-plt to
3487 One item was too strict for PE/COFF, and there's really no need to check
3522 - table generation didn't take into account CpuAttrUnused and CpuUnused
3523 being independent, and hence there not always (not) being an "unused"
3529 Various targets have / had overrides for .text and/or .data. Make sure
3542 Only ELF permits the specification of a subsection, and even there not
3543 consistently: csky, mcore, and spu handle .bss similar to .lcomm.
3547 ELF and COFF have; afaict doing so broke .previous on ELF, and a sub-
3552 visium: drop .bss and .skip overrides
3585 The comment looks bogus (perhaps simply stale), and there are also no
3602 microblaze: drop/restrict override of .text, .data, and .bss
3605 unlikely to be a good idea anyway and prevented the sub-section
3606 specifier from being usable. Don't override .text and .data at all - for
3607 .data and ELF for the same reason, while for .text and ELF obj-elf.c's is
3608 all we need, and for (hypothetical) non-ELF read.c's identical handling
3612 The comment looks bogus (perhaps simply stale), and there are also no
3623 ELF and COFF have. While in this case interaction with ELF's .previous
3638 from Arm in the first place), and there are also no other precautions
3640 to be a good idea to override the custom handlers that ELF and COFF
3650 The comment looks bogus (perhaps simply stale), and there are also no
3653 ELF and COFF have (afaict doing so further broke .previous on ELF).
3707 "vsetvl" in the XTheadVector extension consists of SEW, LMUL and EDIV,
3712 further encoding issues are there, and and execute all compiled test
3713 files on real HW and make sure they don't trigger SIGILL.
3766 When GDB is debugging the AArch64 architecture, and the program is using the
3792 bfd/ax_tls.m4, and adds gprofng to dirs handled automatically, then
3800 4) Check out */po/*.pot which we don't update frequently.
3804 Synchronize config.sub and config.guess with their upstream master versions.
3817 commit be68d790b6bc7dd84982fa6760f1448e92849e63 config.sub: Add Apple tvOS and watchOS
3824 and JIRL instructions. The assembler produces something like:
3832 If "g" is a data symbol and ld with -shared option, it may load two
3839 and STT_GNU_IFUNC symbols.
3872 the places in GDB where we catch an error and repackage the message
3886 parser errors, and all of these functions are basically identical.
3893 error output, and all the expression parsers will benefit.
3895 This commit is pure refactoring though, and so, there should be no
3906 object and often combined with other output, it's not immediately
3926 The loongarch*-elf target does not support SHARED and PIE, so this
3932 Suppose we want to use la.got to generate 32 pcrel and
3935 use -mabi=ilp32*, and to generate 32 abs use -mabi=ilp32*
3936 and -mla-global-with-abs.
3939 also satisfy 32 pcrel, using -mabi=ilp32* and -mla-global-with-abs
3942 By modifying the conditions for macro expansion and adjusting
3959 operates on two strings and not an actual filter object, and it's
3980 Add standard multiple inclusion protection, and add a few missing
3995 that defines all APIs and causes hard to untangle dependencies.
4027 can move compilation itself up, and makes it easier to review.
4047 Fix GDB reverse-step and reverse-next command behavior
4127 So far so good, a "next" stepped over the whole of line 11 and stopped at
4130 Let's confirm where we are now:
4192 to verify this fix when the line table information is and is not available.
4196 PowerPC and aarch64: Fix reverse stepping failure
4198 the ppc backend), there are failures in gdb.reverse/solib-precsave.exp and
4226 When stepping forward from line 40, we skip both of these ranges and land on
4241 Patch has been tested on PowerPC, X86 and AArch64 with no regressions.
4245 Add gdb_compile options column-info and no-column-info
4248 options are supported on clang and gcc version 7 and newer.
4250 Patch has been tested on PowerPC with both gcc and clang.
4265 use the epilogue begin directly, and only if an epilogue can't be found
4284 move it to ppc/acinclude.m4 and include it directly in the top-level
4285 configure script and kill off the last subdir configure script.
4305 Now that the ppc script only checks configure options and sets up
4311 custom ppc config.h and reuse the common one.
4314 The common sim code doesn't snoop in gdb/, and the ppc code doesn't
4326 boilerplate and matches what we do in the top-level platform checks.
4330 the build and make it easier to move to the top-level configure.
4340 Now that the sysv tests turn into config.h defines and everything
4341 checks that, we can move the tests to the top-level and out of the
4349 to the top-level build, and matches what we did with the common/ hw
4365 portable, and works correctly even when cross-compiling.
4371 define to before the semaphore check, and use it in the test so that
4381 The first arg is the cache var name, and this one was typoed relative
4397 so delete the ppc code and pull in the common one. There is one
4404 Switch to an ERROR macro and tweak the error signature to match the
4431 and avoids recursive make. This in turn speeds up the build, and lets
4435 This header is only used by the igen tool, and none of the igen code
4451 registers, but it does so incrementally with bit operations, and it
4507 and consequently doesn't handle the pipe2 syscall number.
4556 arg delimiter, and thus can be part of the arg.
4615 Fortran provides additional entry points for subroutines and functions.
4622 this tag. Both, ifx and gfortran use the DW_TAG_subprogram tag as
4628 ifort compiled example at the entry points 'foo' and 'foobar', which was not
4631 As gcc and ifx do not emit the tag I also added a test to gdb.dwarf2
4632 which uses some underlying c compiled code and adds some Fortran style DWARF
4696 Add tls le relax related relocs support and testsuites in gas.
4701 and tls le insn format check.
4736 Add tls le relax support and related relocs in bfd.
4779 the XTheadVector extension and to be as compatible as possible
4817 Handle R_X86_64_CODE_4_GOTTPOFF and R_X86_64_CODE_4_GOTPC32_TLSDESC.
4828 and
4847 R_X86_64_CODE_4_GOTPC32_TLSDESC and R_X86_64_CODE_4_GOTTPOFF.
4878 and for
4887 They are similar to R_X86_64_GOTTPOFF and R_X86_64_GOTPC32_TLSDESC,
4893 and GOTPC32_TLSDESC to
4903 R_X86_64_CODE_4_GOTTPOFF and R_X86_64_CODE_4_GOTPC32_TLSDESC.
4906 and BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC.
4908 and R_X86_64_CODE_4_GOTPC32_TLSDESC.
4913 BFD_RELOC_X86_64_CODE_4_GOTTPOFF and
4921 BFD_RELOC_X86_64_CODE_4_GOTTPOFF and
4925 (output_disp): Handle BFD_RELOC_X86_64_CODE_4_GOTTPOFF and
4930 (tc_gen_reloc): Handle BFD_RELOC_X86_64_CODE_4_GOTTPOFF and
4940 R_X86_64_CODE_4_GOTTPOFF and R_X86_64_CODE_4_GOTPC32_TLSDESC
4947 and R_X86_64_CODE_4_GOTPC32_TLSDESC tests.
4952 Handle R_X86_64_CODE_4_GOTPCRELX and convert
5054 apx-load1c and apx-load1d.
5065 For now only userspace shadow stack and kernel IBT are supported by the
5067 in the commit "x86: Add NT_X86_CET note", as it is outdated and only
5124 * i386-dis.c (putop): print pushp and popp.
5134 and will be implemented separately.
5143 New unsupported_rsp_register and invalid_src_register_set.
5144 (md_assemble): Add handler for unsupported_rsp_register and
5164 * i386-dis-evex-w.h: Add EVEX_W_MAP4_8F_R_0 and EVEX_W_MAP4_FF_R_6
5167 (get_valid_dis386): Add handler for vector length and address_mode for
5194 * opcodes/i386-opc.tbl: Add APX NDD instructions and adjust VexVVVV.
5309 * i386-opc.tbl: Handle some legacy and vex insns don't
5325 APX uses the REX2 prefix to support EGPR for map0 and map1 of legacy
5338 and invalid_pseudo_prefix.
5339 (struct _i386_insn): Add rex2 and rex2_encoding for
5347 (establish_rex): Handle rex2 and rex2_encoding.
5354 (set_rex_rex2): New func. set i.rex and i.rex2.
5358 target apx, 64-bit mode and with rex_prefix.
5397 (process_i386_opcode_modifier): Set NoEgpr for VEX and some special instructions.
5452 write the .reloc R_RISCV_SUB* with non-zero constant, and then report
5467 rebuild the objects with binutils 2.42 and up, to get the right zero
5492 Assert exact table size and r_type indexing. Omit return cast.
5493 (loongarch_reloc_name_lookup): Omit assertion and return cast.
5504 error, and NULL list->name to indicate file is removed. Adjust
5528 LoongArch: Add testsuit for DESC and tls transition and tls relaxation.
5539 Transitions between DESC->IE/LE and IE->LE are supported now.
5556 4. When a tls variable is accessed using both DESC and IE, DESC transitions
5557 to IE and uses the same GOT entry as IE.
5562 TLSDESC always allocates two GOT slots and one dynamic relocation
5566 and IE to access the same TLS variable, GD always uses the first
5567 two of the five GOT, TLSDESC uses the third and fourth, and IE
5570 LoongArch: Add new relocs and macro for TLSDESC.
5584 Re: LoongArch: Add support for <b ".L1"> and <beq, $t0, $t1, ".L1">
5585 This fixes the buffer overflow added in commit 22b78fad28, and a few
5596 frame, and pass that as the "next frame" to
5611 inline frame as the next frame id of register struct values, and go with
5614 register values and which don't.
5616 So, change value::allocate_register_lazy to do that work, and remove the
5668 frame parameter and adjust read_frame_register_value accordingly.
5677 gdb: add type parameter to value::allocate_register and add value::allocate_register_lazy
5684 to value::allocate_register and value::allocate_register_lazy, to let
5699 to be consistent and have all register struct values to have a valid
5761 Since these insns don't do anything and are effectively ignored,
5767 was storing the "res" variable into Dz and then into MACL, but not
5768 setting "res" to anything. Delete that logic and make it match the
5815 Delete redundant decls when the existing scope has the same var and
5819 Delete redundant decls when the existing scope has the same var and
5824 and then shadows a few because of how the opc generator is implemented.
5836 Delete redundant decls, and rename conflicting vars.
5847 between the common CGEN code and how this particular set of cris
5882 Rename shadowed vars with different types, and delete redundant decls.
5891 retained, and fix some weirdness with nested enums in structs.
5894 These functions have local vars named "val" of type float, and
5896 bit confusing and causes build time warnings.
5906 log file, and issue a "fail" if one is found.
5913 I noticed that the DAP attach test case (and similarly
5943 Introduce and use DAPException
5944 This introduces a new DAPException class, and then changes various
5958 This patch reverts the earlier change and then updates the comment to
6002 The project has been using Tested-By (tb), Reviewed-By (rb) and
6009 * Tested-by: The person tested the patch and it fixes the problem, or
6021 Finally, for completeness sake, the trailers Co-Authored-By and Bug
6048 ELF has; afaict doing so broke .previous, and a sub-section specifier
6053 x86-64: refuse "high" 8-bit regs with .insn and VEX/XOP/EVEX encodings
6056 %ch, %dh, and %bh cannot be encoded and hence should be rejected.
6067 (which is what this started from) .insn didn't respect {rex} (and was
6085 the first and the third expressions of the .align.
6097 be enabled or disabled, and we weren't breaking out when done parsing.
6119 Unfortunately, this code is written in POSIX shell, and that lacks
6122 and subshells, $LINENO can end up having negative values. Add a
6127 $LINENO into the actual line number (and $0 into the original file
6128 name), and then executes the temporary script.
6171 Fix Clang build issue with flexible array member and non-trivial dtor
6183 whole structure with xmalloc, and then initializes the array elements
6184 with in-place new, and then takes care to call the destructor
6194 Maybe we should get rid of the flexible array member and use a bog
6199 flexible array member to 0-length array. It behaves the same, and
6263 Replace some fall through comments with the attribute, and add some
6302 This helps the compiler with optimization and fixes fallthru warnings.
6309 This helps the compiler with optimization and fixes fallthru warnings.
6314 The compiler pointed out that we're testing LAST_TIMER_REG and
6315 LAST_COUNTER which are the same value ... and that's because we
6322 that in the future, and to make it clearer that we have coverage of
6337 code. This will make it easier to add more, and make the per-port
6351 be four bytes in the DWARF 32-bit format and eight bytes in the DWARF
6373 should see one breakpoint hit per wave, and then the whole program
6395 wave 1 terminated previously, and a previous call to
6397 and removed it from the GDB thread list. However, because the wave
6423 and then, because it was a TARGET_WAITKIND_THREAD_EXITED event, GDB
6437 * Commands that can result in this event are ::amd_dbgapi_wave_stop and
6445 * and was unable to complete due to the wave terminating.
6454 existing wave_info to wave_coordinates, and then added a new wave_info
6461 were hitting this assertion after the first kernel fully exits and the
6474 was added by infrun.c and not by amd-dbgapi-target.c:add_gpu_thread,
6497 exits, and running to a breakpoint in a second kernel after the first
6518 sees the wave for the first time, and making
6572 wave is gone and deletes it with delete_thread_silent.
6585 TARGET_WAITKIND_THREAD_EXITED, and in that case it is not possible to
6601 that if there's a breakpoint on top of the exit syscall, and,
6615 exercise this on GNU/Linux (on the CPU side), and there, after that
6621 GNU/Linux, and the actual problem on AMDGPU. I wrote a gdb.rocm/
6655 Once we continue, the thread 2 exits, and the main thread thus
6656 unblocks from its pthread_join, and spawns a new thread. That new
6662 The fix here is to not loop and start a new thread at all in the
6663 scenario where the race can happen. We only need to loop and spawn
6664 new threads when testing with "cmd=continue" and schedlock off, in
6702 Complete use of unique_ptr with notif_event and stop_reply
6703 We already use unique_ptr with notif_event and stop_reply in some
6727 gdb: remove stale comment and ctor in gdbarch_info
6729 gdbarch when SVE vector length changes"). Remove the stale comment and
6794 and optionally print the instruction description as comment in
6808 s390: Use safe string functions and length macros in s390-mkopc
6809 Use strncpy() and snprintf() instead of strcpy() and strcat(). Define
6810 and use macros for string lengths, such as mnemonic, instruction
6811 format, and instruction description.
6818 * s390-mkopc.c: Use strncpy() and strncat().
6827 to strerr and either continues processing or exists with a non-zero
6831 Introduce a global variable to hold the final return code and initialize
6833 prints an error message to stderr and sets the final return code to
6868 Change the bitwise operations names "and" and "or" to lower case. Change
6869 the register name abbreviations "FPR", "GR", and "VR" to upper case.
6882 utilities and compile and link s390-mkopc in two steps.
6897 for this file. Reading the data as signed and then returning it
6956 This is mandatory v8.9-a/v9.4-a and optional v8.0-a+/v9.0-a+. It is
6967 However, clang doesn't use the CFA and instead relies on specifying when
6974 directly, and its behavior isn't changed.
6985 This function only uses prev_abuf, not abuf, and doesn't inline code
7063 and b.c is:
7067 If compiling and linking with:
7071 Then the la.got in a.o should be relaxed to la.pcrel, and the resulted f
7085 Note that on x86_64 this is also relaxed and the produced code is like:
7093 Tested by running ld test suite, bootstrapping and regtesting GCC with
7094 the patched ld, and building and testing Glibc with the patched ld. No
7108 those sign extension bits and thus the wrong result.
7120 This fixes issues reported by David Edelsohn <dje.gcc@gmail.com>, and by
7126 {install-,}{pdf,html,info,dvi} and TAGS targets. Set no_install
7132 ld: Print 0 size in B and not in GB
7133 When using --print-memory-usage, the printed size can be zero and in
7134 that case, the unit should be B and not GB.
7161 and
7183 This only crops up (for me) when running on a loaded machine, and
7187 The problem is that we use gdb_test_multiple to try and match two
7190 (1) The 'Thread-specific breakpoint 3 deleted ....' message, and
7194 any order, and we have a flag for each pattern. Once both patterns
7198 to, and including the matched text is discarded from the input
7203 Then expect will first try to match <PATTERN 1>, which succeeds, and
7208 gdb_test_multiple, as the output can legitimately (and most often
7210 fail, and only occasionally pass!
7222 LoongArch: Add call36 and tail36 pseudo instructions for medium code model
7224 Therefore, the compiler and users will know that the tail will use a register.
7237 R_LARCH_CALL36 is used for medium code model function call pcaddu18i+jirl, and
7283 code was optimized away and the variable has multiple values
7356 current and entry values of the function arguments:
7374 Remove the dependency on _rl_term_autowrap, and instead calculate
7385 When starting gdb in CLI mode, running to main and switching into the TUI regs
7444 Mark a few things static/const, and clean up trailing whitespace.
7459 compare -- the reg1 src/dst pair are used in the sat16 op, and
7470 types are compatible. However, this is obviously untrue, and a user
7475 arrays have the same arity and compatible base element types. This is
7476 still over-broad, but it seems safe and is better than the status quo.
7506 +crc: Enables CRC32 Extension. +simd: Enables VFP and NEON for Armv8-A. +crypto: Enables
7508 Instruction for Armv8-A. +predres: Enables Execution and Data Prediction Restriction
7509 Instruction for Armv8-A. +nofp: Disables all FPU, NEON and Cryptography Extensions.
7515 +simd: Enables VFP and NEON for Armv8-A.
7518 +predres: Enables Execution and Data Prediction Restriction Instruction for Armv8-A.
7519 +nofp: Disables all FPU, NEON and Cryptography Extensions.
7534 Gas regression testing for aarch64-none-linux-gnu target and found no regressions.
7568 changes. (Note that obj_elf_version(), which also changes sections and
7579 While adding the new function parameter, take the opportunity and change
7585 ELF, COFF, and Mach-O all have custom handlers for .bss. Don't override
7594 Now that ATTSyntax and ATTMnemonic aren't use in combination anymore,
7595 fold them and IntelSyntax into a single, enum-like attribute. Note that
7604 mnemonics. Enforce this on the assembler side, and disentangle command
7608 redundant with just ATTMnemonic. Drop the now meaningless ATTSyntax and
7639 [MAYBE_FLMAP]: Add symbols __flmap_value and __flmap_value_with_lock.
7714 RISC-V: Imply 'Zicntr' and 'Zihpm' implicitly depended on 'Zicsr'
7716 'Zicntr' and 'Zihpm', Which are all implicitly depend on 'Zicsr'.
7723 * elfxx-riscv.c: Add 'Zicntr' and 'Zihpm' -> 'Zicsr'.
7724 (riscv_supported_std_z_ext) Add 'Zicntr' and 'Zihpm' to the list.
7749 and all of its members are function pointers, so they're going to be
7814 register and only write part of it. However, there's no actual read of
7838 gdb: migrate i386 and amd64 to the new gdbarch_pseudo_register_write
7839 Make i386 and amd64 use the new gdbarch_pseudo_register_write. This
7888 regcache. The frame (and formerly the regcache) is used to read raw
7906 But if the user is looking at another frame, and the raw register behind
7925 to unwind a register and that register is a pseudo register.
7932 dwarf2_frame_prev_register) returns nullptr, and we are trying to
7947 pseudo registers: taking part of a raw register and concatenating
8017 frame_register_unwind. So, just remove frame_register and replace uses
8025 gdb: change value_of_register and value_of_register_lazy to take the next frame
8033 value_of_register and value_of_register_lazy both take "this frame",
8035 is annoying if you are in a spot that currently has "the next frame" and
8041 I propose to change these functions (and a few more functions in the
8045 So, in this patch, change value_of_register_lazy and value_of_register
8078 These bugs was introduced almost 3 years ago [1], and yet nobody
8081 with one {get,put}_frame_register_bytes calls), and in which situation.
8088 that) and make {get,put}_frame_register_bytes only able to write within
8091 things and an overflow occurs while calling
8093 knowing which callers rely on the overflow behavior and which don't.
8104 Change most of regcache (and base classes) to use array_view when
8112 change all call sites at once (which is both a lot of work and risky).
8128 accomodate that, add some overloads of raw_collect and raw_supply that
8131 This file also uses raw_collect and raw_supply on `char` pointers.
8133 raw_collect and raw_supply that work on `gdb_byte *` and make an
8169 If `offset + len` is <= reg_size and len is >= 0, then necessarily
8178 Change store_integer, store_signed_integer and store_unsigned_integer to
8189 regcache. An opaque type `regcache` (gdb and gdbserver both have their
8190 own regcache that is the concrete version of this) and an abstract base
8192 These abstractions allow code to be written for both gdb and gdbserver,
8197 and wants to use an operation defined on reg_buffer_common, it can't.
8202 Implementations in gdb and gdbserver now need to down-cast (using
8215 I think that i386 k registers are raw registers, and therefore shouldn't
8228 k0_regnum, add k0_regnum, and pass the result to raw_read. So we would
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
8279 XTheadFmv extension in T-Head specific is incorrect, and it also has
8304 Remove redundant Byte, Word, Dword and Qword from insn templates.
8307 * i386-opc.tbl: Remove redundant Byte, Word, Dword and Qword.
8365 however, this variable is no longer public in Python 3.13, and so GDB
8376 calling PyGILState_Ensure() and PyGILState_Release(). These functions
8398 do something wrong -- and I didn't find GDB's output as helpful as it
8413 facing error. A user might not know what mkstemp means, and even if
8416 what was wrong with their input, and what they should do to fix
8432 and:
8445 I've added a new test that exercises all of these cases, and also
8495 Clean base_reg and assign correct values to regs for input_output_operand (%dx).
8496 For special processing of input and output operands (%dx),
8501 * config/tc-i386.c (i386_att_operand): Assign values to regs and
8585 * Makefile.am (ALL_EMULATION_SOURCES): Add eavrxmega2_flmap.c and eavrxmega4_flmap.c.
8587 * configure.tgt: Add eavrxmega2_flmap and eavrxmega4_flmap to avr's targ_extra_emuls list.
8646 files. However, due to the large amount of relax and local relocation
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
8699 KeyboardInterrupt. However, this derives from BaseException and not
8721 simply sets the quit flag and lets gdb do the rest.
8741 This patch introduces a new NotStoppedException type and changes the
8743 some code in this area and I thought this looked a little cleaner.
8886 LoongArch: Add support for <b ".L1"> and <beq, $t0, $t1, ".L1">
8928 and elf64-mips.c, but is incorrectly subject to shuffle/unshuffle in
8932 is to apply the reloc to byte 0x22 when big-endian, and to byte 0x33
8934 patch and little-endian correctly applies the reloc to byte 0x11.
8937 and overflow checking. gold had all of the bfd problems with this
8938 reloc and additionally did not apply the rightshift by two.
8943 (mips_elf_calculate_relocation): Correct sign extension and
8973 from being correct, and the new implementation is much closer to what
8978 DW_IDX_* constants, and tries to document the existing extensions as
8992 fastest server -- that's roughly 1.5hrs per multilib tested and many tests are
9005 Naturally my first thought was to sort the table and use a binary search to
9012 instruction data and a mapping for those which can be disambiguated based on
9073 no highlighting is done, and it's not obvious from looking at the screen which
9075 on boxed windows, and then infer that the focus is on the unboxed window.
9088 Tested on x86_64-linux and ppc64le-linux.
9124 the previous pattern would match multiple newlines, and in this one
9153 use '^' at the start of each pattern, and '\r\n' at the end, so that's
9177 be any one of all, threads, remote, event-loop, and correspond to the
9190 Notice in the above that I use 'off' and 'on' instead of '0' and '1',
9192 can still be used, but I now advertise off/on in all the docs and help
9226 The currently supported components are: all, threads, remote, and
9239 The component list is parsed left to write, and you can prefix a
9246 I've removed the existing --remote-debug and --event-loop-debug
9247 command line options, these are equivalent to --debug=remote and
9260 gdb: fix GDB_DEBUG and GDBSERVER_DEBUG Makefile variables
9261 The gdb/testsuite/README file documents GDB_DEBUG and GDBSERVER_DEBUG
9277 I tracked this down to the GDB_DEBUG and GDBSERVER_DEBUG flags being
9280 RUNTESTFLAGS and TESTS, so I think it makes sense to add GDB_DEBUG and
9324 I noticed that if TUI is displaying main, and we resize to 1 line (destroying
9325 the src window) and then back to a larger terminal (reconstructing the src
9352 Fix dynamic type resolution for LOC_CONST and LOC_CONST_BYTES symbols
9389 the 'until' command without regressing the accompanying test case, and
9447 Not exactly portable, but doesn't make the situation worse here, and
9456 and we can't safely include the relevant cpu*.h files for them.
9469 The cgen code mixes virtual insn enums with insn enums, and there isn't
9501 Sync with the list of flags from gdbsupport, and add a few more of
9509 which claims to "Test stepping and other mundane operations with
9511 inferior function call (which is not at all mundane), and uses 'next',
9512 'until', and, finally, does a 'step'.
9529 I've examined all tests which set watchpoints and step. I haven't
9540 This was split over multiple lines and ended up missing a space.
9564 The problem doesn't exist in gdb 13.2, and the difference can easily be
9594 removed, so now this method and all implementations of it can be
9613 not decode operators (this is already done) and also does not decode
9628 the entries in the cooked index over and over.
9693 and is caused by this block of code:
9720 to a regression reported in PR29572, and implements a different fix for PR29453.
9723 all_units, but instead use create_all_units, and then verify the CU
9734 This fixes testing of -Wno flags, and adds some more portable ones.
9765 declarations. GCC before 7 did have <cpuid.h> header and bit_SHA define
9766 and __get_cpuid function defined inline, but it didn't define
9767 __get_cpuid_count, which compiled fine (and the configure test is
9777 * configure.ac (HAVE_X86_SHA1_HW_SUPPORT): Verify __get_cpuid and
9799 With catch throw it also doesn't work, and you don't even get an error
9810 corresponding global symbols, and it's working as expected:
9886 The sim_stop argument is an enum and should only be one of those
9901 This adds a new PEI target pei-riscv64-little. Only objdump and objcopy
9970 contents for ALPHA_R_GPDISP, and simplify handling. Rewrite
9985 raw verneed and verdefs have been read locally by the function, and
9995 Handle "efi-app-riscv64" and similar targets in objcopy.
10015 git) or a release build, and disable the warnings for releases.
10020 This code tries to use attach_type enums as hw_phb_decode, and while
10022 when the cast is missing. So cast it explicitly and then use that.
10038 to include the header and nothing else. Use the former to determine
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
10042 clashing with the system ones and leading to build failures with
10046 prototype is deprecated in all versions of C and is treated as a
10058 the stub names differ and are hashed to different slots in
10061 Fix this by running the test with --hash-style=sysv, and adjust
10128 and then:
10133 My reading of this is that the hash table as a whole is optional, and
10138 in progress that change gdb both to omit the hash table and to use
10158 Annotate the (conditional) jump and branch relative instructions with
10164 Unconditional jump and branch relative instructions are annotated as
10166 Conditional jump and branch relative instructions, jump / branch
10167 relative on count/index, and compare and jump / branch relative
10169 Jump and save (jas, jasl) and branch relative and save (bras, brasl)
10177 (i.e. instruction types dis_dref and dis_dref2). Note that the
10182 print_address_func() is only called with addresses and never with
10184 The target of the (conditional) jump and branch relative instructions
10191 S390_INSTR_FLAG_CLASS_CONDITIONAL, and
10197 and S390_INSTR_FLAGS_CLASS_JUMPSR.
10201 for jump visualization: jump, condjump, and jumpsr.
10202 * s390-opc.txt: Annotate (conditional) jump and branch relative
10249 After this change, step 2 and 3 are reversed so there is an opportunity
10279 The clamping was tested on machines with both 16 cores and a single
10280 core. "maint show worker-threads" correctly reported eight and one
10295 through current_uiout), and as a result code that depends on
10296 uiout (e.g. 'show' commands) will end up dereferencing a nullptr, and
10300 initialisation, and this would work fine except for the new DAP
10303 after Python has been initialised, and the early initialisation
10317 initialisation files, we leave the user advice as being only 'set' and
10323 patch and will serve as a test.
10375 shutting things down, it kills the process that GDB is debugging and
10394 So, basically, the idea here is to kill both gdb and cat at roughly
10426 case which reliably reproduces the problem and tests for a few other
10441 I added a few asserts at the beginning of linux_fork_detach and
10469 exit with a checkpoint, and process termination with a checkpoint.
10503 Fix them by passing -m elf_x86_64 to linker and removing -nostdlib for
10537 linux_proc_attach_tgid_threads computes a file name, and then
10548 regcache::transfer_regset and regcache_map_entry_size to work properly.
10558 transferring the registers (between regcache and buffer) described by
10595 there isn't one, and we start reading garbage.
10611 fit, and break out of the inner loop. However, it will then go try the
10613 register in the remaining buffer space, and transfer it from/to there.
10663 "break foo(int, " and assume that there was a mistake, so we get a
10669 to solve a different problem I kept getting reading errors and testing
10673 testing gdb's complete command and only if that passes we will test tab
10678 will only be run and fail in the very unlikely scenario that tab
10685 Remove unnecessary returns and unused variables in AIX.
10709 user_stuff, dot, and lineno_list_{head,tail} have no users (left), while
10726 .nop and .nops generate code, not data. Hence them invoking
10844 before ratification and this has happend with the vector crypto
10849 * Zvkn and Zvks include now Zvkb instead of Zvbb.
10851 This patch implements these changes between the frozen and the
10854 Note, that this technically an incompatible change of Zvkn and Zvks,
10856 implemented behaviour of Zvkn and Zvks. So this patch should be fine.
10889 and consequently -DNDEBUG is never added.
10902 fixing, and I'm not sure how to check for this. Shellcheck doesn't detect
10905 before and after and observed that the number of lines/words/chars in the
10910 Also build on top of gdb-14-branch, and observed this in gdb/config.log:
10933 and has been in GCC since the same year.
10936 and we believe that the multilib should be used for this case.
10984 Tested on i386-pc-solaris2.11 with as and gas.
11000 Currently objdump gets and updates the map state once per symbol. Updating the
11001 state (partiularly riscv_parse_subset) is expensive and grows quadratically
11003 symbol of interest, we can reduce the time to dump a 4k insn file of .norvc and
11009 and rename to riscv_is_valid_mapping_symbol.
11022 - Non-nestable block comments delimited by /* and */.
11025 styles work in both normal and pseudoc syntax. The manual is also
11041 C++17 has void_t and make_void, so gdbsupport/traits.h can be
11094 This was mostly done by script, but I neglected a few spellings and so
11123 gprofng: updated man pages and user guide
11124 This is a major update of all the man pages. Bugs 30679 and 30895 are
11126 and clarified, and line lengths no longer extend beyond column 79. In
11136 * doc/gp-collect-app.texi: Fix various typos and textual improvements.
11138 * doc/gp-display-src.texi: Fix various typos and textual improvements.
11139 * doc/gp-display-text.texi: Fix typos fixed and textual improvements.
11140 * doc/gp-macros.texi: Fix a bug in the vspace macro and add new macro.
11142 * doc/gprofng_ug.texi: Fix various typos and textual improvements.
11143 * doc/version.texi: Adapt the date and version number.
11156 implemented the complete method, and if there were any errors
11158 hide the error and continue as if there were no completions.
11161 completion methods, and encourages the idea that Python extensions can
11162 be broken, and GDB will just silently work around them.
11165 be written correctly, and robustly, and one way in which GDB can (I
11169 and added calls to gdbpy_print_stack() or gdbpy_print_stack_or_quit()
11179 a string, and display an error if the conversion fails. After all,
11185 such, and to avoid (what I think is pretty unlikely) breakage of
11195 cmdpy_completer_helper, and the call to PyObject_CallMethodObjArgs,
11197 call resulted in an exception then we would ignore this and just
11215 time to compute the work break characters, and then a second time to
11219 word break character, and we print it by calling
11228 and no completions are offered. But importantly, the Python exception
11284 to ignore it entirely), but it looked easy and harmless to implement.
11304 Use const std::string to encapsulate the string literals, and use
11307 I tried making the string names (PROC_PREFIX, LINE_PREFIX, PC_PREFIX and
11319 the interpretation of semicolons: they separate statements and
11320 directives, and do not start line comments.
11329 Testsuite and documentation updated accordingly.
11358 --buildid= styles and perhaps make one of the new the default.
11361 sha_ni ISA support) without/with the patch and on AMD Ryzen 5 3600
11372 and cpuid.h.
11390 for (and requires) a number of environment variables, so the target
11397 Where GDB_TARGET_USERNAME and GDB_HOST_USERNAME are the user names
11398 that should be passed to the make-check-all.sh --target-user and
11408 the tests and realise you forgot that option and the results have been
11418 board, I have to run make-check-all.sh with --verbose and --dry-run in
11431 and the test will be re-run for me.
11444 calls are ordered based on the entries within the cooked_index, and
11452 a given GDB build with a given executable), and by sorting the chains
11467 The cause seems to be how the CU are distributed between threads, and
11484 generate a gdb-index as part of the build process, and we would
11505 a smaller binary, which is quicker to load, and for which we could
11513 Make static the functions add_index_entry, find_slot, and hash_expand,
11520 Make the n_elements, data, and m_string_obstack member variables of
11522 provide access to the obstack when needed, and also add member
11523 functions begin(), end(), cbegin(), and cend() so that the
11524 mapped_symtab class can be treated like a contained and iterated
11557 however, the larger a program, and the more symbols that are
11559 and so, over-grow the index.
11561 The gdb-index hash table we create has a minimum size of 1024, and
11565 a. The hash table is size 1024, and less than 75% full, or
11566 b. The hash table is between 37.5% and 75% full.
11569 bothered to check the upper limit, and over full hash table isn't
11645 64-bit, and in addition the top bit of the MSR register is set. */
11679 Tested on top of trunk on x86_64-linux and ppc64le-linux.
11728 is called, and because linux_is_uclinux returns true, maybe_new_address_space
11729 returns false, and no new address space is created
11733 false, and the address space is deleted
11749 Tested on top of trunk on x86_64-linux and ppc64le-linux.
12302 case is quietly ignored), and
12303 - using the index-cache is excercised in only a few test-cases, and having
12319 to set and preserve errno.
12325 Change serial_send_break and serial_write to throw
12326 This changes serial_send_break and serial_write to throw exceptions
12327 rather than attempt to set errno and return an error indicator. This
12344 the "pex" code sets it, and the tcp code seems to do the wrong thing.
12376 perror_with_name, and changes various places in gdb to call it.
12401 inferior call -- and discovered that gdb.events.cont does not fire for
12405 and arranges for this to emit continue and stop events when
12412 Make it return a bool and adjust a few comparisons where it's used.
12431 function is invoked, and its result is used.
12436 So, returning a non-sequence, and non-integer from a complete method
12449 an integer must be iterable, and we call PyObject_GetIter on it. When
12451 clearing (and therefore ignoring) this exception as we do everywhere
12456 false (and we've already checked the integer case) then we can assume
12517 Tested on x86_64-linux and pinebook.
12523 python support, and ran into:
12535 and more clear:
12595 would merely resolve to a sequence of hint insns (and hence not cause
12598 symbol as address and hence causing runtime issues. Refuse to assemble
12635 IBM z14 (arch12) introduced prno (Perform Random Number Operation) and
12647 Operation [1] and z/Architecture Reference Summary [2], that were
12651 and therefore disassemble into their base mnemonic:
12655 mnemonic and therefore disassemble into the added extended mnemonic:
12665 mnemonic j* conditional jump flavors jle and jlh. The missing extended
12673 The missing extended mnemonics sllhh, sllhl, slllh, srlhh, srlhl, and
12677 instructions that operate on high and low words of registers. They
12689 * s390-opc.c: Define operand formats R_CP16_28, U6_18, and
12691 and RRF_R0RR4.
12693 llghi, notgr, notr, risbhgz, risblgz, rnsbgt, rosbgt, and
12706 mnemonics lfi and llgfi.
12709 mnemonics rnsbgt, rosbgt, and rxsbgt.
12712 mnemonics jcth, risbhgz, and risblgz.
12715 mnemonics notr and notgr.
12731 Note that efpc and sfpc actually have only one operand, but had
12746 and rxsbg.
12748 * zarch-z196.s: Add test cases for risbhg and risblg.
12750 * zarch-zEC12.s: Add test cases for risbgn and risbgnz.
12762 section. This has been confirmed by diffing the following xxd and readelf
12778 exercise the brasl mnemonic with its largest allowed negative and
12870 extension. The 'th' prefix and the "XTheadVector" extension
12900 extension. The 'th' prefix and the "XTheadVector" extension
12930 extension. The 'th' prefix and the "XTheadVector" extension
12956 "XTheadVector" extension. The 'th' prefix and the
12987 "XTheadVector" extension. The 'th' prefix and the
13018 "XTheadVector" extension. The 'th' prefix and the
13049 "XTheadVector" extension, and it provides AMO instructions
13050 for T-Head VECTOR vendor extension. The 'th' prefix and the
13090 and the "XTheadVector" extension are documented in a PR for the
13119 extension. The 'th' prefix and the "XTheadVector" extension are
13149 extension. The 'th' prefix and the "XTheadVector" extension are documented
13174 conflict between encoding and teh 'V' extension, it is implemented
13175 by alias. The 'th' prefix and the "XTheadVector" extension are
13209 T-Head-specific vector instructions. The 'th' prefix and the
13220 and the 'V' extension are in conflict.
13231 "XTheadVector" extension and the 'V' extension are in conflict.
13253 …In AIX, while we followed the child process and detach on fork was on we hit thr!= NULL assertion …
13273 and resizing the terminal to 2 lines we run into a segfault.
13302 - making sure get_windows only returns visible windows, and
13303 - detecting the situation and dropping windows from the layout if
13349 number of lines in the terminal is 24, and the test-case checks that the user
13354 - the default (3) if max_height () allows it, and
13396 Tested on x86_64-linux, with both python 3.6 and 3.11.
13426 enum. This patch removes this and changes the code to use the new one
13430 accessibility of a class. This makes ptype a bit more C++-like, and
13438 Use enum accessibility in types and member functions
13439 This changes nested types and member functions to use the new
13460 TYPE_FIELD_IGNORE, and TYPE_FIELD_VIRTUAL.
13480 This adds a field::is_public convenience method, and updates one spot
13498 use the better value-based optimized-out machinery. I looked and
13510 information "inline". This is clearer and preserves the information
13602 some random characters from before that string, and then the test fails.
13640 and do likewise for TestStringsH and TestStringsW.
13650 Initializers in lambda captures were introduced in C++14, and
13651 conditionally used in gdb/cp-support.c and gdb/dwarf2/cooked-index.c.
13688 and the tests which came with it.
13701 This patch removes all uses of to_string(const std::string_view&) and
13725 gdb/tui/tui-io.c:tui_getc_1 and
13735 The implementation and tests of gdb::string_view are unchanged, they will
13775 codebase, and remove gdb::make_unique.
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 .…
13848 …We remove the status that represent program recieving a signal and allow host_status_to_waitstatus…
13864 allocation silently fails and the subsequent access to the memory is
13911 The patch has been tested on Power 10 and X86-64 with no regressions.
13925 links and are still fully deduplicated.
13941 first was never called. Alas, this isn't what happens, and what you get is
14011 prompt, or with the inferior running, and then later we use bfd_stat
14021 and so show no change as having happened.
14023 This is a known problem in GDB, and so far this has been solved by
14025 said, in the next commit I've made a change and run into a
14034 and add a corresponding bfd_cache_close_all() call elsewhere in GDB
14039 problem down to elf_locate_base and fixed that. But that just exposed
14041 bfd, so I fixed this (with another bfd_cache_close_all() call), and
14042 that exposed another issue in gdbarch_lookup_osabi... and at this
14051 the bfd cache, and this feels like something that is easy to
14055 time ... and GDB fails to spot the change. Additionally,
14062 we will end up opening and closing the same on-disk file multiple
14071 completing a command, and GDB is about to enter an idle state
14079 inferior is another time when GDB is blocked and sitting idle, but
14085 cases (before_prompt and target_resumed respectively), so my initial
14086 thought was that I should attach to these observers in gdb_bfd.c, and
14097 some bfds to be reopened, and inserted into the cache.
14108 before_prompt and target_resumed observers, this was we can be sure
14109 that the cache is cleared after the observers have run, and before GDB
14184 Once the parser recognizes the error, the expression is discarded and it
14186 during the process are added to the symbol table and are not removed
14191 parser-created symbols are rejected by the kernel BPF loader, and the
14195 parsing instruction operands, and storing them in a temporary list
14205 Many thanks to Jan for recognizing the problem as similar, and pointing
14252 (passed to regcache when constructing it, and available through
14261 code, and updates callers to get it from the thread in context. This
14271 address space), and this seemed like the right way to do it, I don't
14274 The only implementations of thread_address_space and
14275 process_stratum_target::thread_address_space and
14279 that the thread_address_space target method can be removed, and we can
14288 - in particular, remove get_thread_arch_regcache, and rename
14290 - remove target_ops::thread_address_space, and
14301 These read weirdly to me, and since they aren't necessary, this patch
14302 removes the braces and reindents the bodies. Tested by rebuilding.
14308 doesn't work correctly when long is 32-bit and bfd_vma is 64-bit
14328 require a stopped inferior, and the exceptions are noted by a new
14354 'request' decorator to make this automatic, and to provide some
14378 can already be done in a nicer way (and also letting the client choose
14384 iteration to preserve this, and it turned out to be simpler to combine
14402 "unsupported instruction ..." can mean about anything, and can also be
14406 While there also take the opportunity and purge the no longer used
14454 suffix and having an operand which allows for Reg8 and Reg64, but
14470 To remove the limitation, we need to update program header size and
14483 This patch fix this bug and pcalau12i + ld.d can be relaxed with --relax.
14489 Windows and AIX. Use std::string instead. I'm not able to test this
14535 This patch adds the permission model enhancement and memory
14536 attribute index enhancement features and their corresponding
14555 1. FEAT_RASv2 feature and "ERXGSR_EL1" system register.
14559 2. FEAT_SCTLR2 and following system registers.
14560 SCTLR2_EL1, SCTLR2_EL12, SCTLR2_EL2 and SCTLR2_EL3.
14562 3. FEAT_FGT2 and following system registers.
14565 4. FEAT_PFAR and following system registers.
14566 PFAR_EL1, PFAR_EL2 and PFAR_EL12.
14568 FEAT_RASv2, FEAT_SCTLR2, FEAT_FGT2 and FEAT_PFAR features are by default
14572 id_aa64mmfr3_el1 and id_aa64mmfr4_el1, which are available from
14579 identified as FEAT_SPEv1p4, FEAT_SPE_FDS, and FEAT_SPE_CRR, which
14610 and glibc, we also need to change it here to keep same style.
14620 and glibc, we also need to change it here to keep same style.
14681 was zombie, due to the exec), and then adding the leader back when it
14700 Other code in gdb using gdb_python_module checks it first and it
14703 and still somewhat work.)
14709 variables but is named "two"), and to iterate over all the variables
14740 …rgs. <library exemptions>: Exempt --with-libintl-{type,prefix} from target and build machine argum…
14777 noreturn function. These aren't needed, and the compiler would warn
14789 I went back and forth about different ways to solve this, and in the
14816 I chose to do this only for DAP. For CLI and MI, gdb currently does
14842 This moves the follow_static_link function to frame.c and exports it
14851 This adds a couple of convenience methods, block::is_static_block and
14875 I noticed that tui_locator_window has an empty do_scroll_vertical and
14889 - an empty do_scroll_vertical and do_scroll_horizontal, and
14891 which both tui_locator_window and tui_cmd_window inherit.
14900 - tui_norefresh_window, and
14926 I ran './make-target-delegates.py' and there is one minor difference,
14978 - openSUSE Leap 15.4 (where the FAILs where observed), and
14989 This commit builds on the previous commit, and implements the
15008 information handler objects, and registers these handlers with GDB.
15027 was unable to find the missing debug information, and GDB should ask
15031 extension to locate the debug information for objfile and return a
15041 any other handlers, and will continue without the debug
15053 information, but only using the standard built-in build-id and
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
15076 adds support for the hook to extension-priv.h and extension.[ch], and
15085 Python implementation for this new hook, and gives a fuller
15093 2. Check for .gnu_debuglink section and use that to look up the
15105 behaviour of GDB, and is the default if nothing is implementing this
15109 above would normally check, and then request that GDB repeats steps
15110 #1 and #2 in the hope that GDB will now find the debug information.
15113 the GDB loads it and carries on,
15116 information. GDB loads the contents of this file and carries on.
15120 for steps #1 and #2 to be repeated.
15125 second request -- and as these requests go over the network, they
15164 This commit merges the code that looks for and loads the separate
15165 debug symbol files from coffread.c and elfread.c. The factored out
15181 and the new code is harmless.
15205 have a separate debug objfile linked to it, and that the objfile isn't
15213 this part of the elfread and coffread code, so bringing these two
15217 toolchain on a Linux host. After compiling the binary and splitting
15218 out the debug info GDB still finds and loads the separate debug info.
15273 terms), in this case one line at the top and one line at the bottom.
15278 - tui_win_info::box_width () and
15296 and test-driving TUI.
15315 This is hard to parse. It's not obvious what the arguments mean, and there's
15319 - use sminrow, smincol, smaxrow and smaxcol variables for the last
15320 4 arguments, and
15321 - calculate the smaxrow and smaxcol variables based on the sminrow and
15338 callee and caller. Function calee is inlined into caller. The test sets
15346 or function caller and fails if the breakpoint address is 0x0. The line
15363 Regenerate gas/config.in and ld/configure
15369 errors when reporting executable stacks and/or executable segments."
15370 Introduced two new help strings for --enable-error-execstack and
15393 (and no way to support them, such as the yet-unsubmitted AMDGPU
15394 target), and you step over thread exit with scheduler-locking on, this
15405 and that thread disappears, then I think it's more user friendly if
15406 GDB just detects the situation and aborts the command, giving back the
15426 Document remote clone events, and QThreadOptions packet
15427 This commit documents in both manual and NEWS:
15430 - the new QThreadOptions packet and its current defined options,
15432 - and the associated QThreadOptions qSupported feature.
15441 Add new gdb.threads/step-over-thread-exit.exp and
15458 for syscalls with up to 3 arguments, and, if the syscall doesn't
15479 exit event, and displaced stepping info is recorded
15568 exit pending events as TARGET_WAITKIND_EXITED, and then decide whether
15572 THREAD_EXITED event, and then make sure that decision isn't lost along
15582 on", and you step over a function that spawns a new thread, the new
15585 of seemingly random factors. E.g., if the target is all-stop, and the
15586 parent thread hits a breakpoint, and GDB decides the breakpoint isn't
15592 clone events on Linux, and of target_thread_events() on targets where
15595 Testcase and documentation changes included.
15606 GDB_THREAD_OPTION_EXIT option on a thread, and, that thread exits, the
15610 a time, and the whole target stops whenever an event is reported, GDB
15611 resumes the target again after getting a THREAD_EXITED event, and then
15615 For non-stop RSP though, events are asynchronous, and if the server
15630 (and other similar ones)
15646 The is really a latent bug, and it is about the fact that
15657 #2 - gdb picks one events, and it's for thread 1. All other stops are
15678 over and restarts threads.
15685 #7 - This is again a breakpoint hit and the breakpoint needs to be
15698 #11 - Because the remote target is no longer async, and there are no
15717 breakpoint (using either in-line or displaced stepping), and the
15806 finish, and we are stuck there.
15829 the exiting thread was using is marked as available again and the
15835 exits, and the event is reported while we are in stop_all_threads. We
15878 stepping buffer that was allocated to that thread leaks, and this can
15884 over state and re-resume threads.
15892 GDB_THREAD_OPTION_EXIT option, and then a later patch will make use of
15893 these thread exit events to clean up displaced stepping and inline
15922 - called in sync mode, and,
15946 sync mode, which is unexpected by the core and fails an assertion.
15970 Now that gdb/19675 is fixed for both native and gdbserver GNU/Linux,
15979 gdbserver: Hide and don't detach pending clone children
16009 around to a more logical order when we now have to handle and
16043 event kind, and made the Linux target report clone events.
16077 and this clears options for all threads of process 1000, and then sets
16108 Similarly to QProgramSignals and QPassSignals, avoid sending duplicate
16118 TARGET_WAITKIND_THREAD_CLONED event kind, and made the Linux target
16125 very similar to vfork and fork, and the new stop reply is likewise
16128 GDBserver core is taught to handle TARGET_WAITKIND_THREAD_CLONED and
16145 Andrew's, adjusted for a different solution, and for covering
16148 This commit addresses bugs gdb/19675 and gdb/27830, which are about
16150 about displaced stepping, and the other about in-line stepping.
16164 Similarly, if we are stopped at the clone syscall, and there's no
16171 newly created thread will be set running, and then stopped once the
16180 the thread and interrupt it, this might not be what the user
16187 - For both all-stop and non-stop modes, with in-line stepping:
16214 - For both all-stop and non-stop modes, with displaced stepping:
16243 and of what is the child's ptid, so that GDB can fixup both the parent
16244 and the child.
16248 difference between fork/vfork and clone is that the clone events are
16250 automatically in the target code and the child thread is immediately
16265 The solution implemented here is to model clone on fork/vfork, and
16267 similar to TARGET_WAITKIND_FORKED and TARGET_WAITKIND_VFORKED, except
16269 thread of a new process. Like FORKED and VFORKED, THREAD_CLONED
16270 waitstatuses have a child_ptid property, and the child is held stopped
16272 case (issues #1 and #2).
16287 protocol and gdbserver.
16290 a new use will reappear later in the series. To avoid deleting it and
16291 readding it back, this patch marks it with attribute unused, and the
16293 the function is static, and with no callers, the compiler would warn,
16298 inline stepping, and all-stop vs non-stop. We already test stepping
16300 uses pthreads, while the other test uses raw clone, and this one is
16333 gdb_exit, tearing down GDB, which kills the inferior, and is thus
16395 above -- linux_nat_target::kill iterates over all LWPs, and after the
16400 This patch fixes it, by deleting the pre-exec non-leader LWP (and
16411 /* Delete the execing process and all its threads. */
16420 libthread_db for the post-exec inferior, and, on such systems that
16423 lwps, and then waits to see their stops. While doing this, GDB
16424 detects that the pre-exec stale LWP is gone, and deletes it.
16427 "libc.so.6" load event ever happens, and issue "kill" right there,
16514 Update the assert to reflect this, and move it to after the if because it's
16544 Teach bfd and readelf about some recent gfx11 architectures. This code
16600 …Add ability to change linker warning messages into errors when reporting executable stacks and/or …
16602 …te descriptions of the 'execstack', 'noexecstack' and 'warn_execstack' fields. Add 'error_exectack…
16609 …_ERROR_EXECSTACK, OPTION_WARN_EXECSTACK_OBJECTS, OPTION_ERROR_RWX_SEGMENTS and OPTION_NO_ERROR_RWX…
16616 * testsuite/ld-elf/commonpage2.d: Disable errors for RWX segments and/or executable stacks.
16706 string merging, and then got pushed over the limit by this.
16722 boundary for that occurring somewhen into the future and
16736 note is ABI dependent (size changes) and the disasm is ABI
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.
16769 This is unnecessary work and leaks the symbol name that is allocated
16776 (within reach) and these groups have a stable id.
16778 Stubs have a name generated from the stub group id and target symbol.
16785 The BTI stub can end up with the same stub group id and thus the same
16792 since in the problematic case the indirect and BTI stub are in the
16795 the target directly and we also want a BTI landing pad in the stub in
16796 case other indirect stubs target the same symbol and thus need a BTI
16800 target is within reach and has no BTI. It is a hassle to change the
16808 linking can fail if too many stubs are inserted and the section layout
16839 adding an extra and important layer of validation.
16873 other than the EVex attribute, and set that to "dynamic" in such cases.
16881 FEAT1|FEAT2, the meaning of which depends on context and requires
16886 these". The combination of both fields is still and &&-type check, i.e.
16894 and hence templates previously using AVX512F|AVX512VL are switched to
16898 da0784f961d8 ("x86: fold FMA VEX and EVEX templates") to be slightly
16899 re-done: FMA now becomes more similar to AVX and AVX2.
16933 supports the IBM double 128-bit floating point format and IEEE 128-bit
16940 128-bit float and IEEE 128-bit floating point numbers are all mapped to the
16946 the value is an IEEE 128-bit floating point value and adjust the register
16952 The patch has been tested on Power 8 LE/BE, Power 9 LE/BE and Power 10 LE
16971 signal handler). Many platforms use a trampoline for signal return, and
16982 by compiler-generated CFI, and that particular register is
16998 The PowerPC DWARF register mapping is the same for the .eh_frame and
16999 .debug_frame on Linux. PowerPC uses different mapping for .eh_frame and
17001 mapping the DWARF registers in rs6000_linux_dwarf2_reg_to_regnum and
17007 and rs6000_linux_adjust_frame_regnum in file gdb/ppc-linux-tdep.c to handle
17010 and gdbarch_stab_reg_to_regnum since the mappings are the same.
17024 2) The kernel handles the signal and dispatches to the handler.
17030 2) The kernel handles the signal and dispatches to the trampoline.
17068 call update_thread_list, and so will not report changes in the thread
17079 and will disagree with the number of threads reported by 'info
17091 learn about new threads as soon as they appear and will not have this
17096 inferior. But for testing I've made use of non-stop mode and
17139 'foo.c', you must type 'disassemble 'foo.c'::bar' and not 'disassemble
17175 I've added some disassembler command completion tests, and also a test
17182 Move the function skip_over_slash_fmt into completer.c, and make it
17192 gdb: error if /r and /b are used with disassemble command
17200 The /b and /r flags result in the instruction opcodes displayed in
17204 We have a similar situation with the /m and /s flags, but here, if the
17208 an error if /r and /b are both used.
17213 and that the new behaviour is better.
17242 The BFD client can request thread-safety by providing a lock and
17244 bfd_id_counter) are then locked, and the file descriptor cache is also
17254 and unlock.
17256 (cache_bflush, cache_bstat, cache_bmmap): Lock and unlock.
17258 (bfd_cache_init): Use it. Lock and unlock.
17260 (bfd_cache_close, bfd_cache_close_all): Use it. Lock and unlock.
17262 (bfd_open_file): Use it. Lock and unlock.
17265 * opncls.c (_bfd_new_bfd): Lock and unlock.
17266 * po/bfd.pot: Regenerate.
17281 * po/bfd.pot: Regenerate.
17286 This makes _bfd_error_buf static and adds a way to clear it. I felt
17295 * po/bfd.pot: Regenerate.
17362 necessary shared input+output operand register description and
17386 F_REG_128 and adds it to relevant system registers in
17390 initially to implement argument validation in the `__arm_rsr128' and
17392 the binutils implementation of the corresponding `mrrs' and `msrr'
17418 associated feature flag and implementing the necessary
17441 * aarch64-sys-regs.def: Add `rcwmask_el1' and `rcwsmask_el1'
17458 The length of the allocate buffer `buf` is 1, and we try to extract an
17498 note sections, and hence they may influence the overall outcome.
17573 * riscv-opc.c: Defined the MASK and added XCValu instructions.
17577 * opcode/riscv-opc.h: Added corresponding MATCH and MASK macros
17579 * opcode/riscv.h: Added corresponding EXTRACT and ENCODE macros
17625 * riscv-opc.c: Defined the MASK and added
17630 * opcode/riscv-opc.h: Added corresponding MATCH and MASK macros
17632 * opcode/riscv.h: Added corresponding EXTRACT and ENCODE macros
17638 Remove EXTERN_C and related defines
17658 When resizing from a big to small terminal size, and you have a
17688 coordinates, and wnoutrefresh then does an out-of-bounds access.
17698 In AIX unused or constant variables are collected as garbage by the linker and in the dwarf dump
17725 Just the lightest modifications about this, without any further checks and
17727 first do this to avoid conflicts between linker internal relocations and the
17782 This patch cleans this up by trying to read the DWZ file earlier, and
17827 gdbsupport: record and print failed selftest names
17833 that that one remains the last line, and the gdb.gdb/unittest.exp
17867 Within the groups L{B,BU,H,HU,W,WU,D}, S{B,H,W,D}, FL{H,W,D,Q}, and
17870 however, can easily be retrieved. Furthermore leverags that Sx and FSx
17871 are then handled identically, too, and hence their cases can also be
17877 RISC-V: add F- and D-extension testcases
17879 and FSH macro insns of the Zfh extension.
17956 gcspr_el0, gcspr_el1 ,gcspr_el12, gcspr_el2 and gcspr_el3),
17963 HINT space and uses the HINT number 19 and to match this an entry is
17970 optional from Armv9.4-A architecture and enabled by passing +gcs option to -march
17974 gcsss1, gcsss2, gcspushm, gcspopm, gcsstr and gcssttr.
17985 aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures.
17987 and Armv9.4-A architecture (-march=armv9.4-a).
18090 The DW_AT_name is relative, and it's relative to the DW_AT_comp_dir entry,
18137 by passing in the variable's container and the name of the variable.
18146 support, this patch includes encoding and decoding support for MAP7 and
18177 and handle the map7_f8 for save space.
18180 (OP_R): Support q_mode and q_mm_mode.
18196 X86_64_VEX_MAP7_F8_L_0_W_0_R_0 and X86_64_0F38F8_M_1.
18200 (mod_table): New entry for USER_MSR and
18202 * i386-gen.c (cpu_flag_init): Add CPU_USER_MSR_FLAGS and
18217 "invalidates frame" and also assignments of NULL to a frame_info_ptr.
18237 The BPF pseudo-c syntax supports both MOV and LDDW instructions:
18242 Note that the white space between EXPR and `ll' is necessary in order
18265 type. This patch fixes the problem by unpacking and repacking the
18285 think both the read- and write-functions here should ignore the
18309 works using scalar values, and not just bytes, left-shifting is
18316 Accept and ignore the R_BPF_64_NODLYD32 relocation.
18322 and GCC, add instructions for keeping the file synchronized across the
18326 in Binutils and the updated file copied across to GCC.
18354 This patch makes this change, and updates the
18384 availability, to lower barrier of entry to GDB contributions, and to
18388 compiler for the standard, and/or for new compilers to appear as
18393 See the policy proposal and discussion
18419 available in [1] and regenerates the configure script.
18452 The addend of R_RISCV_SUB will always be zero, and the summary of the
18477 be stored into the addend of SET_ULEB128, and the addend of SUB_ULEB128 should
18511 reading inferior memory based on gdb.Value.address and
18547 second thread selected as the current thread and asks GDB to detach.
18550 This situation currently causes crashes, assertion failures, and
18551 unexpected errors to be reported from GDB for both native and remote
18554 This commit addresses this situation for native and remote targets.
18556 to get this functionality working correct for native and remote
18564 thread, and it is this callback that will spot that the main thread
18575 The num_lwps call will return 0 as the main thread has exited and all
18587 and then proceed assuming that main_lwp is not nullptr. In the case
18591 thread. If the main thread has exited, and GDB has already detached
18593 the calls that try to detach from the main thread, and then tell the
18608 # At this point an unpatched gdbserver segfaults, and the connection
18620 function calls current_process() and then dereferences the result to
18623 However, in our case, the current process has already exited, and so
18647 Though clearly the detach has returned an error, and so, maybe, having
18650 detach and gets back an error, and if there's a pending exit event for
18651 the pid we tried to detach, then just ignore the error and pretend the
18660 just send the detach request, and if it fails, check to see if the
18673 However, if we trigger both the exit and the detach from a single
18675 never processes the exit event, and so the first time GDB gets a
18759 into a malloc'd buffer within handle_v_run, and this buffer is then
18779 buffer and decoding the vRun packet into the buffer, but returns a
18794 hex2bin to throw an exception and don't catch it in either
18870 Sections without SEC_HAS_CONTENTS avoid the file size checks, and of
18879 This fixes some holes found by fuzzers, and removes aborts that can be
18906 When compiling hello world and adding a v9 .gdb-index section:
18937 The as and ld use _bfd_error_handler to output error messages when
18938 checking relocation alignment and relocation overflow. However, the
18970 this for us, to avoid wasting space and cache bandwidth/capacity.
18976 code from i386_output_nops(). Plus then introduce f32_8[] and f16_5[]
18979 Also re-use patterns when possible and correct comments as applicable.
19016 Except for the shared 1- and 2-byte cases, the LEA uses corrupt %rsi
19026 The recorded value, and not the global variable, will want using in
19032 objcopy: fix typo in --heap and --stack parser
19033 The help says that <reserve> and <commit> should be separated by a ","
19041 and <commit> for --heap and --stack.
19042 * doc/binutils.texi: Add <commit> for --heap and --stack.
19052 match that committed to bfd-in2.h, and was just going to regen
19065 You'll notice how the second and third line of the original comment
19066 aren't indented properly relative to the first line, and the whole
19084 (make_enum_header, ENDSENUM): Put start and end braces on
19086 * reloc.c: Remove uses of COMMENT and edit ENUMDOC paragraphs.
19108 "owner", so you can pass it any pointer and it won't complain.
19113 bit and / or it got re-introduced when handling subsequent merge
19137 python pygments, and in absence of that, unhighlighted source text.
19147 - making get_language_name return nullptr for language_c, and
19160 patch removes the inclusion from this header, and adds one to
19173 The fixes applied a few years ago to resolve confusions between parent and
19175 general, if you have a type in a parent dict ctf_imported into a child and
19176 you do something to it, and the parent dict is writable (created via
19179 to the parent dict directly -- and nothing you're prohibited from doing
19202 any of the ctf_add_member* family and nothing complains at all, even though
19207 some can result in coredumps and it would be nice to test the other cases
19219 both parent and child to be writable.
19249 name_of_main and language_of_main to the DWARF index"), after checking it
19263 and not a data value in memory.
19265 This fix can be verified by assembling and disassembling the following:
19270 With this patch, the bug is fixed, and the objdump will know that
19374 Change these two fields, simplifying memory management and copying.
19437 pointers get moved from the vector, and it wasn't obvious at all what
19450 rocm_update_solib_list for that) and a unique_ptr to the
19476 this internal usage of solib-svr4 (and solib-rocm, which does the same).
19483 and a unique_ptr for the lm_info.
19487 - Remove svr4_free_library_list, free_solib_lists and ~svr4_info, as
19493 needs to compare an so_list and an svr4_so to see if they are the
19503 Now that the lm_info class hierarchy has a virtual destructor and
19517 method, make the destructor of lm_info virtual, and call delete directly
19557 gdbsupport: use "reference" and "pointer" type aliases in intrusive_list
19571 take references, to make things easier and more natural. Add const
19572 where possible and convenient.
19581 A subsequent patch changes the interp::on_solib_loaded and
19599 …interps.c:378:18: note: inconsistent parameter pack deduction with ‘gdb_signal’ and ‘gdb_signal&’
19613 explicit by adding a program_space parameter and pass down
19653 This is for consistency and to prevent possible unnecessary errors due
19686 pushsection and popsection when adding things to .data, and setup the
19695 (with ssize_t longer than unsigned long) use PE, and we do not have support
19708 hipDeviceSynchronize and friends, and print an error message when
19761 ("[gdb/symtab] Add name_of_main and language_of_main to the DWARF index").
19794 microblaze bsefi and bsifi instructions.
19810 Made sure there is no implicit conversion between signed and unsigned
19830 In source_cache::ensure, keep track of which files failed to be styled, and
19843 The code is a sizable part of the function, and contains conditional
19853 - source_cache::ensure is easier to read, and
19885 Before, readelf -d RELASZ is the sum of .rela.dyn size and .rela.plt size.
19907 This header is only suitable for use on x86 hosts and is only included
19978 This patch adds a regression test for this, and adds a scope cache in
20000 and likewise with glibc debuginfo generated with gas 2.40.
20021 and strstr (which requires using *strstr to dereference the ifunc before we
20050 is available whenever we have a match between the provided address argument and
20057 gdbarch_displaced_step_copy_insn_closure_by_addr directly, and that's because
20095 current_thread and if the buffer address matches the address argument.
20123 never trigger the architecture_changed observer, and so never have the
20134 gdbarch_find_by_info, whenever a new gdbarch is created and
20135 initialised. As GDB caches and reuses gdbarch values, we should
20143 architectures right now, I asked Luis to confirm that an AArch64
20145 that are using a thread-specific architectures, and he confirmed that
20162 Since RV32E and RV64E are now ratified, this commit prepares the ABI
20178 Since RV32E *and* RV64E are ratified, RV64E is no longer invalid.
20204 This patches adds new bsefi and bsifi instructions.
20206 register and place it right-adjusted in the destination register.
20216 this was unnecessary for adding the bsefi and bsifi instructions.
20236 the system's headers, and this is not true for all systems.
20334 gdb_file_cmd to make the "kill" command optional, and then switches
20356 needed, and then uses fstat on the open file descriptor.
20364 ideal as we have some BFDs that use a custom iovec, and implement the
20366 can have a single call that should work for both local files, and for
20373 bfd_cache_close_all call, and as a result some BFDs were held open.
20390 to GDB in some strategic spots, and start fixing all of the missing
20396 Within bfd/cache.c change the type for max_open_files and open_files
20401 int, this should ensure that if the sysconf call fails, and returns
20432 worked fine for hosts with a 32 bit wide long and failed miserably for hosts
20436 temporary. It includes a simple test for sextb and sexth. I have _not_ done a
20477 (3) Structure consists of one integer member within GRLEN bits wide and
20479 GAR and an FAR if available.
20580 remote_state method. Add a helper method for that, and for "can async"
20590 m_async_event_handler_token) and add methods for the various operations
20623 from, and that it's often used as "I don't know which arch to use so
20626 objfile, symbol, etc). I think that removing it and inlining
20628 where that arch comes from and will trigger people into reflecting
20652 and that the callbacks should not assume it is the current inferior.
20664 Make the inferior's gdbarch field private, and add getters and setters.
20688 range and location lists that can segfault when debug_info_p is NULL.
20701 malloc'd input buffers, but this isn't really an error and the section
20730 in particular rules 'result-record' and 'async-output'.
20743 add a B instruction and R_LARCH_B26 relocation.
20783 [gdb/symtab] Add name_of_main and language_of_main to the DWARF index
20785 and the language of the main function symbol, gathered from
20787 this section is called the "shortcut table". The way this name is both saved and
20790 symbol is saved and `set_objfile_main_name` is used to apply it after it is
20798 and language of the main function symbol be provided ahead of time by the index.
20807 Tested on x86_64-linux, with target board unix and cc-with-gdb-index.
20849 regexps within the gdb_test_multiple made use of the '^' anchor, and
20850 so assumed that earlier lines had been completely matched and removed
20866 This commit a new section for the next release branch, and renames
20893 and use the assembler option mthin-add-sub to generate R_LARCH_32/64_PCREL
20960 - unix/-m64 (is_amd64_regs_target == 1), and
20970 and alignment ELF auxiliary vector entries") introduced two new auxvs:
20971 AT_RSEQ_FEATURE_SIZE and AT_RSEQ_ALIGN. Support them in GDB. This
21022 This patches adds new bsefi and bsifi instructions.
21024 register and place it right-adjusted in the destination register.
21045 be the first entry under the 'MI changes' heading, and
21061 The risc-v, loongarch, and csky gdbserver builds were broken. A use
21080 newline needed a small tweak, and also the matching code needs
21108 merged I'll take a look at rebasing and resubmitting the original series.
21125 newlines within arguments, and do some minimal cleanup of the related
21129 Then I've removed the KFAIL from the test case, and performed some
21143 merged I'll take a look at rebasing and resubmitting the original series.
21210 If we compare this to a packet with only a single argument and no
21219 and then we process everything up to either the next ';' character, or
21295 this case, and I now see identical behaviour when using an
21309 merged I'll take a look at rebasing and resubmitting the original series.
21327 /usr/lib/debug) and run the GDB testsuite before doing "make install", you
21339 value for 'debug-file-directory', but it accepts only one directory and not
21376 The minimal symbol information changed between gcc-10 and gcc-11:
21387 character and mangling character:
21388 - for v2, dot is used both as separator character and mangling character, and
21389 - for v3, dot is used as separator character and underscore as mangling
21392 For more details, see [1] and [2].
21450 objfile is added to program space (when passed non-nullptr) and when all
21452 I think this is confusing (and Andrew apparently thinks so too [1]).
21458 add a new all_objfiles_removed callback, and refactor things a bit to
21461 Some callbacks relied on current_program_space, and following
21463 all_objfiles_removed. I think this should be relatively safe, and in
21498 Add program_space space parameters to emit_clear_objfiles_event and
21508 Add some program_space parameters to functions related to getting and
21536 gdb: add Python events for program space addition and removal
21542 reproduced the failure and tested against GDB 13, and the test passes;
21552 specifically, when the cache is cleared, and it is this that leads to
21609 program_space then this is not caught, and is going to crash GDB.
21614 and GDB is waiting for a stop reply. The problem here then, is why
21619 In prune_inferiors we check if the inferior is deletable, and if it
21624 remote is in async mode and the remote is currently waiting for a stop
21637 new_objfile observer is horrible, and unnecessary, but it's not really
21659 inferior from the global inferior list, and then only deletes the
21662 delete, and no other inferior exists within that program_space
21683 only the current_program_space, and that we should be clearing the
21697 inferiors, and GDB no longer needs to refill the cache at an
21703 called anywhere else (below ~program_space), and the answer is yes,
21709 and only work because the top target in all these cases is shared
21715 run into this again, and then we'd need to solve this. But in this
21720 back up the stack, but then we reach ~program_space, and throwing
21721 exceptions from a destructor is problematic, so we'd need to catch and
21735 call completely, and just rely on the reference count to auto-delete
21743 sending packets to the remote, and if the remote is waiting for a stop
21769 bison must be run once to create QLParser.tab.cc and QLParser.tab.hh.
21776 * src/Makefile.am: Distribute QLParser.tab.cc and QLParser.tab.hh.
21777 * Run bison once to create QLParser.tab.cc and QLParser.tab.hh.
21805 Fix: ld testsuite: Thumb PLT and GOT tests should be skipped on musl armhf targets
21849 know how to check if the remote file has changed, and so falls back to
21853 a direct stat call, this adds support for target: files, and fixes the
21860 However, that patch never got merged, and seemed to get stuck
21916 reread_symbols, and reread_symbols loops over every currently loaded
21917 objfile and tries to check if the file has changed on disk by calling
21939 What this means is that when GDB creates the in-memory BFD, and we
21942 this patch changes to use bfd_stat() we now get back 0, and so we
21950 As I'm not specifically checking for, and then skipping, in-memory
21973 unexpected situation, and worth warning the user about.
21975 So, in theory, I could just call print_sys_errmsg and remove the
21977 output... so in the end I remove the comment and updated the code to
21980 But that got me looking at print_sys_errmsg and how it's used.
21982 Currently the function takes a string and an errno, and prints, to
21987 filename, and this is used when something goes wrong. In these cases,
21989 better, and in fact, in a couple of places we manually print a
21990 "warning" prefix, and then call print_sys_errmsg. And so, for these
21992 takes a filename, which is printed with styling, and an errno, which
21993 is passed through strerror and the resulting string printed. This new
22012 With that done there are now no users of print_sys_errmsg, and so the
22022 errmsg I also removed the other two users, and the static buffer.
22026 'warning: ' prefix, and in the other 'Warning: ' becomes 'warning: ',
22035 strings when we could easily use std::string and string_printf to
22039 be presented in a later patch in this series, and thought this was
22043 build on a Solaris machine, and I don't believe that I've broken
22054 there is a diagnostic message that can be printed, and in some cases
22058 disk, we do this by stat-ing the on disk file and checking the mtime.
22075 However, the above commit doesn't include any tests, and seems to
22078 archive, and so there's no tests for this commit...
22081 please let me know and I'll try to get something working.
22105 * microblaze-opcm.h (struct op_code_struct): Tidy and remove redundant entries.
22117 possible. This commit adds a way to identify if the user is root and
22126 stack or a segment with all three read, write and execute permissions.
22132 opcodes: microblaze: Add hibernate and suspend instructions
22136 sme2: Document SME2 registers and features
22147 for ZT0 and also core file generation.
22158 Unlike the enablement for SME1 and the ZA register, support for SME2 is rather
22168 Teach gdb about the ZT state on signal frames and how to restore
22184 This patch teaches gdbserver about the SME2 and the ZT0 register.
22197 SME2 defines a new 512-bit register named ZT0, and it is only available
22201 The target description is dynamic and gets generated at runtime based on the
22210 sme: Document SME registers and features
22211 Provide documentation for the SME feature and other information that
22221 registers, pseudo-registers, signal frames and core files.
22231 possible ZA pseudo-registers, and validates the state is correct.
22233 - Core file tests: Validates that core file reading and writing works
22234 correctly and that all state dumped/loaded is sane. This is exercised for
22235 both Linux Kernel core files and gcore core files.
22240 Since some of these tests are very lengthy and take a little while to run
22258 This patch enables dumping SME state via gdb's gcore command and also
22285 This patch goes for the latter, and adds a new gdbarch hook to conditionalize
22321 real gdbarch, and so things like the register cache may have different formats
22322 and sizes.
22350 The TPIDR2 register is closely related to SME, and is available when SME
22362 With SME, where you have two different vector lengths (vl and svl), it may be
22371 number of pseudo-registers and types that gets cached on creation of each
22375 frame, and I noticed the signal frame (tramp-frame) doesn't have a settable
22377 and eventually calling get_frame_arch (next_frame). That means the previous
22381 it and making it reusable for our purposes of calculating the previous frame's
22385 context, and with which we can make various decisions.
22387 Finally, a small change to tramp-frame.c and tramp-frame.h to expose a
22391 signal context and infers the gdbarch for the previous frame.
22401 Teach gdb about the ZA/SSVE state on signal frames and how to restore
22419 only contains fpsimd state and no sve state.
22422 and don't do anything for the z registers.
22424 Fix this by initializing the z registers to 0 and then copying over the
22427 While at it, refactor the code a bit to simplify it and make it smaller.
22438 between gdbserver and gdb. One exception is the bump to gdbserver's
22452 Please note we have the same limitation for SME that we have for SVE, and
22481 manage the elements and the storage is handled automatically.
22493 sme: Enable SME registers and pseudo-registers
22506 sets: NT_ARM_ZA and NT_ARM_SSVE.
22510 into the ZA contents. These can be arranged in a couple categories: tiles and
22517 register and the SVCR register. The size of ZA, like the SVE vector registers,
22522 …[1] https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/scalab…
22545 Fix this by first reading the original contents of the register and then
22560 hand and passing a buffer around, this patch makes that code use
22561 gdb::byte_vector and passes a reference to this byte vector to the functions,
22564 It also shares a bit more code between gdb and gdbserver, in particular around
22569 the ptrace calls. This is not very flexible and assumes one size for the
22574 and touches all the targets, some of which I can't easily test.
22595 *do not* have SVE state, and therefore has_sve_state should be false.
22602 values of both the Z and V registers will still be the same. But the
22605 I used the opportunity to fix this, and it gets tested later on by
22650 and into a dedicated .def file, `aarch64-sys-regs.def'.
22657 is kept as is and used in the def file, but all other SR_* macros
22661 * aarch64-opc.c (SR_CORE): Macro definition and uses deleted.
22698 A new `F_REG_ALIAS' flag is added to the set of register flags and
22700 aliases (and thus which CPENC values are non-unique in this array).
22704 is iterated through until a match in CPENC value is made and the first
22707 "real" register and used incorrectly as the register name in the
22710 With this flag and the new `aarch64_sys_reg_alias_p' test, search
22748 gdbarch (rather than calling target_gdbarch() to find a gdbarch), and
22770 `mips64-openbsd', and `mips64el-openbsd' targets, which default to the
22771 n64 ABI and consequently produce a section layout that is different from
22797 gdb: add Python events for program space addition and removal
22812 I tested this by backing out yesterday's bug fix and verifying that a
22848 Also update debuginfod command help text and gdb.texinfo with
22849 information on section downloading and the new command.
22884 The test-case passes fully with gcc 10, 11, 12 and 13.
22889 The two FAILs with gcc 8 and 9 seem to be due to problems in debug info. Add
22907 ada.strings.maps."=", and gdb uses it to implement the comparison.
22919 - openSUSE Leap 15.4 (using gcc 7.5.0), and
22928 gdb: add Python events for program space addition and removal
22931 program space, and need to know when I should discard entries for a
22935 new program space, so I went ahead and added both new events.
22939 pretty simple to add two new Python events and have these trigger.
22946 These emit NewProgspaceEvent and FreeProgspaceEvent objects
22957 creating the first program space, and as a consequence the first
22960 should change that -- and so, we end up with the consequence that we
22981 and then try again.
22984 and then try again.
22987 and then try again.
22998 and then try again.
23008 running (and in non-async mode) then GDB will try to send a fileio
23009 packet while the remote target is waiting for a stop reply, and the
23015 account for these warning messages in one of my tests, and it all
23058 variable and disable any terminal styling when it is seen.
23086 and it fails for Little endian. This patch allows support for both
23096 x86-64: Add -z mark-plt and -z nomark-plt
23097 The PLT entry in executables and shared libraries contains an indirect
23130 and set the r_addend field of the R_X86_64_JUMP_SLOT relocation to the
23141 DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT for
23144 DT_X86_64_PLTSZ and DT_X86_64_PLTENT.
23164 * ld.texi: Document -z mark-plt and -z nomark-plt.
23211 local patches. I've attempted to update it and remove a fair amount
23216 native-gdbserver and 5 PASSes for the native target as well as
23223 and the main program.
23261 Added support in gas for mlittle-endian and mbig-endian flags as options.
23280 and target board unix/-m32.
23292 I set a breakpoint at fork and ran to the breakpoint, and somewhere during the
23307 What likely happened is that I managed to reproduce PR29040, and TUI (attempted
23334 Now press <up>, and the segfault triggers.
23363 Thanks to Lancelot Six for testing and fixing this patch.
23406 callbacks are methods, and the "open" function is a function view.
23445 check on the executable file, and only calls exec_file_attach if the
23450 iterate over the objfiles list, and for each of those we check the
23468 list and reload them in the normal way.
23484 The new event registry is called events.executable_changed, and this
23487 the executable changed, and a Boolean called 'reload', which is True
23488 if the same executable changed on disk and has been reloaded, or is
23519 1. The program_space in which the executable was changed, and
23525 In this commit I change the signature of the observable and then pass
23531 observable in the Python code, and expose this as an event in the
23552 isn't directly associated with a change of the executable file, and so
23556 executable_changed observer as I believe those users can, and should,
23561 function reread_symbols is perfectly safe, and correct. At this point
23563 executable_changed notification, and, as there is nobody listening to
23574 and is similar in many ways.
23584 observable and replaced it with a new_obfile observer instead, and
23593 exits and when an inferior appears.
23597 observable. All the tests still pass, and with some locally placed
23610 reread_symbols function (in symfile.c), and this doesn't actually
23613 that, I need to check that nothing is going to break, and that
23629 when a new objfile is loaded, and also (when its argument is nullptr),
23638 All tests still pass, and, in my local world, I added some debug
23639 printf calls, and I think we are still discarded the main information
23651 The path within this attribute will be set by the "exec-file" and/or
23676 Progspace.objfiles, and then search for the objfile with a name that
23708 and checks the register state against the one previously saved. The
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
23736 x87 and SSE.
23739 field (and consequently the size of the XSAVE state note in core files)
23746 /* Intel and AMD CPUs supporting AVX. */
23771 the kernel enables all of the available features, then ECX and EBX
23800 Fix this by hardcoding nopie in the test-case, and for good measure in the
23801 other test-cases that source unwind-on-each-insn.exp.tcl and use a .s file.
23814 Add check for libdebuginfod 0.188 in AC_DEBUGINFOD and if found
23846 is supposed to track features that were explicitly enabled (and perhaps
23850 introduce helper functions used by both command line handling and
23888 ... and then a set of cascading failures.
23891 were not defined. I.e., ignore ENOTSUP errors, and proceed with
23917 same problem, by adding a new print_error function and using it.
23947 opcodes: microblaze: Add wdc.ext.clear and wdc.ext.flush insns
23957 x86: fold FMA VEX and EVEX templates
23962 x86: fold VAES/VPCLMULQDQ VEX and EVEX templates
23964 AVX512F counterpart ones, do this for VAES and VPCLMULQDQ ones as well.
23968 x86: fold certain VEX and EVEX templates
23988 x86: tighten .insn SAE and broadcast checking
23997 REX.W needs to be respected when immediate size and relocation type are
24016 and c-exp.c.tmp. Just include it in the list of symbols we rename.
24029 address, and the address should be 4-byte aligned.
24116 and DAP is updated to use this.
24130 documented that printers might acquire new methods, and so existing
24151 because there's no process with pid 1 and cmd init or systemd.
24207 (2) and (3) use the preprocessor to generate static initialisers.
24216 initialiser for three features A, B and C would be written:
24226 With any gdb.dap test and python 3.6 I run into:
24238 - openSUSE Leap 15.4 with python 3.6, and
24251 Tested both on FreeBSD/amd64 and FreeBSD/aarch64 by rebuilding.
24260 …need to check during stepi if we are able to step 8 bytes during this instruction execution and is…
24261 breakpoint to this instruction set correctly in both 32- and 64-bit mode.
24297 …and reccord all range and address bases in a CU. (process_debug_info): Call read_bases. (display_d…
24310 Revert "arc: Add new linker emulation and scripts for ARCv3 ISA."
24338 - an BFD ARC target for ARCv1 and ARCv2 CPU families. It also works
24372 and ILINK2. Update tests.
24379 * gas/testsuite/gas/arc/and.d: Likewise.
24427 (find_format_from_table): Discriminate between signed and unsigned
24441 the old ARCv1 and ARCv2 ISA. Thus, the ARCv3 addition is using
24445 configure defines named TARGET_ARCv3_32 and TARGET_ARCv3_64 which are
24481 (md_begin): Detect and initialize the correct CPU and coresponding
24498 Add new ARCv3 CPUs and required bits to decode/encode ARCv3 ISA
24508 * include/elf/arc-cpu.def: Add new HS5x and HS6x CPUs.
24530 arc: Add new linker emulation and scripts for ARCv3 ISA.
24543 * ld/scripttempl/elfarc.sc: Update stack and heap definitions.
24553 concepts. Thus, this patch is reusing the old ARC BFD backend and
24568 (arc_got_entry_type_for_reloc): Use RELA_SIZE and GOT_ENTRY_SIZE.
24662 Update the NetBSD system call table to add memfd_create(2) and epoll(2).
24708 these keywords, and updates target-debug.h to follow. This pointed
24710 target_debug_print_struct_inferior_p and target_debug_print_inferior_p
24719 gprofng: 30834 improve disassembly output for call and branch instructions
24734 and the relative address in the branch instruction. Remove unused code.
24772 I noticed a comment by an include and remembered that I think these
24774 and sometimes they are obsolete. I think it's better to just remove
24789 debugger to get the file contents is wasteful and leads to incorrect
24790 results (DAP clients will try to get the contents from the server and
24824 unpack the filename and line number.
24826 Before attempting to unpack the filename and line number from the
24828 populate the source and line information separately from the
24844 I use the mouse with my terminal to select and copy text. In gdb, I use
24849 intercepts mouse events. Left-clicking and dragging, which would
24856 buttons 4 and 5. However, this still caused my terminal (gnome-terminal)
24866 used to select and copy text.
24878 3. Click and drag text with the mouse. Observe no selection.
24880 5. Click and drag text with the mouse. Observe that selection works now.
24882 7. Click and drag text with the mouse. Observe no selection.
24888 - use -fdebug-info-types to generate type units in a .debug_types section, and
24898 It's just not generated by dwz or any other tool atm, and consequently gdb has
24908 and add an assert in write_gdbindex:
24954 and propagate return to callers.
24979 Handle pointers and references correctly in DAP
24984 pretty-printer for pointers and references is quite simple.
24996 This changes main_type to hold a language, and updates the debug
25003 language, and it adds a new type::is_string_like as well. This in
25009 Add is_array_like and to_array to language_defn
25010 This adds new is_array_like and to_array methods to language_defn.
25012 Python array- and string-handling code.
25020 init_fixed_point_type currently takes an objfile and creates its own
25064 having such a left out breakpoint will lead to a GDB hang, and this
25083 some code and test improvements that should be made.
25109 val_prettyformat does not need to be in defs.h, and is easily moved to
25269 Thanks for accepting the role, and congratulations!
25310 The current code returns different TLS_TBSS values for .tdata and
25338 it would be nicer if the duplication is removed, and we just use:
25391 x86: fold CpuLM and Cpu64
25392 Now that CpuLM is used solely in cpu_arch_flags and cpu_arch[] while
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
25430 when in MI mode, and uses this new mechanism to skip the related section
25506 input and output files, I think that testing resources would be
25554 of the problem, and with this patch in place there are no longer
25566 and 1 GB of swap, and noticed problems after running gdb.base/huge.exp: gdb
25578 Say we add a loop around the "print a" command and print space usage
25604 In other words, we start out at 8MB, and the first print costs us about 469MB,
25605 and subsequent prints 8MB, which accumulates to 1.3 GB usage. [ On the
25637 pre-allocated memory) and will likely vary between different tunings, versions
25638 and implementations, so this does not give us a reliable way detect the
25679 Add Fortran and Ada variants of the test-case. The *.exp files are similar
25703 - factor out hardcoded loop limits min and max,
25704 - handle compilation failure using require, and
25705 - avoid using . in regexp to match $, {} and <>.
25714 Looking at the VEX and EVEX forms of vcvtneps2bf16 I noticed that
25721 Recognize "/<number>" suffixes on both -march=+avx10.1 and the
25733 Note that .insn continues to be permitted to emit EVEX{512,256} (and
25748 adjusted. Note that 256- and 128-bit tests want adding here, as these
25752 Since it was missing and is wanted here, also add an AVX512VL+VPOPCNTDQ
25761 AVX and XOP), add_isa_dependencies() needs some further tweaking.
25814 the same time, if we do send errors, they should be intentional and
25898 I noticed a typo in the "Basic Python" node, and when fixing it
25926 So now after this change test is updated accordingly to disable and unload
25934 Following the example of private_thread_info and private_inferior, turn
25937 Also merge btrace_tinfo_bts with btrace_tinfo_pt and inline into
25945 The code is only used in remote.c and all functions can be declared static.
25960 FXSAVE Area" (and equivalent sections for FSAVE and XSAVE) or in the AMD
25961 manual [2] at section "11.4.4 Saving Media and x87 Execution Unit
25967 However, the FXSAVE and XSAVE instructions (which the kernel uses to
25969 differently on AMD CPUs. In section "11.4.4.3 FXSAVE and FXRSTOR
25972 The FXSAVE and FXRSTOR instructions save and restore the entire
25973 128-bit media, 64-bit media, and x87 state. These instructions
25974 usually execute faster than FSAVE/FNSAVE and FRSTOR because they do
25975 not normally save and restore the x87 exception pointers
25976 (last-instruction pointer, last data-operand pointer, and last
25982 So, unless a floating point exception happened and that exception is
25992 and executing an instruction to raise that kind exception. It worked,
25993 but then I would have to change the test more extensively, and it didn't
26019 when a DW_CFA_advance_loc4 of zero is seen in eh_frame_relax_frag and
26054 x87 to want to print the "x87 last instruction address", and have no
26057 sections of the Intel manual (between the FSAVE, FXSAVE and XSAVE area
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
26182 this test would fail when using the native-gdbserver board (and other
26189 matches, and the test fails.
26196 reference to the inferior's output, and replacing it with '.*', which
26232 The modified test in function-calls.exp actually passes with ifort and
26235 whole patch was written with gfortran and the GNU Fortran argument
26243 The modified tests array-slices-bad.exp and vla-type.exp both set a
26251 stop at the 'program ...' line and gfortran stops at a variable
26258 two tests and instead uses runto to directly run to the first breakpoint
26260 behaviors and makes the tests more robust.
26275 This worked fine for gfortran and ifx, but it seems that, when compiled
26277 assmbler instructions and especially no line table entries. Consider
26298 at 3 and checking the assembly we see
26309 the value into a register and one writing it back to the same memory.
26311 and also has no line table entry:
26321 ifort), and as I don't think this behavior is covered in the Fortran
26332 bunch of nested function calls we issue and test a 'info args' command
26349 and usually one would expect arguments a, b, c, d, e, and g to be
26365 Fortran standard about this) is different and we see
26376 To make both outputs pass the test, I kept the additional argument for now and
26400 bundle_words and does the parallel bit checking only when filling
26402 bundle_words[word_count-1] with the parallel bit clear and all other
26406 kvx_reassemble_bundle return true for success rather than zero, and
26425 update the display text; and second, computing the display text should
26441 varobj_set_display_format takes an enum and exhaustively switches on
26452 c_value_of_variable, which specially handles arrays and structures --
26465 With test-case gdb.ada/same_enum.exp and target board dwarf4-gdb-index we run
26474 so this is broken in gdb 12 and 13. ]
26483 which points to the CUs 2 and 3 in the CU list (shown using "2" and "3"), but
26484 should be pointing to the TUs 2 and 3 in the TU list (shown using "T2" and
26532 When using target board debug-types, the enums E1 and E2 are replicated in the
26533 .debug_types section, and consequently in ada_resolve_enum the type
26604 are ever passed to it -- and they are similar enough that it seems
26648 Use 32/64_PCREL to replace a pair of ADD32/64 and SUB32/64.
26650 usually generates 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.
26660 The vendor operands should be named starting with `X', and preferably the
26673 t-head operands. Minor updates for indents and comments.
26678 operands. Minor updates for indents and comments.
26691 (Output_section::add_merge_input_section): Use char16_t and
26692 char32_t for 2- and 4-byte entry size, respectively.
26709 This patch fixes that problem, and another that could occur on an
26726 The test-case does "print red" and expects one of these two choices to be
26737 the RGB_Color type is eliminated from the debug info, and consequently
26748 Fix this by changing the type of SC to RGB_Color, and add prints of the two
26785 representing both CUs and PUs:
26791 and the lookup is done in that CU.
26825 and both the CU and PU are visited by iterate_over_some_symtabs.
26829 Tested on x86_64-linux, target boards unix, cc-with-dwz and cc-with-dwz-m.
26838 src-release.sh (SIM_SUPPORT_DIRS): Add libsframe, libctf/swap.h and gnulib
26840 made by "./src-release.sh -b sim", when building e.g. bfd and
26845 configured contents. Do as for the single gdb files and include
26857 We set LD_LIBRARY_PATH and GPROFNG_SYSCONFDIR to find our libraries and
26860 Tested on aarch64 and x86_64 with and without --enable-shared and --target=<>.
26868 * testsuite/lib/Makefile.skel: Move LD_LIBRARY_PATH and
26883 messages between GDB's "continuing" and "Inferior killed" messages.
26917 and reworks some of the line-wrapping tests to account for the argv
26925 Handle array- and string-like values in no-op pretty printers
26927 array- and string-like objects known by the gdb core. Two new tests
26928 are added, one for Ada and one for Rust.
26936 exposed via val-print, and via varobj -- but currently not via DAP.
26941 Type.is_array_like and Value.to_array are added to make Python aware
26969 Introduce type::is_array_like and value_to_array
26970 This adds the type::is_array_like method and the value_to_array
26975 compiler-generated structure types; in particular both the Ada and
26994 This adds a new enum constant, TYPE_SPECIFIC_RUST_STUFF, and changes
27004 This patch exposes rust_slice_type_p and introduces
27010 There's no need to have it in rust-lang.h and moving it lets us avoid
27051 Avoid crash with Ada and -fdata-sections
27062 …p_relocations and get_symbol_index_type into here. (long_option_values): Add OPTION_NO_EXTRA_SYM_I…
27070 M_VMSGEU and instead simply use an unused (for these macros) field to
27078 only adds extension name support and implication to the 'Zicsr' extension.
27099 RISC-V: Add 'Smcntrpmf' extension and its CSRs
27100 This commit adds now stable and approved 'Smcntrpmf' extension defined by
27101 the RISC-V Cycle and Instret Privilege Mode Filtering specification.
27103 Note that, because mcyclecfg and minstretcfg CSRs conflict with the
27122 CSR_CLASS_SMCNTRPMF and CSR_CLASS_SMCNTRPMF_32.
27125 "mscounteren" and "mhcounteren" CSRs and note that they are now
27129 and "mhcounteren" CSRs and note that they are now reused for
27145 Move "mscounteren" and "mhcounteren" CSRs, make them aliases and
27147 (CSR_MSCOUNTEREN, CSR_MHCOUNTEREN) Remove as "mscounteren" and
27148 "mhcounteren" are now aliases and new CSR macros are used instead.
27154 RISC-V: Prohibit combination of 'E' and 'H'
27162 This commit prohibits the combination of 'E' and 'H' extensions.
27166 * elfxx-riscv.c (riscv_parse_check_conflicts): Prohibit 'E' and
27190 * elf32-arm.c (tag_cpu_arch_combine): Add name_table parameter and
27251 patch fixing the corresponding PR and reproduced the problem it's supposed to
27299 The problem is on the gdbserver side, the zmmh and ymmh portions of the
27320 is necessary and supported uses an appropriate objdump for $host
27326 -rdynamic and plugins not being usable with such a compiler. In fact
27344 wrong command name. Then I looked through the whole file and found a
27360 The name we use internally isn't in line with the SDM, and also isn't in
27420 PR30806, CPPFLAGS are missing for bfd/chew, syslex_wrap and sysinfo
27441 * testsuite/ld-elf/pr30791a.d: Xfail for generic and z80
27443 * testsuite/ld-elf/pr30791b.d: Xfail for hppa and z80 targets.
27450 which is a bit less wordy and also (IMO) clearer.
27540 threads, and thread local storage. Fortunately, none of that is
27547 After separately starting the test case and noting the process id,
27548 start gdb (w/ no arguments), and do the following to reproduce the
27573 the SYMFILE_MAINLINE (and hence the OBJFILE_MAINLINE) flags being
27637 should become a method that takes an objfile and returns an answer
27713 sectioning commands, and (2) that some users are stuck on very ancient
27734 I usually run target boards cc-with-dwz and cc-with-dwz-m using a dwz build
27735 from current trunk, but the pathname to the build dir changed and I forgot to
27748 that this situation is detected and we get instead:
27765 gas init_stab_section and get_stab_string_offset
27780 as I see that function might skip over end-of-line, and lack of a
27800 and free_stabstr_secname params. Don't make stabstr section
27804 bool freenames. Move creation of stab and stabstr sections
27815 This macro and the supporting functions have an unused "seg" first
27880 copy_fields, and there's already a comment for the third.
27898 and fixing PR30810 by using TYPE_ZALLOC, I wondered if there were more
27910 - a regular use would be "alloc_fields (nfields)", and
27931 - type not owned by objfile or gdbarch (eval.c), and
27967 - MEMORY_FILE is a new emulation paramter and sets the name for the
28014 libbfd.texi from libfd.h or libbfd.c. Since both files exist and the
28033 * coff-rs6000.c (do_copy): Likewise, and use sizeof.
28103 behavior of the manual and LLVM.
28110 * riscv-opc.c (riscv_opcodes): Restrict "vt.maskc" and "vt.maskcn"
28158 and compiled as a C++ file, but also in the testsuite and compiled as a C
28171 array_operation::evaluate has variables named "tem2" and "tem3". This
28172 patch replaces one with a better name, and entirely removes the other.
28199 In array_operation::evaluate, 'idx' and 'tem' are redundant in one
28219 cleaner and easier to reason about. I also changed 'nargs' to be
28296 into a compilation failure due to the test-case requiring c++11 and the
28317 "c.utf8" by host_locales, so there's a match and have_host_locale returns true.
28320 "c.utf-8" by host_locales, so there's no match and have_host_locale returns false.
28334 defaults to 'false' and fixes up all the callers.
28340 Unify getpkt and getpkt_or_notif_sane
28341 getpkt and getpkt_or_notif_sane are just wrappers for
28343 getpkt, with a suitable default, and removes the wrappers.
28350 This changes getpkt and related functions to use bool rather than int.
28387 and:
28398 Tested on x86_64-linux and i686-linux.
28419 and limit the xfail to unfixed versions.
28423 for the major version and ignore the backported fixes.
28448 kernel), the -1 register nums would wrap around and store the value
28451 checking X86_XSTATE_ZMM and skip the ZMM region handling entirely if
28458 x86: Remove X86_XSTATE_SIZE and related constants.
28487 gdbserver: Add a function to set the XSAVE mask and size.
28488 Make x86_xcr0 private to i387-fp.cc and use i387_set_xsave_mask to set
28490 and initialize it in the new function as well to be used in a future
28509 offsets. Some tables (those for MPX registers and ZMMH registers) had
28527 Refactor i386_linux_core_read_xcr0 to fetch and return a corresponding
28549 Refactor i386fbsd_core_read_xcr0 to fetch and return a corresponding
28556 set and only fetch/store the register set if this size is non-zero.
28587 set offsets based on known combinations of XCR0 masks and total state
28608 and SSE registers. The next 64 bytes (XSAVE header) contains a header
28616 additional CPUID leafs describing the size and offset of each
28620 ptrace() and core dumps.)
28623 for state components in the extended region and hardcoded those
28624 offsets in the tables in i387-tdep.c and i387-fp.cc. However, this
28626 Specifically, AMD Zen3 and later processors do not leave space for the
28627 MPX register set in between the AVX and AVX512 register sets.
28633 Subsequent commits will modify XSAVE parsing in both gdb and gdbserver
28641 Mark Wielaard pointed out that cooked_index::dump uses PRIx64, and
28648 The getsymname function uses PRIxPTR to print and uintptr_t value in
28656 Building gdb with gcc 7.5.0 and -flto -O2 -flto-partition=one generates a
28683 bfd_coff_swap_aux_in, both inside BFD and outside, eg. GDB. Buffer
28699 and unnecessary casts. Don't zalloc when only the string
28700 terminator needs zeroing, and memcpy rather than strncpy.
28752 failures due to the test-cases requiring c++11 and the compiler defaulting
28773 Use targ_size=64 and targ_extra_size=32
28786 EM_MIPS_RS3_LE has been deprecated quite long ago, and in fact
28790 gold is a linker, and all of the inputs to it has right EM values.
28807 I was looking at dos_message and wondering why we have H_PUT_32
28809 On a big-endian machine this would result in scrambling the code and
28833 htab_create call, and delays creating the table until an
28837 (htab_hash_flags, htab_eq_flags): ..and these support functions..
28839 (comdat_hashf, comdat_eqf): ..this and adding..
28846 bfd. The xvec may have changed during bfd_check_format and thus the
28911 segment and ended with a call to 'abort'.
28928 opcodes i386 and ia64 gen file warnings
29060 coffread.c:getsymname actually contains a FIXME about this, and that's
29081 Fix for call feature having 9th function parameter and beyond corrupt values.
29084 While doing so, in 64 bit mode the words were not zero extended and was coming like 32 bit mode.
29116 a few more tests, a number of xfail-s (and one notarget) can be
29118 comments anyway). Note that section7 and section15 need to be left
29120 and is getting in the way now. For section12b, section16b, and most of
29122 the need to xfail section11 for LoongArch and RISC-V also goes away.
29126 gas/ELF: allow "inheriting" section attributes and type
29131 Assign meaning to '+' and '-' as section attribute letters, allowing
29132 to inherit the prior section's attributes (and possibly type) along
29175 call to rela_dyn_section creates it, and as this comment in
29184 for size == 64, and assert that rela_dyn_ already exists.
29197 process and complete the runtime activation sequence.
29214 query arch specific details from dbgapi and subsequently fail to
29221 supported by both BFD and amd-dbgapi, and error-out otherwise.
29264 unexpected error occurs, and badly formed asm expressions.
29267 for some reason, the test will emit an UNSUPPORTED and continue testing
29268 by reversing from the current location and checking all registers for
29271 de-synced and will emit many unrelated failures.
29274 fact failed to record the execution of the whole function, and
29279 testing with clang-15 from around 150 to 2, and correctly identifies
29290 anything, whereas clang assumes that the output is in %rax, and writes
29309 that would save, change and reset registers into a single asm statement.
29322 to get seriously out of sync with the test expectations, and result in 13
29335 The tests gdb.reverse/solib-precsave.exp and solib-reverse.exp have the
29339 and the test to accept either line as a correct step location.
29381 DT_JMPREL and others.
29386 section for DT_JMPREL and DT_PLTRELSZ.
29388 and for DT_PLTGOT and when adjusting DT_RELA.
29397 Fix this by splitting the linker MEMORY into ram and rom to avoid
29406 padding is added before pi to show that the actual address of pi and
29422 kvx: use {u,}int32_t and {u,}int64_t
29424 * config/kvx-parse.c (promote_token): Use {u,}int32_t and
29432 * kvx-dis.c (struct decoded_insn): Use {u,}int32_t and
29498 If a linker script does not place the PLT relocations and "normal"
29500 values for DT_JMPREL and DT_PLTRELSZ - they cover the entire ELF section,
29504 BFD section and its offset from the output_secttion
29510 section for DT_JMPREL and DT_PLTRELSZ.
29541 After running a number of programs under Windows gdb and detaching
29542 them, I typed run in gdb, and got a hang, here:
29563 enough to store the entire list and call the function again.
29614 signal occurred, and the second at the location of the breakpoint.
29618 commit 2e411b8c68eb tried to solve (for the CLI) and b1c0ab20809a
29628 occurred, and this isn't what happens.
29632 this fixes things for both CLI and MI.
29635 inferior function call completes and GDB is figuring out if the user
29648 and we will not announce the first stop (by calling normal_stop).
29654 2. If the inferior function call stopped due to a signal and 'set
29655 unwindonsignal on' is in effect, and
29658 exception, and 'set unwind-on-terminating-exception on' is in
29666 In this commit I now call ::should_notify_stop and use this to
29675 Here is how GDB 13.1 behaves, this is before commits b1c0ab20809a and
29705 Then after commits b1c0ab20809a and 2e411b8c68eb the behaviour changed
29783 correct location, and the error message describes which signal caused
29797 gdb/testsuite: add mi_info_frame helper proc (and use it)
29799 -stack-info-frame command and matching its output.
29802 argument list and uses this to build the expected result regexp. This
29817 I've update the two existing tests that use -stack-info-frame and
29819 -stack-info-frame and expects the command to fail -- the helper proc
29831 with gdbserver, letting it run for a bit, and then pressing Ctrl-C, we
29884 ... and sometimes wants to suppress the notification for the main
29895 this patch out and rebasing, are entirely my own.
29902 gdb: remove the silent parameter from exit_inferior_1 and cleanup
29904 silent parameter. This commit removes this parameter and cleans up
29907 After doing this exit_inferior_1, exit_inferior, and
29909 exit_inferior and delete exit_inferior_silent, update all the callers.
29935 silent parameter, and
29941 inferior::clear_thread_list, and makes the function always silent.
29956 splitting this patch out and rebasing, are entirely my own.
29965 Remove the static mi_parse::make functions, and instead use the
30005 checked with gcc, and at -O1 and above gdb::make_unique will be
30009 to go through the code and replace gdb::make_unique with
30038 This commit moves the support to mi_make_breakpoint_1, and updates all
30039 the procs that use mi_make_breakpoint_1 to accept, and then pass
30040 through, and (optional) inferior argument. This will make it much
30065 after commit b080fe54fb34 was written, but before it was merged, and I
30073 and add a test that checks the MI events are being emitted correctly
30084 * config.bfd: Adjust targ_defvec and targ_selvecs and gate them
30090 (elfNN_kvx_relocate_section): Similarly for r_offset, and
30104 used 64 rather than O_pseudo_fixup. Fix this, and wrap some overlong
30109 (insert_operand): Delete bogus comment and cast.
30119 overflow when running the testsuite, and that clz(0) is undefined.
30143 kvx bfd signed calculations and _bfd_kvx_elf_resolve_relocation
30147 with bfd_vma, and removes _bfd_kvx_elf_resolve_relocation, a
30152 presume the code is correct, but I've left the dead code and comment
30167 Indentation, whitespace and comment fixes.
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
30189 end of the string and potential buffer overruns.
30237 and move those defines into a new file cgen-remap.h, similar to how that's
30240 Likewise for targets frv and lm32, the two other targets that include
30259 and I couldn't figure out why it was there. I think maybe it came
30267 aarch64: Improve naming conventions for A and R-profile architecture
30268 Historically, flags and variables relating to architectural revisions
30275 everything associated with the A-profile cores end in `A' and likewise
30282 baseline from which ALL processors derive and should therefore be left
30286 have `ARM_ARCH_V8A' and `ARM_ARCH_V8R', the choice is made to not have
30287 an underscore separating the numerical revision number and the
30289 R-profile related flags and variables was warranted, thus going from
30292 Finally, this is more in line with conventions within GCC and adds consistency
30387 the entry count uleb is ridiculously large, and format attributes
30398 anyway, and it doesn't make much sense to error on unexpected arch or
30400 and it's better to choose some default for a user passing an unknown
30434 immediates, and these erroneous instructions were recently removed from
30439 bpf: correct neg and neg32 instruction encoding
30452 BPF_INSN_NEGI and BPF_INSN_NEG32I.
30455 * bpf-opc.c (bpf_opcodes): Remove erroneous NEGI and NEG32I
30459 * doc/c-bpf.texi (BPF Instructions): Remove erroneous neg and
30481 and writing core files. This also enables readelf/objdump to show the
30489 Add required code to support core file dumps with NT_ARM_ZA and NT_ARM_SSVE
30496 bfd_close_all_done bug and bfd_last_cache
30505 commit 8219cab3f8 fixed multiple bugs of this type in bfd_close and
30543 Makefile:5043: *** mixed implicit and normal rules: deprecated syntax
30547 This patch removes the stray '%' and rebuilds the Makefile.in. I'm
30652 Results both before and after were:
30676 do with --enable-maintainer-mode, and added --enable-cgen-maint
30678 different directory by default than opcodes, and I had my source
30680 use ../cgen first, then ../../cgen relative to sim/ and opcodes/. The
30746 patch removes these includes, and also one unnecessary include of
30751 x86: remove indirection from bx[] and di_si[]
30757 gas: make S_IS_LOCAL() and S_IS_EXTERNAL() exclusive of one another
30777 I noticed minidebug.c was still using explicit malloc and free, where
30801 As GDB gains better support for multiple connections, and so for
30831 correct thread or inferior, and resumes automatically if we stopped in
30837 would reduce the number times GDB has to stop and then resume again in
30865 Fix this by renaming to ada_exp_yysymbol_kind_t and likewise for other .y
30875 generated bfd files, and kvx regen
30876 The elf32-kvx.c and elf64-kvx.c rules in the bfd makefile are
30877 different to the other similar generated files, and that reminded me
30882 using $<, and edits bfd.pot.
30885 of files and regen with our standard automake/autoconf.
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.
30922 Indeed, std::allocator::construct has been deprecated in c++17 and removed in
31004 When building gdb with clang 15 and -std=c++20, I run into:
31021 When building gdb with clang 15 and -std=c++20, I run into:
31024 enumeration types ('const enum return_reason' and 'const enum errors') is \
31051 - making the copy-to-remote conditional on is_remote target, and
31078 - The manual is updated to document this, and testsuite adapted
31137 and noticed gdb segfaulting during cooked index creating due to running out of
31143 dwarf2_attr and follow_die_ref.
31157 yes if it is cheap/obvious, and no if it is something complicated or expensive.
31159 and at this point I'm not sure whether fixing this will fall in the first
31171 all digits. While this isn't valid -- and would probably only appear
31189 Here the code errors when vvo is not null -- and then proceeds to use
31205 As this is Ada-specific, and has already been tested internally at
31220 creates two threads and then catches the thread exits in Python. The
31232 later, and added a pthread_barrier_t to ensure the threads exit in the
31259 If we adjust the test script so that it runs in the default mode and
31264 possible to turn on non-stop mode and have the test still work, so
31268 an exec as well as the current exit. Exec and exit are the two ways
31272 In this test the inferior performs a vfork and the vfork-child
31273 immediately exits. The vfork-parent will wait for the vfork-child and
31277 In the test that fails, GDB sets 'detach-on-fork off' and then runs to
31279 fails as the vfork-parent is still selected, and the parent can't
31284 The test script then sets 'schedule-multiple on' and once again
31285 continues. This time GDB, in theory, resumes both the parent and the
31287 will run until it exits, and which point GDB stops again, this time
31300 3. All-stop-on-all-stop before commit b1e0126ec56e, and
31306 the regression, and (b) it turns out the behaviour of #2 changed too
31317 individually, so GDB tries to resume both the vfork-parent and the
31323 EXITED event for the vfork-child and the VFORK_DONE event for the
31329 (a) As GDB is controlling both parent and child the VFORK_DONE is
31334 vfork-child, and stops, returning control to the user.
31339 vfork-child, and stops, returning control to the user.
31348 both the vfork-parent and the vfork-child, only the vfork-child is
31354 from the kernel, but this is ignored just as in (5)(d), and so,
31356 overall pattern of which events are reported and when, doesn't
31380 EXITED event for the vfork-child and the VFORK_DONE event for the
31385 handle, and whichever we select the user sees the correct
31402 nothing resumes, then nothing will ever stop, and so GDB appears to
31409 and place it in proceed, but only on the all-stop-on-non-stop
31419 me, and so,
31422 b1e0126ec56e, we only resumed the vfork-child, and this seems fine.
31425 child to complete, and then resuming the parent.
31429 the parent and child based on which the user wishes to follow. So, I
31436 commit b1e0126ec56e, and with this new fix is:
31440 2. In follow_fork, and follow_fork_inferior, GDB switches the
31447 the current selected thread, this is not a vfork-parent, and so
31452 it is a vfork-parent), and then the vfork-child is resumed as
31555 currenlty only such targets use it, and if a target at another stratum
31571 immediate value is a 64-bit unsigned type and this constant is not (and
31591 "if the Zfh or Zvfh extension is implemented" (both the latest and the
31595 'Zfh' extension and "fli.h" required 'Zfh' and 'Zfa' extensions).
31596 This commit makes "fli.h" also available when both 'Zfa' and 'Zvfh'
31624 This commit adds 'Zihintntl' extension and its hint instructions.
31644 including auto-compression without C prefix and explicit C prefix.
31648 between 'Zihintntl' and base 'I' or 'C' instructions.
31654 classes: INSN_CLASS_ZIHINTNTL and INSN_CLASS_ZIHINTNTL_AND_C.
31675 bounds being exceeded in the code processing Cs/Cw, Ct/Cx, and CD,
31677 a 64-bit value, and it also doesn't need to - all operand fields to
31695 [gdb/build] Fix YYSTYPE and yyalloc odr violation
31702 Fix this by renaming to ada_exp_YYSTYPE and likewise for other .y files.
31731 had vanished and discarded the pending stepping state. When the
31759 fbsd-nat: Fix resuming and waiting with multiple processes.
31761 support when I enabled it previously and several parts were broken.
31763 and wait was not stopping other processes when reporting an event.
31766 structure which trackes the number of existing and running LWPs for
31781 later. If not, send a SIGSTOP to the process and wait for it to stop.
31783 event and remember to ignore a future SIGSTOP event for the process.
31792 create_inferior, and follow_fork methods.
31798 the set of threads and processes previously resumed, defer the event.
31799 If the event is for a specific thread, suspend the thread and continue
31805 yet "know" about the new thread and will not suspend it via
31846 Fix this by renaming to c_token and d_token.
31850 - go-exp.y, renaming to go_token, and
31875 Fix this by renaming to c_token_and_value and d_token_and_value.
31901 Fix this by renaming to enum scm_param_types and py_param_types.
31921 which declares both an enum param_types, and an unused variable param_types.
31944 and "maint print psymbols":
31999 Fix issue reported by Dave and Alan.
32001 Put back the old pattern for hppa-*-linux* and add hppa[12]*-*-linux* to cover
32002 Gentoo's hppa1.1 and hppa2.0 without including hppa64 inadvertently like I did
32034 and py-symtab-2.c:
32039 This passes with gdb-12-branch, and fails with gdb-13-branch.
32043 "print rr" will only ever print one, and always the same.
32049 index and gdb-index.
32060 Tested on x86_64-linux, with target boards unix and cc-with-gdb-index.
32072 and option --gprofngdir is passed to gp-display-gui.
32081 gprofng: fix typos in get_realpath() and check_executable()
32152 copied from next-fork-other-thread.exp and then tweaked slightly. As
32156 work, but this can be investigated separately and (re)enabled once it
32163 Running the new test on a Raspberry Pi w/ a 32-bit (Arm) kernel and
32207 During his testing of this fix and the new test case, Luis Machado
32208 found that this test was taking a long time and asked about ways to
32218 Running the new test on x86-64 and aarch64, both native and
32225 the entire test suite for x86-64 and aarch64 running Fedora 38.
32269 "--enable-languages=go" (and not using make with multiple threads).
32301 Fix collection and processing of autoprofile data for target libs
32302 cc1, cc1plus, and lto built during STAGEautoprofile need to be built with
32306 create_gcov should be passed prev-gcc/cc1, prev-gcc/cc1plus, and prev-gcc/lto
32307 instead of stage1-gcc/cc1, stage1-gcc/cc1plus, and stage1-gcc/lto when
32316 Collect both user and kernel events for autofdo tests and autoprofiledbootstrap
32318 sources are kernel addresses and branch targets are user addresses. Without kernel MMAP
32321 user events. The change is to collect both user events and kernel events.
32325 * Makefile.tpl: Collect both kernel and user events for autofdo
32354 development on the D programming language and run-time libraries.
32356 * Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and
32370 and Makefile.
32372 * Makefile.def: Drop libelf module and gcc-configure dependency
32374 * Makefile.tpl (HOST_EXPORTS): Drop unused LIBELFLIBS and
32420 on accurate dependency information between libstdc++ and libgcc_s
32424 and friends for rtp !large. Assume the linker has the required
32425 abilities and set lt_cv_deplibs_check_method.
32462 Add D front-end, libphobos library, and D2 testsuite.
32463 * config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
32480 gcc's build system has BOOT_CFLAGS and various STAGE<N>_C{,XX}FLAGS
32491 STAGE*_CXXFLAGS), but this adds the flag to the CXXFLAGS and
32492 BOOT_CXXFLAGS variables too (as it's already added to CFLAGS and
32531 This makes the host fragment more specific and reduces the number
32544 and condition variables with the mcfgthread library.
32557 and ar.
32576 and the testsuite in gcc/testsuite/gm2.
32582 gcc/m2/gm2-compiler-boot/SYSTEM and gcc/m2/gm2version.
32585 all-target-libgm2 and on=all-target-libatomic. (languages)
32587 and lib-check-target=check-target-libgm2.
32589 and GM2FLAGS. (HOST_EXPORTS) Add definition for GM2.
32594 Add GM2 and GM2_FOR_BUILD. (EXTRA_TARGET_FLAGS) Add
32595 GM2 and GM2FLAGS. (EXTRA_GCC_FLAGS) Add GM2_FOR_TARGET.
32617 * gcc-plugin.m4: Save and process CXXFLAGS.
32644 All (non-PowerPC) 64b Darwin platforms mandate PIC code and therefore force
32653 user tries to configure these as --disable-host-pie, we issue a warning and
32660 * configure.ac: Adjust the logic for shared and PIE host flags to
32676 protection against ROP attacks, and can be viewed as part of a wider
32699 If we are building PIC/PIE host executables, and we are building dependent
32720 Darwin : Update libtool and dependencies for Darwin20 [PR97865]
32721 The change in major version (and the increment from Darwin19 to 20)
32732 LoongArch always support clz and ctz instructions, so we can always use
32734 the code of libgcc, and also benefits Glibc once we merge longlong.h
32737 Bootstrapped and regtested on loongarch64-linux-gnu.
32760 The loongarch64 specification permits page sizes of 4KiB, 16KiB and 64KiB,
32777 The NUMCHILD value for the "A_String_Access" test differs for X86 and
32783 the strings "new_type" and "new_num_children" are printed along with their
32802 is true on PowerPC and false on X86-64.
32812 but this is not true, and attempts to access them hit this error:
32855 …ure of the scoped_restore_current_inferior_for_memory function was changed and in AIX we did not u…
32857 …This patch updates it in aix-thread.c file fixed the break and the thread debugging works alright …
32862 It's not documented anyway, and having it makes no sense anymore with
32876 about half), and isn't likely to grow again in that dimension any time
32885 This patch fixes all the warnings I found in bfd, binutils and ld,
32906 (xcoff_generate_rtinit): Likewise. Also free data_buffer and
32912 (coff_write_object_contents <COFF_GO32>): Likewise, and bfd_malloc.
32934 from bfd_seek and bfd_read.
32935 (pe_implied_import_dll): Handle these fails, and other bfd_seek
32936 and bfd_read return values.
32961 and it's not useful if we keep it (as other code portions just ignore
32988 The DIE at 0x25 contains an intra-CU forward reference, and is deferred during
33012 Notice that 0x2a is the parent of 0x25, and that this is why the qualified
33025 and AFAICT, we store in m_die_range_map the parent of the respective
33090 But it's not evident, and also hard to verify in a test-case.
33121 #0 and in calle.increment. For example
33130 function frame_show_address returns true and print_frame prints the
33131 address. Currently, SAL.IS is false on PowerPC and true on X86-64.
33205 cc-with-debug-names, and ran into:
33216 Tested on x86_64-linux, with target boards unix and cc-with-debug-names.
33241 Tested on x86_64-linux, using target boards unix and cc-with-debug-names.
33260 and AXOR32 pseudo-c dialect asm templates.
33278 breakpoint location insertion and removal flow.
33319 Rename bfd_bread and bfd_bwrite
33320 These were renamed from bfd_read and bfd_write back in 2001 when they
33321 lost an unnecessary parameter. Rename them back, and get rid of a few
33326 and pep-dll-x86_64.c.
33333 is likely slowed down by locking and fflush, only attempting to
33389 Tested on amd64-pc-solaris2.11 and x86_64-pc-linux-gnu.
33412 Tested by building with and without -stdc=++11 on x86_64-linux.
33453 Fortran allows variables and function to be named after language defined
33517 - for language D, "main" was found instead of "D main", and
33551 unconditionally registered with the cache, and their underlying file
33554 needed -- and by default BFD decides that if a file descriptor is
33622 - index-cache writing (due to file $exec), and
33626 - moving the "maintenance wait-for-index-cache" to proc check_cache_stats, and
33634 With gdb build with -fsanitize=thread, and the exec from test-case
33710 - a worker thread writing the index cache, and in the process reading
33711 dwarf2_per_cu_data::is_debug_type, and
33714 The two bitfields dwarf2_per_cu_data::files_read and
33727 With gdb build with -fsanitize=thread, and the exec from test-case
33801 - a worker thread writing the index cache, and in the process reading
33802 dwarf2_per_cu_data::is_debug_type, and
33805 The two bitfields dwarf2_per_cu_data::mark and
33824 Handling of main is special, and a future optimization may skip the lookup and
33829 "ptype main", and
33831 - adding another source file containing function foo, and
33847 With gdb build with -fsanitize=thread and test-case gdb.base/index-cache.exp
33848 and target board debug-types, I run into:
33955 - a worker thread writing the index cache, and in the process reading
33956 dwarf2_per_cu_data::is_debug_type, and
33959 The two bitfields dwarf2_per_cu_data::m_header_read_in and
33974 With gdb build with -fsanitize=thread and test-case gdb.base/index-cache.exp I
34065 - a worker thread writing the index cache, and in the process reading
34066 dwarf2_per_cu_data::is_debug_type, and
34067 - the main thread expanding the CU containing main, and in the process setting
34070 The two bitfields dwarf2_per_cu_data::queue and
34085 With gdb build with -fsanitize=thread and test-case gdb.base/index-cache.exp I
34170 - a worker thread getting the build id while writing the index cache, and in
34171 the process reading bfd::format, and
34172 - the main thread calling find_main_name, and in the process setting
34175 The two bitfields bfd::cacheable and bfd::format share the same bitfield
34178 Fix this by capturing the build id in the main thread, and using the captured
34185 - make sure there's no race between subsequent file commands, and
34198 With gdb build with -fsanitize=thread and test-case gdb.base/index-cache.exp I
34276 (due to command "file $exec"), and
34281 and using the captured value in the worker thread.
34299 PR30697, ppc32 mix of local-dynamic and global-dynamic TLS
34301 a) there are both local-dynamic and global-dynamic tls accesss for a
34302 given symbol, and
34303 b) the symbol is global with non-default visibility, and
34319 over 300 unexpected errors, due to a segmentation fault and several
34321 plugin, and even the gcc testing is shaky at best, this commit restricts
34379 + be of the form "_ada_mumble", and will be rewritten by
34380 + ada_decode. So, recognize it specially here and add it
34405 and after:
34431 and ada_encode ("_ada_foo", false) == "_ada_foo".
34438 Tested on x86_64-linux, with target boards unix and cc-with-gdb-index.
34452 While DAP only supports Python 3.5 and later, f-strings were added in
34470 gdb core to look up the minsym and print its name.
34479 and related bugs.
34482 simply use Frame.name. This handles the PC problem correctly, and
34495 and is a result of feedback received here[1].
34498 condition included an inferior function call, and if the inferior
34523 and inferring from this that GDB must have stopped elsewhere.
34527 not to print the frame during the stop announcement, and for the CLI
34568 event, and interp::on_normal_stop is called (indirectly) from the
34571 to the user, and this is what I do in this commit.
34582 and we should rely on whoever announced the stop to ensure that we
34590 to put the prompt state, and stdin handling into the correct
34592 or not, and
34598 not going to be called, and replaces the async_enable_stdin call
34601 could see this call and the corresponding call in normal_stop.
34605 PROMPT_NEEDED, and leaves stdin registered with the event loop.
34608 and so avoids calling normal_stop.
34611 and handle input from stdin.
34613 As normal_stop is not called the MI problem is solved, and the test
34622 I noticed a few files double-included libcoff.h, and digging deeper I
34626 were missing one, and then removes the PEI_HEADERS workaround and the
34657 This replaces sprintf and strcat calls with stpcpy, and makes use of
34673 writing "out = stpcpy (out, ...):" in each of the decode functions and
34679 (decode_AMDGPU_machine_flags): Use stpcpy and sprintf return
34700 * dlltool.c (look_for_prog): memcpy prefix and strcpy prog_name.
34706 * windmc.c (write_bin): Likewes, and use stpcpy.
34713 I figure I might as well make use of stpcpy and sprintf return value
34717 (format_reg): Use stpcpy and sprintf return, avoiding strlen.
34725 …ified.h:59:10: error: '__builtin_memset' specified size between 2147483652 and 4294967295 exceeds …
34732 and bad opcode count.
34777 Simplify the sprintf calls, and use sprintf return value. Older code
34780 should be OK to use (and we already use the return value elsewhere).
34789 Seen on Ubuntu 23.04 x86_64-linux using gcc-12.2 and gcc-12.3 with
34835 might be nullptr, in which case we trigger undefined behaviour, and
34846 RISC-V: Add support for 'Zvfh' and 'Zvfhmin'
34848 'Zvfh' and 'Zvfhmin'.
34863 This is because the instructions and configurations supported by the
34864 'Zvfh' extension is a strict superset of the 'Zvfhmin' extension and
34870 related to 'Zvfh' and 'Zvfhmin' extensions.
34871 (riscv_supported_std_z_ext) Add 'Zvfh' and 'Zvfhmin' to the list.
34881 and its resolution:
34895 I wrote a patch using is_main_thread (), and found it returning false in the
34947 * libcollector/iotrace.c: Define open64, fgetpos64, and fsetpos64
34948 only when __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not
34957 Don't declare xmalloc and others in ldmisc.h
34965 (yyerror): Prototype and make static.
34996 and to decode it properly.
35001 maps in sources.py, and a new helper function is introduced to compute
35029 should be handled. I'll file a new gdb bug for this, and perhaps an
35033 - I realized that the "hover" context was broken, and furthermore
35035 This version fixes the oversight and adds a test.
35045 This patch implements this and makes some other changes to the DAP
35107 decorator, and changes the DAP entry point to frame filters to use it.
35108 This decorator prefers the symtab's full name, and does not fall back
35129 ... and seemed like a good idea.
35136 This patch refactors dap_launch to make it more extensible and also
35204 I build gdb with -fsanitize=thread and ran the testsuite, and ran into the
35206 the two accesses, and the other one is showing "failed to restore the stack".
35297 - The driver creates a "runtime loaded" event and notifies the debugger
35304 point) and eventually pushes the amd-dbgapi-target on the inferior's
35313 method pulls all the available events from the driver and handles them.
35325 1) already has the amd-dbgapi-target pushed to its target stack and
35329 - The driver creates the runtime activation for inferior 2 and writes to
35331 - GDB has inferior 1 selected and calls target_wait for some reason.
35368 and it might help find other bugs in the future.
35375 info->section->owner. Apparently this is not so in GDB, and therefore
35438 Doug Evans, Yao Qi and myself are stepping down as GDB Global
35483 * readelf.c (get_machine_flags): Recognize and pretty print BPF
35570 Documentation and tests added.
35578 * config/tc-bpf.c (struct bpf_insn): Add fields is_relaxable and
35620 has a confusing name and corresponding comment, because it doesn't contain the
35632 Tom de Vries filed a bug about an intermittent gdb DAP failure -- and
35636 After looking into this for a while (with no results) using ASan and
35666 such as the Debian mips64el and mips64r6el ports. Adjust testsuite
35679 me that there is a clear advantage from adding more and more variations
35693 and consequently `ld/testsuite/ld-mips-elf/reloc-estimate-1.d' does not
35710 * config.bfd: Add `mips64*el-*-linux*-gnuabi64' and
35731 * configure.tgt: Add `mips64*el-*-linux-gnuabi64' and
35743 Expect a `.MIPS.options' section alternatively to `.reginfo' and ignore
35747 mips64-openbsd -FAIL: Compact EH EB #1 with personality ID and FDE data
35748 mips64-openbsd -FAIL: Compact EH EB #2 with personality routine and FDE data
35749 mips64-openbsd -FAIL: Compact EH EB #3 with personality id and large FDE data
35750 mips64-openbsd -FAIL: Compact EH EB #4 with personality id, FDE data and LSDA
35751 mips64-openbsd -FAIL: Compact EH EB #5 with personality routine, FDE data and LSDA
35752 mips64-openbsd -FAIL: Compact EH EB #6 with personality id, LSDA and large FDE data
35753 mips64-openbsd -FAIL: Compact EH EL #1 with personality ID and FDE data
35754 mips64-openbsd -FAIL: Compact EH EL #2 with personality routine and FDE data
35755 mips64-openbsd -FAIL: Compact EH EL #3 with personality id and large FDE data
35756 mips64-openbsd -FAIL: Compact EH EL #4 with personality id, FDE data and LSDA
35757 mips64-openbsd -FAIL: Compact EH EL #5 with personality routine, FDE data and LSDA
35758 mips64-openbsd -FAIL: Compact EH EL #6 with personality id, LSDA and large FDE data
35759 mips64el-openbsd -FAIL: Compact EH EB #1 with personality ID and FDE data
35760 mips64el-openbsd -FAIL: Compact EH EB #2 with personality routine and FDE data
35761 mips64el-openbsd -FAIL: Compact EH EB #3 with personality id and large FDE data
35762 mips64el-openbsd -FAIL: Compact EH EB #4 with personality id, FDE data and LSDA
35763 mips64el-openbsd -FAIL: Compact EH EB #5 with personality routine, FDE data and LSDA
35764 mips64el-openbsd -FAIL: Compact EH EB #6 with personality id, LSDA and large FDE data
35765 mips64el-openbsd -FAIL: Compact EH EL #1 with personality ID and FDE data
35766 mips64el-openbsd -FAIL: Compact EH EL #2 with personality routine and FDE data
35767 mips64el-openbsd -FAIL: Compact EH EL #3 with personality id and large FDE data
35768 mips64el-openbsd -FAIL: Compact EH EL #4 with personality id, FDE data and LSDA
35769 mips64el-openbsd -FAIL: Compact EH EL #5 with personality routine, FDE data and LSDA
35770 mips64el-openbsd -FAIL: Compact EH EL #6 with personality id, LSDA and large FDE data
35776 section as an alternative to `.reginfo' and ignore contents of
35795 calculation is not required. Example output produced by `readelf' and
35803 and:
35929 zeros and spaces with addresses as appropriate.
35995 Use the per-ABI framework then to run the test explicitly for o32 and
36003 with n32 testing for some targets, and ultimately removing these
36017 for o32 and n32 ABIs only.
36095 for o32 and n32 ABIs only.
36099 and n32 ABIs only.
36105 output and specific header sizes. Disable it for `mips64*-*-openbsd*'
36120 to a difference resulting in the number and indices of sections produced
36148 Remove the unnecessary explicit ABI and endianness options then and rely
36155 related to ABI and endianness selection from the `as' and `ld'
36159 * testsuite/ld-mips-elf/mips-elf.exp: Remove `as' and `ld' tag
36167 targets and force the n32 ABI, causing link errors with the targets
36175 Convert the tests then to use the per-ABI framework and run them for the
36176 o32 and n32 ABIs, removing these regressions:
36209 with `run_dump_test_o32' and `run_dump_test_n32' rather than
36220 mips64-openbsd -FAIL: Compact EH EB #7 with personality id and fallback FDE
36221 mips64-openbsd -FAIL: Compact EH EL #7 with personality id and fallback FDE
36222 mips64el-openbsd -FAIL: Compact EH EB #7 with personality id and fallback FDE
36223 mips64el-openbsd -FAIL: Compact EH EL #7 with personality id and fallback FDE
36276 Revert "MIPS: support mips*64 as CPU and gnuabi64 as ABI"
36288 created by empty-address-2* and empty-address-3* for some reason, and
36313 coff/pe/xcoff and --extract-symbols
36332 This commit adds actual support of this extension and adds implications
36333 from 'Zvkn' and 'Zvks' superset extensions.
36338 'Zvkn' and 'Zvks'. (riscv_supported_std_z_ext): Add 'Zvkt' to
36364 ada-unicode.py and gdbarch.py to avoid changes in the files they
36577 (prefix_table): Add PREFIX_VEX_0F38D2_W_0 and
36579 (vex_table): Add VEX_W_0F38D2 and VEX_W_0F38D3.
36598 2022-202 -> 2022-2023, and
36646 bpf: gas: add negi and neg32i tests
36651 * testsuite/gas/bpf/alu.s: Add test for NEGI and NEG32I.
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
36700 consequently we do not skip the breakpoint in main, and also don't run into
36704 - removing the -nostdlib setting, and
36707 The change to use -nostdlib and rename main to _start was originally added
36731 With TUI however, we get the same secondary prompts, and type the same, but
36750 [gdb/testsuite] Fix gdb.gdb/python-helper.exp with -O2 -flto=auto and gcc 7.5.0 some more
36751 With a gdb build with -O2 -flto=auto and gcc 7.5.0 and test-case
36767 -flto=auto and gcc 7.5.0").
36780 and in gdb/python/py-tui.c:
36800 destroys E, and also removes E from m_window_maker_list, leaving it empty.
36851 because it cannot match both ".* in " and the __libc_ prefix.
36862 bpf: fix neg and neg32 BPF instructions in simulator
36863 This patch fixes the semantics of the neg and neg32 BPF instructions
36864 in the simulator, and also updates the corresponding tests
36872 This patch fixes the BPF_INSN_NEGR and BPF_INSN_NEG32R BPF
36925 zero st_name. Sanity check st_name, and don't run off the end
36930 type and symbol for relocation overflows.
36949 bpf: Add atomic compare-and-exchange instructions
36951 - BPF_INSN_ACMP{,32}: atomic compare-and-swap
36954 Tests and documentation are also updated.
36957 * doc/c-bpf.texi (BPF Instructions): Document atomic exchange and
36958 atomic compare-and-swap instructions.
36969 (enum bpf_insn_id): New entries for BPF_INSN_ACMP{,32} and
36973 * bpf-opc.c (bpf_opcodes): Add entries for ACMP{,32} and
36983 The tests and documentation are updated accordingly.
36987 and 32-bit atomic instructions.
36990 AFXOR and AFXOR32 instructions.
37007 BPF_INSN_AFAND32, and BPF_INSN_AFXOR32 instructions.
37029 that 'Zcf' implies 'F' and 'Zcd' implies 'D'.
37039 'Zcf' -> 'F' and 'Zcd' -> 'D'.
37056 and the 'Zcf' extension.
37061 combination of RV64 and 'Zcf'.
37070 objcopy embeds the current time and ignores SOURCE_DATE_EPOCH making the output unreproducible.
37081 Updated translations for bfd, gold and opcodes
37116 rightshift, and the mask need to include sign bit.
37150 opcodes, assembler and disassembler.
37194 bpf: gas,opcodes: fix pseudoc syntax for MOVS* and LDXS* insns
37195 This patch fixes the pseudoc syntax of the V4 instructions MOVS* and
37202 * bpf-opc.c (bpf_opcodes): Fix pseudo-c syntax for MOVS* and LDXS*
37210 and LDXS* instructions.
37250 and use the new BFD_RELOC_BPF_DISPCALL32 whenever appropriate.
37283 Export gdb.block_signals and create gdb.Thread
37286 well, so this patch moves it from DAP to the gdb module and exports
37293 gdb-side threading issues and functions are all discussed in a single
37315 and resume_stopped_resumed_lwps is called. Previously the message
37330 For *reasons* I was hacking on gdb.base/foll-vfork.exp and wanted to
37337 generated binary, and the test still works.
37367 Tested on x86_64-linux, with target boards unix and readnow.
37413 This implements the DAP "modules" request, and also arranges to add
37422 There's a related PR; and while this change would have been sufficient
37432 I noticed an unused import in dap/evaluate.py; and also I found out
37448 introduced in the BPF ISA version 4, including opcodes and assembler
37484 introduced in the BPF ISA version 4, including opcodes and assembler
37496 (enum bpf_insn_id): Add entries for MOVS{8,16,32}R and
37503 * bpf-opc.c (bpf_opcodes): Add entries for MOVS{8,16,32}R and
37504 MOVS32{8,16,32}R instructions. and MOVS32I instructions.
37553 patch updates gdb to return this, and simply uses a hex string of the
37565 As this is entirely Ada-specific and was reviewed and tested at
37588 implementation is much simpler and it is based on the new BPF opcodes.
37591 host and 32-bit little-endian host.
37606 port. The bpf.cpu file is becoming so complex and so nested with
37607 p-macros that it is very difficult to read, and quite challenging to
37614 So I have decided to bite the bullet and revamp/rewrite the port so it
37635 Additionally, this patch introduces some extensions and improvements:
37650 * The GAS BPF test suite has been re-structured and expanded in order to
37661 and removes 10542 lines of code.
37665 * Target bpf-unknown-none with 64-bit little-endian host and 32-bit
37674 massive and not very useful, considering this is pretty much a rewrite
37683 and each instance is reported by GDB as an individual shared library.
37691 application binary and shared library binaries. GDB currently opens the
37697 file is opened when the underlying file first needs to be opened, and
37704 I have tested this patch on downstream ROCgdb's full testsuite and
37723 For whatever reason in c9f5b96bdab0 ("x86: correct handling of LAR and
37771 Add two test-cases, a C test-case gdb.opt/static-optimized-out.exp and a dwarf
37780 and with gcc 7.5.0 and clang 13.0.1, for which we still consistently get:
37825 and then we hit the case that calls rl_on_new_line_with_prompt, which does:
37842 I looked at ways to work around this, and managed by switching off
37865 - app sets rl_already_prompted to 1, and
37867 out how long the prompt is, and sets a few readline variables accordingly,
37927 scoped_restore_current_inferior_for_memory's ctor ptid parameter and
37928 the any_thread_of_inferior calls completely, and making
37936 implementations, and didn't see anything that is looking at
37938 could go forward with this and just fix ports if they break.
37941 spaces, and so when accessing memory for those address spaces, we must
37946 visible to both the CPU and the GPUs.
37954 add an alternative ctor that takes a thread_info pointer, and make
37960 No regressions on native and extended-gdbserver x86_64 GNU/Linux.
37980 I find that using a mix of `current_inferior ()` and `inf` disturbing.
37992 [gdb/testsuite] Fix gdb.gdb/python-helper.exp with -O2 -flto=auto and gcc 7.5.0
38005 function declaration as C rather than C++. This is fixed in gcc 8 and later.
38019 binary. Help out the user, and only warn about debug overflows.
38033 Only the xcoff and pe extensions were enabled. Build the lot, and fix
38069 and 'zmmul'. Zcb also imply Zca extension to enable the compressing
38170 removes the declaration. Tested by grep and rebuilding.
38175 this requires also changes in ldgram.y and ldexp.c, unlike
38181 gdb: additional debug output in infrun.c and linux-nat.c
38196 child to arrive, but in each case the test is about to close and
38200 I removed the sleep calls and couldn't reproduce any failures from
38201 this test, I left the test running for a couple of hours, and tried
38202 loading my machine, and the test seems fine with these removed.
38206 patch and bring them back.
38259 is off, and again, schedule-multiple is on. As with the previous
38270 and vfork_child member variables in the two inferiors, the
38275 should resume, and once that process has exited or execd, GDB should
38285 ptid, which turns out to be all threads, and call
38297 and linux-nat will resume the thread, we have now incorrectly set
38302 threads, and now (correctly) resumes the vfork child thread,
38307 9. Eventually the child performs its exec and GDB is sent and EXECD
38327 processed the event associated with the completion yet, and (b) upon
38329 parent, and so resumes the parent process,
38335 13. While this has been going on the vfork parent is executing, and
38349 touch some registers within the thread, and before doing this GDB
38352 17. An exited thread is not classified as stopped, and so the assert
38356 status of the thread, and not resume such threads. Where the earlier
38377 run ~6 copies in parallel and expect to see a failure after within
38428 However, GDB has seen the VFORKED, and, as we are going to follow the
38431 the one and only thread that makes up the vfork parent process.
38447 already resumed, and is not in the step-over chain, however, the third
38453 is false, and this prevents the thread we are trying to finish from
38455 and (b) cur_thr->inf->thread_waiting_for_vfork_done is not
38464 And this makes sense, if we have a vfork parent with two thread, and
38470 we'll never get a VFORK_DONE event, and so the vfork will never
38487 what's going on, and second, instead of checking 'non_stop' I've
38502 commits, and then I'll add the updated gdb.base/foll-vfork.exp.
38505 gdb.base/foll-vfork.exp from the later commit and run this test, the
38518 to child, and some bad timing. The failing case is pretty simple, a
38525 and creates an inferior and thread for the vfork child,
38528 and target-non-stop is off, this is translated into a request to
38532 about to start is a vfork parent, and so don't start that
38544 parent is resumed. This feels like the start of the bug, and this
38551 8. Eventually the child performs its exec and GDB is sent and EXECD
38571 processed the event associated with the completion yet, and (b) upon
38573 parent, and so resumes the parent process,
38579 12. While this has been going on the vfork parent is executing, and
38593 touch some registers within the thread, and before doing this GDB
38596 16. An exited thread is not classified as stopped, and so the assert
38599 So there's two bugs I see here. The first, and most critical one here
38606 problems in #9 and #10 are therefore skipped and we arrive at #11,
38608 apply, and in #13 when we try to stop the process we will see that it
38619 multi-threaded inferior with many threads, and GDB running in non-stop
38625 and even if I could, the fix would not belong in this commit, so I'm
38639 run ~6 copies in parallel and expect to see a failure after within
38647 setup_gdb proc is called from many places and I, initially, didn't
38666 script, and the intention is that, should this proc fail, we'll mark
38667 the whole test script as unsupported and then move onto the next test
38670 However, check_vfork_catchpoints also uses setup_gdb, and so, if that
38672 check_vfork_catchpoints, and then continue with the test of _this_
38684 and check its return code.
38699 file/line/function. This catches a few remaining, and changes gold to
38729 Support NEXT_SECTION in ALIGNOF and SIZEOF
38737 and changing every place that defines NO_SMALL_DATA to use " ", but
38744 linker script a little. THIS_SECTION and PREV_SECTION could easily be
38747 * ld.texi (ALIGNOF, SIZEOF): Update and mention NEXT_SECTION.
38807 and makes tui_win_info::title private, renaming to m_title at the same
38825 It was pointed out[1] that the warnings being deferred and then later
38828 should be styled, and this commit does this.
38837 which can be used to collect a set of deferred warnings, and then emit
38887 A user noticed that Inferior.read_memory and a few other Python APIs
38904 scoped_restore_current_inferior_for_memory, and arranges to use it in
38905 a few places. This class is intended to handle setting up and
38924 with the built-in type of the same name and can be confusing when
38942 py-inferior.exp. One is an obviously incorrect comment, and the
38949 Revert "Simplify auto_load_expand_dir_vars and remove substitute_path_component"
38952 This commit was a refactoring to remove an xrealloc and simplify
39031 end of the file has been reached and recommends that the user use the
39049 Because this necessitated having the inferior running and the test was
39050 (seemingly unnecessarily) using printf in a non-essential way and it
39061 certain point" to be printed using print_source_lines, and the logic
39106 This makes sure copy_archive exits with ibfd and obfd closed. Error
39110 * objcopy.c (copy_archive): bfd_close ibfd and obfd on error
39120 and aix5.2. These two changes should make no difference to anything
39143 Implement 'Enum_Val and 'Enum_Rep
39144 This patch implements the Ada 2022 attributes 'Enum_Val and 'Enum_Rep.
39154 opcodes. So, remove this entirely and inline it.
39159 so that the (existing) code in parser and expression evaluator
39160 actually get to see it and handle it as XOR. Also adjust docu
39186 The tui border-kind setting allows values acs, ascii and space.
39188 The values ascii and space however don't work well with !HAVE_WBORDER.
39221 Merge and rename to tui_border_kind_translate_corner.
39266 Make this explicit by removing the default entries, and asserting in translate
39275 .noinit and .persistent for msp430
39283 .noinit and .persistent alignment
39321 * bs15503.exp - these have been commented out forever and rely on
39325 that gdb understands; and the test can be fixed and comments removed
39342 And then having VEX_Cn_TABLE() and friends take arguments is misleading.
39355 Several already use OP_R(), which rejects the memory forms of insns, and
39384 Fold OP_MS() and OP_XS() into OP_R(), paralleling OP_M(). Use operand
39394 OP_MS() and OP_XS() reject memory forms of insns quite fine. This then
39401 and a few others can easily be converted to do so as well. (Note that
39406 Also adjust formatting of and drop PREFIX_OPCODE from a few adjacent
39414 forms which so far have used EXEvexXNoBcst (and thus failed to reject
39428 Introduce macro V to expand to 'v' in the VEX/EVEX case, and replace a
39445 solib-svr4.c, and target_ops_ref_policy::decref.
39448 target_ops_up and then fixing the sole caller. Then it removes
39461 I wrote a TUI window in Python, and I noticed that setting its title
39468 This adds a DAP test for fetching scopes and variables with an Ada
39488 simplifies the code, because frame filters and DAP were already doing
39489 some similar work. This also renames RegisterReference and
39490 ScopeReference to make it clear that these are private (and so changes
39518 existing code to find and execute the frame filters. However, unlike
39530 string to reflect my findings, and also fixes an existing typo.
39560 simplifies the code somewhat and lets us entirely remove one helper
39599 A user supplied an executable and a remote logfile that could be used
39628 more robust solution will be to move all of the error types, and their
39629 associated strings, into a new ax-result-types.def file, and to then
39630 include this file in both ax.h and tracepoint.cc in order to build
39631 the enum eval_result_type and the eval_result_names string array.
39650 and
39662 and
39679 a pre-generated core file for x86-64 and for other architectures the
39683 early return, so the test would then carry on and try to actually
39706 This commit extends takes this further, and includes the location
39713 this keeps things nice and consistent.
39725 The goal here is to get the tests running and preventing further
39731 flang, so we cannot reuse the main and type definitions. Therefore, we
39732 explicitly record the main method and type information observed when
39736 and MAIN__.
39753 gdb.fortran regression tests run with GNU, Intel, Intel LLVM and ACfL.
39822 Names of the form 'A>::B' and 'A)::B' trigger this assert failure in
39869 returned the wrong fields -- it used "result" rather than "value", and
39886 For -gdb-exit and mi_load_progress, I chose to have the functions
39901 I noticed that the printf code for strings, printf_c_string and
39906 GDB to try and allocate an excessively large buffer, potentially
39912 above to check the max-value-size and give an error if the
39941 However, in this case we are building a string, and (at least for
39961 Remove a couple of uses of alloca from printcmd.c, and replace them
39977 could be any size, and so should not be placed on the stack.
39980 and simplify the logic a little (I think) to take advantage of the
40040 and so wcwidth is incorrectly calculated as 0. This is what leads GDB
40058 I don't see any test regressions after this change, and my new test
40073 The ARC HS5x and ARC HS6x processors are based on the new ARCv3 ISA
40074 that implements a full range of 32-bit and 64-bit instructions. These
40077 increase in power and area. The HS5x processors feature a 32-bit
40079 HS6x processors feature a full 64-bit pipeline and register file that
40080 can execute both 32-bit and 64-bit instructions. In addition, the ARC
40081 HS6x supports 64-bit virtual and 52-bit physical address spaces to
40082 enable direct addressing of current and future large memories, as well
40083 as 128-bit loads and stores for efficient data movement.
40085 This readelf patch updates/adds Synopsys ARCv3 machine name fileds and
40110 Udated Freach and Romainian translations for various sub-directories
40144 linux/fs/read_write.c sys_pread64 and sys_pwrite64 in Linux.
40149 Fix this in both native GDB and GDBserver.
40151 Tested on a SPARC64 GNU/Linux and x86-64 GNU/Linux.
40229 procfs_target::resume, and call that. The new function does not rely
40233 assertion failure with his test case, and Marcel Telka also confirmed
40245 once from the caller, and once from GOT.
40252 Use run_host_cmd to run $CC and other no-section-header test fixes
40259 of course those tests that run a target binary. Compiling and linking
40267 symbol decoration, and support either sorting of symbols.
40286 and in fact run_host_cmd_yesno is a better choice for it.
40298 Thus $NOPIE_CFLAGS and $NOPIE_LDFLAGS are passed to cmd as names
40377 gdb.Block, gdb.Breakpoint, gdb.BreakpointLocation, and gdb.Type.
40392 block, and then a message to show how many more were elided (if any).
40399 heuristic, sometimes it returns the number of symbols, and sometimes
40414 the dictionary and count the entries, obviously this could be slow if
40425 Updated Ukranian, Romanian and German translations for various sub-directories
40444 implement a subtraction of a local and an external symbol.
40448 actually support a pc relative relocation of the proper size and can
40485 but GDB gets confused and thinks all of these .reg/0 sections are all
40556 ptid_t as the first thread, so GDB deletes the first thread and
40572 and, when these are found, should rename these sections using some
40575 Note in the above output we also have sections like .reg2/0 and
40581 GDB takes care to ensure that the new numbers assigned are unique and
40636 loaded. The threads are announced as '[New LWP NN]', and we see two
40657 some time, and I thought that it would be worth merging to master. I
40700 new thread and calls add_thread.
40704 OK, GDB creates a thread with lwpid of 0 and carries on.
40715 find_inferior_pid call fails and returns NULL, which then triggered an
40721 we see in "normal" application core files, and it is this that I think
40726 cores, and both have an lwpid of 0 (indicating both cores are idle),
40733 This is indeed a problem, and this problem is still present in GDB
40734 today. I plan to try and address this in a later commit, however,
40735 this first commit is about getting a test in place to confirm that GDB
40742 that contains two threads, and then manually edited the core file to
40749 confirm that the GDB doesn't crash.
40759 The test simply expands the core file, and then loads it into GDB.
40789 gdb: split inferior and thread setup when opening a core file
40791 thread and inferior setup is done in add_to_thread_list. In this
40810 core_target_open and making it non-conditional, we can remove the
40822 Change version number to 2.41.50 and regenerate files
40834 and can remove them.
40870 usage, and should be removed.
40884 {,x}v{ld,st}, {,x}v{ldrepl,stelm}.[bhwd], and {ld,st}[lr].[wd].
40905 Remove unused variables and functions.
41016 zvkng implies zvkn and zvkn implies zvkned. Enabling zvkng should also
41405 instructions. Everything that strtof() can parse is accepted and
41409 The Zfa specification is frozen (and has passed public review). It is
41426 * doc/c-riscv.texi: Add floating-point chapter and describe
41539 LoongArch: gas: Add LVZ and LBT instructions support
41541 * config/tc-loongarch.c (md_parse_option): Add LARCH_opts.ase_lvz and
41553 LARCH_opts.ase_lvz and LARCH_opts.ase_lbt.
41554 * loongarch-opc.c (struct loongarch_ase): Add LVZ and LBT instructions.
41558 LoongArch: Deprecate $v[01], $fv[01] and $x names per spec
41560 2 versions after the initial LoongArch support, and the $v[01] and
41564 version of the ABI spec, and such usages are all fixed to say just $r21
41568 "$vrNN" and "$xrNN", so having "$vN" and "$x" alongside would almost
41580 mappings and deprecated register names.
41594 mappings, and move $x to the deprecated name map.
41599 For better round-trip fidelity and readability in general.
41616 it clutters the output, and the style is not regular assembly language
41653 using the address offset style, and mark the memory access instructions'
41678 Remove some unused declarations and code.
41695 assembler-side and disassembler-side can be achieved.
41701 one plausible ways; e.g. `li.w rd, <something between 0 and 0x7ff>` can
41704 canonical form among the above would be recognized as `li.w`, and it
41711 For example, `li.w` and `li.d` of immediates within int32_t range
41713 as `li.d`, while `addi.w` and `ori` immediate loads are shown as `li.w`,
41786 - get an SFrame FDE data from the decoder context, and
41863 providing these access APIs from the SFrame decoder and encoder APIs is
41926 (sframe_find_fre): Refactor a bit and use the new definition
41943 ld: Add tests for -z nosectionheader and --strip-section-headers
41944 Add tests to verify that the linker option, -z nosectionheader and
41945 objcopy and strip option, --strip-section-headers, work correctly as well
41984 bfd: Improve nm and objdump without section header
41988 DT_STRSZ, and DT_SYMENT entries, to improve nm and objdump. For DT_HASH,
41992 symbols with STB_LOCAL binding before symbols with other bindings and
41996 and DT_VERNEED entries.
41999 dt_verdef_count, dt_verneed_count and dt_strtab are added to
42004 dt_symtab_count, dt_verdef_count, dt_verneed_count and dt_strtab.
42057 section header, a new objcopy and strip option, --strip-section-headers,
42082 * NEWS: Mention --strip-section-headers for objcopy and strip.
42093 and strip.
42102 * emultempl/elf.em: Support -z sectionheader and
42105 * ld.texi: Document -z sectionheader and -z nosectionheader.
42110 (elf_static_list_options): Add -z sectionheader and
42118 … --enable-pgo-build=lto, I haven't yet found out why I see these sometime, and why not. E.g. http…
42140 Many instructions were enabled only when both a feature flag and a minimum
42222 LoongArch: gas: Add LSX and LASX instructions test
42230 LoongArch: gas: Add lsx and lasx instructions support
42233 * config/tc-loongarch.c (md_parse_option): Add lsx and lasx option.
42234 (loongarch_after_parse_args): Add lsx and lasx option.
42238 * loongarch-opc.c (struct loongarch_ase): Add lsx and lasx
42355 libsframe: use uint32_t for fre_type and fde_type function args
42358 carrying the SFrame FRE type and SFrame FDE type to consistenly use
42441 Define an empty base version LIBSFRAME_0.0 and add all symbols to
42446 of the library (and its consumers) can manage the changes better.
42476 Change the return type of the previous definition and make a note about
42484 and set error code. This API is deprecated.
42499 - Deprecation of some APIs, like sframe_get_funcdesc_with_addr (), and
42503 release. Reset revision and age to 0.
42519 including conditional-arithmetic, conditional-logic and
42527 for the proposed specification and usage details.
42546 (DECLARE_INSN): Add czero.eqz and czero.nez.
42552 * riscv-opc.c: Add czero.eqz and czero.nez.
42580 Sync config.guess and config.sub with upstream master versions.
42600 (loongarch_single_float_opcodes): Modify `movgr2fcsr` and
42631 inferior exits early, and because of the overly generic ".*" pattern the
42639 this counts as a successful match and the timeout is reset.
42642 one of the generic patterns to match entering the main function and the
42656 PowerPC64 gold and ld.bfd implement an indirect branch trampoline,
42675 relaxation to account for needed indirect branches, and add
42686 called before do_relax. Provide a way of setting DT_RELCOUNT and
42708 DT_RELACOUNT was calculated incorrectly, and relative relocs not
42713 dyn relocs for ADDR64 and similar using add_global_relative.
42773 the directory contains no files other than gdb.log and gdb.sum. This puts
42834 setting "verified" to False. gdb didn't properly implement this, and
42840 Currently it uses the condition and the hit condition (aka ignore
42861 Removed the f-strings and use str() instead as pointed out that
42880 object, not a string) and is not serializable by json.dumps.
42890 x86: Free the symbol buffer and the relocation buffer after use
42891 When --no-keep-memory is used, the symbol buffer and the relocation
42893 allocate a new symbol buffer and a new relocation buffer for each
42896 buffer and the relocation buffer after use. If symbol buffer entries
42905 _bfd_elf_link_read_relocs. Free the symbol buffer and the
42916 Presumably these are from upstream gnulib and shouldn't be touched by
42927 and then subsequently into:
42943 - adding a new proc have_host_locale, and
42946 Tested on powerpc64le-linux and x86_64-linux.
42974 For now, fix this by updating the regexp, and likewise in another place in the
42984 In commit 0961e631575b, the fix for PR30217, make_lplt_section and
42987 is needed for long branches, due to needing to iterate sizing and thus
43010 prompt and just before switching to TUI we have in the tuiterm:
43017 be called, and
43018 - the initial gdb prompt, and subsequent prompts generated by gdb_test-style
43030 Term::command, and just before switching to TUI we have in the tuiterm:
43042 # Accept some output from gdb and update the screen. WAIT_FOR is
43053 Fix this in wait_for, and add a corresponding test in gdb.tui/tuiterm-2.exp.
43083 ARM get_synthetic_symtab reads .plt and caches that data. Caching the
43085 called once per bfd, and the memory might be put to better use. It
43116 the constant and the assert.
43131 initialization and cleaning up the code a little.
43138 This simplifies the agent_expr constructor a bit, and removes the
43181 std::string and free the working copy. This patch changes this code
43182 to use std::string for everything, simplifying the code and removing a
43207 This changes mi_parse::command to be a unique_xmalloc_ptr and fixes up
43287 global_num, name, num and ptid (the 3-attribute tuple provided by
43302 Fixed white space issues and NULL/nullptr stuff,
43323 Feedback wanted and appreciated.
43336 the basic-dap.exp/c to do this specifically and it saw the changes.
43365 Fix this by introducing shared_gnat_runtime_has_debug_info, and requiring that
43384 Add template functions assign_return_if_changed and assign_set_if_changed in
43411 - assign VAL to LVAL, and either
43516 - first compiles pck.adb into pck.o (without debug info), and
43517 - then compiles prog.adb and pck.o into prog (with debug info).
43525 Fix this by removing prog.o and prog.ali before compilation.
43576 had been enabled for hppa64 in the time between the mips changes and
43606 Allegrex supports some MIPS32 and MIPS32r2 instructions (albeit with
43607 some encoding differences) such as bit manipulation (ins/ext) and MLA
43608 (madd/msub). It also features some new instructions like wsbw and
43625 immediately above, correcting grammar and formatting at the same time.
43657 Revert "MIPS: sync oprand char usage between mips and micromips"
43665 and on looking into the bfin targets a little, discovered we have two
43667 ld -m elf32bfin is the default, and the other, bfin-linux-uclibc where
43691 In test-case gdb.base/step-over-exit.exp, we set a breakpoint on _exit and
43700 and with target board unix/-m32:
43707 However after installing debug info (packages glibc-debuginfo and
43716 and -m32 (note: _Exit instead of _exit):
43724 The gdb_test allows for both _exit and __GI__exit, but not _Exit:
43744 …* lexsup.c (ld_options): Add --remap-inputs-file and --remap-inputs. (parse_args): Handle new opti…
43755 relocation special_function, and construct the message using asprintf.
43760 buffer and goes further in freeing the buffer on any bfd_close.
43766 * bfd.c (_input_error_msg): Make global and rename to..
43779 * read.c (read_end): Free current_name and current_label.
43816 The last one makes the terminal scroll, and the scrolling makes the expected
43829 [gdb/testsuite] Fix and add prompt anchoring in tuiterm
43833 However, this only excercises the tuiterm itself, and not the functions that
43841 - issues Term::command calls, and
43869 Fix this, and add a test-case excercising this scenario.
43888 and that makes the gdb_test in the test-case fail.
43890 Fix this by emitting UNSUPPORTED instead in check_everything, and detecting
43898 We recently realized that symbol_needs_eval_fail.exp and
43909 and later both tests build some DWARF using the assembler doing:
43950 Tom Tromey pointed out that the test and call to error() for the
43961 performs a similar check and outputs a suitable error message.
43977 This commit tests and fixes up a minor issue to get the detection
43980 The goal here is to get the tests running and preventing further
44001 gdb.fortran regression tests run with GNU, Intel and Intel LLVM. No
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
44110 annotations, and supplying a decorator that verifies these at runtime.
44123 but I've only been able to try it with 3.9 and 3.10.
44130 created a single time (when the function is defined), and so if it is
44207 Combine create_excep_cond_exprs and ada_catchpoint::re_set
44209 This is less verbose and is also a step toward making ada_catchpoint
44247 call_weak_fn, and
44257 __libc_csu_fini and __libc_csu_init, but that doesn't work for call_weak_fn.
44260 - reverting the regexp to "", and
44325 the debug info is compiler (and compile-time option) dependent, it
44413 Tested on Fedora 37 and Fedora 38.
44450 This is buggy and needs correction. The mask 0xff should be 0xf (to
44458 generated code and the generated SFrame stack trace information for the
44477 rule, making the function more readable and easier to understand.
44483 [1] https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code
44490 Say we're in TUI mode, and type "sun":
44533 The bug was reported on Fedora 37, 38, and 39. Here are the steps to
44569 -iex 'set confirm off' \
44570 -ex 'start' -ex 'quit' /bin/ls
44572 +set confirm off
44578 +quit
44614 don't expect the at_exit handlers to have run and started cleaning up
44620 This commit removes the debuginfod_client_up type, and instead has GDB
44627 called, and the crash identified above is resolved.
44726 language, so for Ada and Fortran the string will be an array of
44730 object, and then use the std::string::c_str() value, this will ensure
44733 I had a check through GDB at places TYPE_CODE_STRING was used and
44767 ecoff find_nearest_line and final link leaks
44774 This patch fixes the leaks for binutils and ld, leaving the gas leaks
44775 for another day. The mips elf backend already had this covered, and
44778 for both ecoff and elf.
44825 to locate and open files which were mapped in the process for which the
44831 a given file once and does not re-try the process for each mapping.
44839 When GDB opens a coredump it tries to locate and then open all files
44892 this code again. The second time, bfd_map[filename] is not nullptr and
44937 Avoid unnecessary type cast and include minor enhancements as the code
44954 I tested this using both the gdb test suite and the internal AdaCore
44955 test suite. Given this and the fact that it is Ada-specific, I am
44960 Add extra linker warning message about discrepancies between normal and common symbols.
44962 … indicating that alignment and size discrepancies between the definition of common symbols and nor…
44968 I noticed that the help texts for tui border-mode and tui active-border-mode
44980 using public readline functions rl_pending_signal and rl_check_signals.
44988 There is precedent for using private readline variables and functions, but
45006 The gdb.dwarf2/dw2-prologue-end-2.exp test was failing for both AArch64 and
45010 there are issues with both the prologue skipper for AArch64 and Arm and an
45013 This patch fixes both of AArch64's and Arm's prologue skippers to not skip past
45018 Regression-tested on aarch64-linux/arm-linux Ubuntu 20.04/22.04 and
45085 because I coded the message using "error" and missed a period at the end. Other
45095 doc/bfdint.texi and comments in the aout and som code about this
45096 function are just wrong, and its name is not very apt. Better would
45097 be _bfd_mostly_destroy, and we certainly should not be saying anything
45103 target _close_and_cleanup function won't do anything, and therefore
45106 This patch fixes the documentation problems and moves most of the
45137 libsframe: fix cosmetic issues and typos
45149 uninitialized" warning with some combination of compiler and
45162 and sframe_encoder_ctx data structures to use the applicable data types
45203 ... and a subsequent patch will add more, so move this into a local
45221 This changes dwarf_decode_lines to accept an unrelocated_addr and
45279 a look at this bug and posted two versions:
45288 Pedro then pointed out his older patch, and so we arrive at this
45292 The tests here are a combinations of everyone's work, and the commit
45306 pointer, and we know we"ll see an error if $_as_string() gives
45335 (gdb) quit
45346 type, and copies in requested number of characters. However
45350 length. In py-value.c this is not the case, and indeed, in most uses
45354 pushed to the inferior, and then read back as a C-style string, that
45364 for the two function value_cstring and value_string should represent.
45381 strings are null terminated. Fortran and Ada strings, for example,
45397 This shows two problems, first, the $_gdb_setting and
45407 this function takes a pointer and length and creates a language
45409 will be a null-terminated string (by calling value_cstring), and for
45410 Fortran and Ada this can be a bounded array of characters with no null
45416 expression evaluator and from the default language_defn::value_string.
45418 And the only calls to value_string are from Fortan, Ada, and ObjectC
45430 [gdb] Fix grammar in comments and docs
45431 Fix grammar in some comments and docs:
45485 currently leak memory. Keep a static pointer to the message and free
45492 (bfd_init): ..and here..
45493 (bfd_errmsg): ..and here. Use it for asprintf output.
45504 MIPS: sync oprand char usage between mips and micromips
45561 xfail_from_runlist: remove an element and mark it xfail.
45617 Replace `addi` with `addiu` for some cases for both r6 and pre-R6.
45644 and We believe that the multilib should be used for this case.
45861 a typo in "Disabeling" and accidental word repetition "use use".
45863 Fix by replacing with "Disabling" and "use".
45930 Fix the constants. They should be 0xa and 0xb as opposed to 0x10 and
45939 Re: bfd_close and target free_cached_memory
45951 fdr_ptr->issBase, and tighten sym.iss check.
45976 libsframe, and use it. Note that the SFrame format does not define such
46021 R_RISCV_NONE for pr22263-1 test, and the test in pr24676.
46028 and INDX will be the dynamic index.
46038 PowerPC64 ELFv1 object files should have at most one .opd section, and
46042 don't respect the ABI, and even non-malicious users can accidentally
46044 buffer overflows and other confusion when OPD handling for a second
46048 The patch also fixes a memory leak, and a corner case where I think we
46065 asserting. Check and set sec_type too. Adjust for changed
46066 location of contents and relocs.
46074 bfd_close and target free_cached_memory
46081 close_and_cleanup and free_cached_info, eg. elfnn-aarch64.c.
46099 (coff_real_object_p): Return coff_object_cleanup, and call on
46133 `make check` runs sanity testing for gprofng and takes ~30 secunds.
46134 `make check-extra` runs all gprofng tests and takes ~20 minutus.
46135 `make check-install` runs all gprofng tests and uses gprofng installation.
46168 didn't mention the possibility of multiple arguments, and I also
46224 Add a KFAIL for the PR, and ensure that the isearch is aborted by using ^G,
46253 and set it:
46263 I got a source window with only one line in it, and the cmd window taking most
46266 I traced this back to tui_set_layout, where for both the old and the new
46271 The fingerprint is "VC" for both the old (cmd) and new (src) layouts, which
46274 I think this is essentially a bug in the finger print calculation, and it
46290 This commit adds a new format for the printf and dprintf commands:
46291 '%V'. This new format takes any GDB expression and formats it as a
46344 3. $_as_string is a gdb.Function sub-class, and as such is passed
46363 options, and if you needed to set the 9th option you'd need to fill in
46371 and printed entirely on the GDB side, we are able to print arrays as
46372 actual arrays rather than pointers, and we can pass named format
46410 When dprintf-style is 'call' the format string and arguments are
46425 process the format string and send the dprintf command to the remote,
46542 (and want, as far as the mi_interp implementation is concerned) to
46662 since nothing uses it anymore, and we don't have anything coming that
46671 observable, since nothing uses it anymore, and we don't have anything
46689 over all UIs and calls the signal_received method on the interpreter.
46691 interps_notify_signal_received and then notifies the observers. Replace
46695 Before this patch, the CLI and MI code both register a signal_received
46696 observer. These observer go over all UIs, and, for those that have a
46706 signal stop message. Since the amdgpu and the CLI code both use
46710 change anyway, I think it's more straightforward and simple to
46759 Add ld relax support and testsuits.
46781 Add gas -mrelax and -mno-relax option.
46784 Add ADD/SUB reloc pair for debug and exception data to calculate symbol
46791 (enum options): New OPTION_RELAX and OPTION_NO_RELAX.
46792 (struct option): New mrelax and mno-relax.
46796 (move_insn): Set fx_frag and fx_where if exist.
46797 (append_fixp_and_insn): Call frag_wane and frag_new for linker relax
46802 (md_apply_fix): Generate ADD/SUB reloc pair for debug and exception
46892 Add relax support and related relocs in bfd.
46933 Add relocs and gas LARCH_opts.relax option.
46938 * opcode/loongarch.h: Add LARCH_opts.relax and macro LARCH_NOP.
46948 current arm-wince-pe. arm-pe has different relocations and uses
46953 This patch supports objdump -P for arm-pe, and another magic constant
46958 and ARMMAGIC.
46981 This file is unused and as the header comment says, obsolete.
46993 I came across a bug in the implementation of line feed in tuiterm, and added a
47004 and after it we have:
47013 Note how the cursor started at row 3 and after the line feed ended up at
47024 I stumbled on the mi_proceeded and running_result_record_printed
47059 running_result_record_printed and mi_proceeded globals.
47065 condition is true, it prints a ^running, and sets
47083 running_result_record_printed flag get cleared, and therefore only or
47104 and type ^R which gives us the reverse-isearch prompt in the cmd window:
47108 and then type "foo", right-arrow-key, and ^C.
47113 - attempts to scroll the TUI src window, without any effect, and
47125 0 as the first part of an utf-8 multibyte char, and tries to read the next
47128 In this state, the ^C takes effect and we run into a double free because
47135 - a char array containing 0 chars, which is zero-terminated, and
47142 which returns -2, and:
47149 explicit length parameter, and consequently it cannot distinguish between the
47150 two, and defaults to the "0 chars" choice.
47190 In the check_reloc, refer to spare and loongarch, they don't need to reserve
47191 any local dynamic reloc for TLS LE in pie/pde, and similar to other targets.
47193 Just break and don't goto static_reloc for TLS LE in pie/pde can fix the
47198 So similar to MIPS, pr22570, commits 9143e72c6d4d and 1cb83cac9a89, it seems
47212 relocation for TLS LE in pie/pde, and report error in pic just like
47264 Make this more readable by using color names for both foreground and
47274 [gdb/testsuite] Add invisible and blinking attributes in tuiterm
47275 I noticed curses using the invisible and blinking attributes.
47284 I noticed in proc Term::_csi_m arguments that while parameters 7 and 27 are
47285 supposed to set the reverse attribute to 1 and 0, in fact it's set to 1 in
47297 Fix this and add a regression test in gdb.tui/tuiterm.exp.
47308 Make this similar to --64 and --x32: Check whether a suitable target
47313 target was configured in (as is the case for at least cloudabi and
47317 The set of 32-bit-only and 64-bit-only tests has grown quite large. In
47323 have (and that could potentially be used for undue modification of
47342 x86: use fixed-width type for codep and friends
47343 This first of all removes a dependency on bfd_byte and unsigned char
47382 relatively difficult to follow, and maintain. Some changes are done now
47383 to address that - refactor the function and use better names to make it
47405 * sframe.c: Use uint8_t for FRE offset count and FRE offset
47418 nios2-linux-gnu, s390-linux-gnu and sh4-linux-gnu have a tprel reloc in .got
47431 linker optimisation. Supply needed symbols and assembler flags.
47437 I've had this patch for a while now and figured I'd update it and send
47465 in my debug session, and it was becoming a software watchpoint
47477 all_breakpoints and all_tracepoints to use references instead of
47564 and intrusive list.
47573 bp_location_list, and doesn't need the default-constructor
47629 Add convenience first_loc methods to struct breakpoint (const and
47631 to be an intrusive_list and makes the actual list private, so these
47640 That would make the code much heavier and not readable. There is a
47692 Some implementations of breakpoint::check_status and
47698 looking at the call sites of check_status and print_it), so it would
47732 * dlltool.c (i386_x64_trampoline): Save and restore xmm0-5. Make
47750 expect many people to have. But I have it, and it builds fine here. I
47751 did test the new overload by making a purposely bad cast and it did
47793 to be printed, and then, after some time the inferior will be
47798 fine, and the test passes.
47800 However, if the interrupt is quick and so what expect sees is this:
47807 and eventually times out.
47817 files, each calling the function, and GDB is asked to jump to a line inside
47826 Add "args" and "env" parameters to DAP launch request
47828 parameters that let the client control the command-line arguments and
47836 Add attributes and methods to gdb.Inferior
47837 This adds two new attributes and three new methods to gdb.Inferior.
47839 The attributes let Python code see the command-line arguments and the
47854 It's not worth avoiding an fseek to the same position, and can cause
47860 character in the mode argument), both input and output may be
47864 (fseek(), fsetpos(), or rewind()), and input is not directly followed
47898 This adds a PARSER_LEAVE_BLOCK_ALONE flag, and changes the parse API
47900 passed-in block and expression PC, letting them specify the context
47905 This adds a new PARSER_DEBUG constant and changes the parser code to
47913 parser_state::comma_terminates ought to be boolean, and changing it
47920 Introduce and use parser flags
47921 This patch adds a new parser_flags type and changes the parser APIs to
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
48021 non-zero src_mask, and hence break this invariant. It's normally not
48030 Golang is such a toolchain and https://github.com/golang/go/issues/39927
48035 relocation applied and that relocation has an addend which also is
48214 and using this in both comparison and assignment.
48221 I recently added a 'dap' component to bugzilla, and I filed a few bugs
48251 Tested by re-running the TUI test-cases (gdb.tui/*.exp and gdb.python/tui*.exp)
48259 Tested by re-running the TUI test-cases (gdb.tui/*.exp and gdb.python/tui*.exp)
48265 Revert value of DT_ENCODING to as it was before commit a7fd118627, and
48311 flagword*, and adjust to suit. Replace while loop with for
48313 coff_comdat_info and name in one call to bfd_alloc. Remove
48324 mission to remove unnecessary declarations in coffcode.h, and on
48328 definition but the latter is not usual and looks odd to me. So I
48329 had a closer look at tic54x_set_arch_mach and decided the function is
48344 Update documentation for Python Frame.older and Frame.newer
48345 I noticed that Frame.older and Frame.newer don't document that they
48347 documentation, and also fixes a somewhat related typo in a comment
48370 does not work (at least) for "target remote" and "target extended-remote".
48393 way but it's safer given that command buffer is shared and overwritten
48412 2fc3b8a4cb8, independently fixed the issue in both the cli- and mi-mode
48415 This commit removes this extra frame switch and adds test coverage for
48449 and return the wrong symtab and line-table. In
48451 appropriate entry, except we never find one, and GDB just keeps going,
48455 end of the array is pretty cheap, and if something does go wrong in
48483 the same results, so I've rewritten the test and think it is worth
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.
48494 other tests might already be exercising this functionality, and I
48501 for one of the functions in the source file, and as a consequence GDB
48520 differences between using gdb_printf like this and calling `warning`,
48561 and the new tests didn't allow for this.
48564 building GDB against Python 3.7.9 and 3.6.15, with this commit all
48577 * The R_RISCV_SET_ULEB128 needs to be paired with and be placed before the
48582 * elfnn-riscv.c (perform_relocation): Perform R_RISCV_SUB_ULEB128 and
48584 uleb128 value, and report error if the length grows up. Called the
48585 generic functions, _bfd_read_unsigned_leb128 and _bfd_write_unsigned_leb128,
48588 must be paired with and be placed before the R_RISCV_SUB_ULEB128.
48589 * elfxx-riscv.c (howto_table): Added R_RISCV_SUB_ULEB128 and
48598 and BFD_RELOC_RISCV_SUB_ULEB128.
48601 expressions and insert fixups for them.
48623 for riscv to release private_data and internal data structures.
48637 Oddly enough == and != were not permitted, because of '=' not having
48644 inconsistencies between BFD64 and !BFD64 builds, it has also resulted in
48651 !BFD64, and hence are okay to permit.
48659 free] when !BFD64, and Disp8/Imm8 are no longer used in the warned
48670 Take the opportunity and also document the hook.
48682 - logical operators (yielding 0 or 1 and hence treated like unary '!').
48685 update .quad and .8byte documentation: With 64-bit architectures now
48713 gdb.fortran/lbound-ubound.exp: read expected lbound and ubound from function parameters (PR 30414)
48714 gdb.fortran/lbound-ubound.exp reads the expected lbound and ubound
48753 test is finished) and we still don't have expected_lbound and
48765 exp_continue, and exit the gdb_test_multiple, without having an
48768 Change the test to read the values from the lb and ub function
48771 lbound and ubound functions as computed by the program. We'll use them
48772 to check the return values of the lbound and ubound functions as
48792 function and take the return address, uses it as the sym-bound address
48793 and puts it in the .got.plt entry. Initial address in .got.plt entry is
48814 .got.plt entry and determines if the contents is the correct address
48819 go back to execute the resolver function and puts the return address
48829 On LoongArch .got.plt and .plt section as follow:
48891 coff_compute_section_file_positions and _bfd_xcoff_bfd_final_link. I
48902 [gdb/testsuite] Fix whitespace and indentation in lib/tuiterm.exp
48903 I noticed a trailing whitespace and some indentation errors in lib/tuiterm.exp.
48907 Tested by re-running the TUI test-cases (gdb.tui/*.exp and gdb.python/tui*.exp)
48935 test that sframe_find_fre () works for the first, second, third and the
48938 bread and butter of an SFrame based stack tracer.
48994 The slice itself is present and named "&str". However, the Rust
48997 pointer-to-"str" -- but "str" isn't always available, and in any case
49023 machine, and tidies the header a little.
49028 of #elif. Test _LITTLE_ENDIAN and _BIG_ENDIAN in final tests.
49073 numbers 6 and 7 if they're in scope of the source window:
49109 * libcoff-in.h (struct coff_tdata): Add section_by_index and section_by_target_index hash tables.
49124 Run black on gdb.python/py-disasm.py file and commit the changes.
49134 gdb.python/py-function.exp, and that still passes after this change,
49164 impacts arm, aarch64, and possibly ppc/ppc64 too.
49167 expected between the command and the '$2 = 0' line. In this case the
49199 unexpected, output, and I think that is a good thing.
49217 - They could intercept instruction disassembly requests and return a
49223 instruction GDB would collect these print requests and build a
49225 call, and the user could modify or extend this string as needed.
49241 - Call builtin_disassemble and receive a result that represents how
49247 DisassemblerTextPart and DisassemblerAddressPart.
49250 libopcodes and building a single string, we will now create either a
49251 text part or address part and store these parts in a vector.
49260 address be printed, and takes care of printing the address and
49268 methods on the DisassembleInfo class: DisassembleInfo.text_part and
49276 GDB's C++ code we walk the list of parts and call back into GDB's core
49282 instruction and gives this part the default text style. This is also
49288 libopcodes printing API (the API that doesn't pass style info), and
49297 GDB's internal print_address function, and to do that we need an
49305 presented here, and an alternative where parts could be constructed
49306 directly), and this felt like the cleanest solution.
49334 of GDB, so I don't expect it to be widely used yet, and
49343 Python object back to its C++ type (disasm_result_object), and access
49349 removed, and a new test that confirms that DisassemblerResult can't be
49368 This patch fixes the bug and adds a regression test.
49372 objfiles" and then inspects to ensure that the entry in question has a
49402 Fix bad interaction between element limit and repeated values (BZ#24331).
49409 Fix two buggy tests exposed by the fix, and add a new test.
49432 though, so make the ordering explicit, and mention that section
49437 override the default script and to augment.
49456 This worked before the series, and is strange anyway, because the
49459 This patch adds a test case for this situation and fixes the bug by
49464 Use bool and early loop exit in remove_extra_symbols
49465 This changes remove_extra_symbols to use bool rather than int, and
49473 Handle Ada Pragma Import and Pragma Export
49474 Ada can import C APIs and also export Ada constructs to C via Pragma
49475 Import and Pragma Export. This patch adds support for these to gdb,
49479 doesn't generally handle symbol aliasing, and because Ada treats
49490 and it seemed simplest to move this method out-of-line, and cleaner to
49500 This introduces a new function, lookup_minimal_symbol_linkage, and
49524 This patch adds dynamic::is_constant and then updates these checks to
49534 This patch also adds the missing (and optional) "presentationHint" to
49546 However, this also happens if you follow the directions and add the
49549 This patch fixes the problem and adds a regression test.
49563 Add a __repr__ method for the DisassembleInfo and DisassemblerResult
49564 types, and add some tests for these new methods.
49591 supposed to work in the same way as gdb_test, and that the recent
49607 matches 'command' after the '^' and before the 'output', this is in
49617 and gdb_test_multiple in order to keep these two paths in sync.
49662 The DW_OP_constu pushes a value with "generic type" on to the DWARF stack, and
49667 large, and we hit this clause in rw_pieced_value:
49673 and consequently get a zero.
49676 32-bit case and require is_target_64 just for the 64-bit case.
49683 I ran test-case gdb.dwarf2/opt-out-not-implptr.exp with make-check-all.sh, and
49733 Gdb uses readline to auto-detect screen size, and readline decides in the
49734 TERM=ansi case that the terminal does not have reliable auto-wrap, and
49742 - readline wrapping (in other words, prompt edit wrapping), and
49795 55, and gdb assumes the terminal inserts a line break there, which it doesn't
49803 reports the screen width in init_page_info, and updating chars_per_line
49806 Note that now we report the same width for both TERM=xterm and TERM=ansi,
49814 and ansi:
49822 and gdb.tui/wrap-line.exp, so remove the KFAILs there.
49852 registers, and S_CAN_BE_REDEFINED() goes by section rather than by
49853 expression type. Both together undermine .eqv and .equiv clearly meaning
49856 To compensate pseudo_set() now using O_symbol and S_CAN_BE_REDEFINED()
49925 the watchpoint's disposition to `delete at next stop' and then normal
49926 stops (i.e., stop and wait for the next GDB command). When GDB normal
49935 Since GDB single-steps the program and tests the watched expression
49973 object) results in the plugin deciding to use its offload data (and a
50044 The last line number in the source file is 5, and there are 7 lines to display
50046 source window would be 5, and the last one would be 11.
50088 that this code be hardened and able to handle a nullptr without
50132 * ldlex.h (enum option_values): Add OPTION_PRINT_MAP_LOCALS and OPTION_PRINT_MAP_LOCALS.
50133 * lexsup.c (ld_options[]): Add entries for --print-map-locals and --no-print-map-locals.
50149 and compiled with -g into an a.out.
50186 The default display uses more space for line numbers and starts the
50188 much space as is needed for the line numbers in the current file, and
50192 The bit about the default display and the next tab stop looks incorrect. The
50199 Then there's the fact that the line numbers "10" and "11" are both abbreviated
50203 8 for this example, and takes a single digit. The line numbers though
50244 Fix this by introducing named variables needed_digits and trailing_space, each
50259 Also fix the documentation and help text to actually match effect of
50306 breakpoints to delete in a map and deleting them all at the end.
50436 (debug_write_type): Set mark and check before recursing into
50497 pe.em and pep.em make_import_fixup
50500 identical (and in fact the new pep.em read_addend could be used in
50519 below image base" and likely runtime misbehaviour.
50536 as an argument, so this patch removes the parameter and associated
50545 this patch replaces it with a for-each and an explicit temporary
50585 Add support for .MIPS.abiflags and .gnu.attributes sections
50615 In some cases (py-micmd.c and py-tui.c), we have two functions
50616 gdbpy_initialize_*, and gdbpy_finalize_*, with the second being called
50619 This commit proposes a mechanism to manage these initialization and
50622 the initialization and finalization functions will be registered
50625 The initialization and finalization functions are managed through a
50627 contains a single global vector of all the initialization and
50636 list and invoking each callback in turn.
50646 finalized). To try and avoid dependencies creeping in I have added a
50651 reverse the list of Python initialization (and finalization)
50658 I have tested this patch with the environment variable set, and saw no
50663 have the correct signature I've updated its return type to int, and we
50666 All of the other initialize (and finalize) functions have been made
50682 in other lib/gdb.exp procs and that it would probably be a good idea
50686 gdb_test_multiline, get_valueof, and get_local_valueof.
50707 I've rerun the testsuite and fixed the regressions that I saw, these
50760 string, including FILENAME, and also removes some uses of '.*' to make
50777 This didn't make sense to me. I looked into it a bit more, and I
50801 Simplify auto_load_expand_dir_vars and remove substitute_path_component
50803 then do any needed substitutions. This was suggested by Simon, and is
50816 for TERM=xterm and TERM=ansi, both with auto-detected and hard-coded width.
50827 for CLI and TUI, both with auto-detected and hard-coded width.
50850 changed the way recording a remote target works and fixed the underlying
50860 The '--simple-values' argument to '-stack-list-arguments' and similar
50862 references to arbitrarily large structures are considered "simple" and
50870 '-stack-list-variables' and so on) take a PRINT-VALUES argument which
50873 name, type, and value of variables with simple types, and print only the
50874 name and type of variables with compound types.
50879 account, and this makes the argument unsuitable for this purpose.
50902 If we start GDB in MI mode and continue to 'sum', the behaviour of
51008 It is ugly and should not be in upstream.
51044 But because they're in different compilation units, the initialization order and
51061 However, since then frame_list has been moved into frame.c, and
51064 Revert aforementioned commit, and fix the destruction order problem by moving
51116 Each new frame_info_ptr is being pushed on a static frame list and g++
51117 cannot see why that is safe in case the frame_info_ptr is created and
51138 …* coffcode.h (coff_compute_checksum): Improve speed by reducing the number of seeks and reads used.
51143 The ptr and size args are unused. Make the function look the same as
51146 Generated docs and include files
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
51156 prototypes, and indentation in bfd.h and libbfd.h is better.
51160 Move bfd_alloc, bfd_zalloc and bfd_release to libbfd.c
51165 * libbfd.c: ..here. Include objalloc.c and provide bfd_release
51173 bfd_elf_bfd_from_remote_memory is just a wrapper, and the function
51176 it the usual FUNCTION etc. comment so prototypes and docs are handled
51188 tables and variables.
51190 (bfd_hash_set_default_size): Use unsigned int param and return.
51194 libbfc.c: Use stdint types for unsigned char and unsigned long
51229 exactly the same value), and hoisted the calculation out of the loop.
51272 Fix this by making main_subfile file static. And allocate and
51273 deallocated together with inclTable in allocate_include_entry and
51296 In AIX if there is a main and a thread created from it , then once the
51297 program completed execution and goes to pd_disable () inferior_ptid
51306 error_stream is trivial and only used in a couple of spots in
51326 CC_FOR_TARGET) and spotted that this script was still using the C
51345 defines. Note that I plan to add more parameters here, and perhaps
51355 layer. Move the contents of ui_interp_info directly into struct ui, and
51369 gdb: move struct ui and related things to ui.{c,h}
51371 first, I think that struct ui and the related things are big enough to
51372 deserve their own file, instead of being scattered through top.{c,h} and
51397 op_name is only needed in a single place, so remove it and inline it
51411 This changes field_is_static to be a method on struct field, and
51425 fix) and a message:
51440 cannot auto-wrap lines, and reserves one column to deal with that, and as a
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:
51469 After starting gdb with TERM=ansi, entering TUI, and issuing the command, we
51474 and after maximizing and demaximizing the window we get:
51483 - using readline_hidden_cols in tui_resize_all to fix the resize problem, and
51516 Fix this by detecting the horizontal scrolling case, and skipping the
51660 because the MI uses global thread-ids, and so never calls
51661 print_thread_id. However, GDB does support using CLI and MI in
51668 The other option is to pull the MI into line with the CLI and prevent
51673 consistent CLI behaviour, and just made the MI reject requests to
51688 breakpoint for a non-existent thread, and I've also extended the test
51689 to run with the separate MI/CLI UIs, and then tested 'info
51700 we should treat requests like this, on both the MI and CLI, as another
51735 getters and setters, and store the value directly within the current
51750 getters and setters, and store the value directly within the current
51782 alternative API which requires we provide some getter and setter
51783 functions. With this done the scratch variable can be removed and the
51799 cmd_list_element object when the set/show command is created, and we
51803 commands, but I manually checked, and each command still appears to
51887 doesn't get to see and record them all.
51914 contents when !TYPE_CODE_PTR, lval is lval_internalvar, and the value's
51946 this code. FWIW I looked and this code has been there since at least
51979 the testsuite is stricter when matching trailing newlines, and so the
52004 Let --no-relax-gp only disable the gp relaxation for lui and pcrel
52005 relaxations, since x0 base and gp relaxations are different optimizations
52021 just relax the R_RISCV_LO12_I/S to R_RISCV_GPREL_I/S, and then don't
52046 and only then prefix, resulting in fewer table entries. Note that in the
52057 and prefix last, resulting in fewer table entries. Note that in the
52165 This patch fixes the problem, and another similar one in
52172 required. While its unbalanced and hence can degrade to a linear list
52176 populates the tree and only then does lang_add_section on the sorted
52179 In the testcase we have very many linkonce section groups, and hence
52185 about 1500 to 106000, and in the degenerated case (as in the testcase)
52189 own function and uses the latter to avoid inserting into the tree. This
52191 based on section flags is now done last, and only in lang_add_section).
52192 The new function is not a pure predicate: it can give warnings and it
52211 $pc = 0x...' and then 'continue'. Writing directly to the $pc
52230 I think the intention here is pretty clear - run 'some_command', and
52235 final newline and prompt we know that the only thing after the output
52236 pattern will be a single newline and prompt, and the leading '^'
52246 the command and include some regexp character, then I have to write:
52252 bother anchoring the output with a '^', and a quick scan of the
52261 Inside gdb_test we will spot the leading '^' in the pattern, and
52287 This extra '\r\n' is not what we should expected here, and so there is
52292 command, and these can all be simplified in this commit.
52307 First, for the newline pattern between the command output and the
52310 The old pattern would spot multiple newlines, and so there are a few
52318 appears in the output, this is going to be silently ignored, and I
52365 document the possible return values (just as gdb_test does), and
52371 The two tests gdb.base/auxv.exp and gdb.base/list.exp both rely on the
52372 return value of gdb_test_no_output, and continue to pass after this
52387 The warning function already adds a trailing newline, and it is my
52391 The problem cases I found were in language.c and remote.c, in this
52393 calls in these two files and removed any additional trailing newlines
52407 commit will change gdb_test so that it is not so forgiving, and these
52431 internal breakpoint and non-internal (user created) breakpoints in
52448 which case the pattern above matches '-0' from 'blah-0', and in this
52452 occurs after a '\r\n', and that they never start with a 0. Our
52473 Add support for %x and %lx formats to the linker's vinfo() function.
52489 various conditional-arithmetic, conditional-logical, and
52501 - a public specification document is available (see above) and is
52515 * doc/c-riscv.texi: Add section to list custom extensions and
52522 * opcode/riscv-opc.h Add vt.maskc and vt.maskcn.
52527 * riscv-opc.c: Add vt.maskc and vt.maskcn.
52540 pseudo-C assembly syntax used in BPF, and now supported by the
52558 - Some general GAS tests involving assignment and equality operands in
52559 expressions (such as = and ==) are disabled in bpf-* targets,
52594 assembly syntax used in BPF. This syntax is C-like and very
52596 clang/llvm and is also used in inline asm templates in kernel code, so
52600 supported syntax: the normal assembly-like syntax and the pseudo-C
52657 - using string_val.size () instead of string.size (), and
52688 This patch does this, and should be pretty straightforward.
52704 i386-dis.c UB shift and other tidies
52710 2) Return get32s and get16 value in a bfd_vma, reducing the need for
52713 3) Introduce get16s and get8s functions to simplify the code.
52732 CC, CC_FOR_BUILD and other compiler related flags in the environment.
52744 * Makefile.am (check-DEJAGNU): Pass $CC and other variable on
52766 One spot in varobj.c should use scoped_restore to save and restore
52791 (and ignore it, as being not equal to the currently considered
52799 but directly compare spec and local_sym_name.
52807 Then both the GPR lookup there and the yet more ad hoc workaround for
52812 Both the temporary workaround for PR/gas 29940 and the existing special
52822 With my_getSmallExpression() consistently and silently failing on
52827 and percent_op_stype[] growing a non-identical set of recognized
52830 RISC-V: avoid redundant and misleading/wrong error messages
52845 expression" errors when another parsing pass may follow (and succeed).
52850 whitespace between .insn's type and the O4 or O2 expression when that
52851 starts with % or ( - i.e. these will be seen as e.g. "i%lo(x)", and
52857 and there's also no reason to make the involved string literals longer
52871 # Due to the strange column resizing behavior, and because we
52902 - "(gdb) layout src", and then
52954 and after:
52984 - "(gdb) layout src", and then
53049 Fix this by using send_gdb "$cmd\n" and wait_for "Program terminated" instead.
53056 The semantics of wait_for are non-trivial, and a bit hard to understand
53061 - what strings we compare to the regexps, and
53064 I've added this ad-hoc a couple of times, and it seems that it's worth having
53082 # expected result, and carry on.
53087 The timeout is silent, and though in some places the return value is checked,
53088 this is not done consistently, and consequently there are silent timeouts
53089 when running the TUI testsuite (gdb.tui/*.exp and gdb.python/tui*.exp).
53091 Each timeout is 10 seconds, and there are 5 in total in the TUI tests, taking
53132 Fix this by using "\{" and "\}".
53166 not hitting. Fix this by detecting the situation and bailing out.
53174 combination with -prompt and found out that it doesn't work, because -wrap uses
53245 - introduce a new caching proc have_compile_and_link_flag, and
53249 - x86_64-linux (openSUSE Leap 15.4), and
53255 With test-case gdb.dwarf2/dw2-abs-hi-pc.exp and tcl 8.5, I run into:
53307 coff_slurp_symbol_table. Stop that happening, and fix an unrelated
53340 - requiring tcl 8.6 in allow_dap_tests, and
53385 MIPS: support mips*64 as CPU and gnuabi64 as ABI
53390 For 64bit Ports, like Debian's mips64el and mips64r6el ports,
53397 Regenerated macro_op_32.d and add skip loongarch64-*-*.
53414 When running the gdb.dlang test-cases, and forcing gdb_find_gdc to be used
53463 I think that the language_auto enumerator and the auto_language class
53467 `current_language` points to the current effective language, and the
53471 - Change set_language to handle the "auto" (and "local", which is a
53479 unknown_language and move the bits of the existing unknown_language
53495 that part and update the condition to just check for
53505 setting. The source of truth is really current_language and
53510 value getter and setter.
53533 - making the testsuite more robust, and
53534 - making sure the test-cases work for non-native and remote setups, if
53537 Each board is slightly different, and developers need to learn how to use each
53538 one, what parameters to pass and how, and which ones can be used in
53562 Shell-checked and tested on x86_64-linux.
53570 While working on PRs tui/30337 and cli/30346 I came across various notions of
53571 width in gdb, as reported by gdb, readline, curses and the environment
53574 As for gdb, readline and the environment variables, the way things work
53578 COLUMNS and LINES,
53589 and height.
53621 Likewise we can detect tui/30337 by doing a resize in TUI mode and doing
53627 And for TERM=ansi, with width and heigth set to 0:
53710 This patch adds a new arch hook to handle this scenario, and
53746 Make them return boolean and convert FETCH_DATA() uses to fetch_code().
53747 With this no further users of FETCH_DATA() remain, so the macro and its
53762 Make the handler functions all return boolean and convert FETCH_DATA()
53767 to recognize and act upon.
53777 ... and its direct helper get_sib(). Using setjmp()/longjmp() for fetch
53797 A semicolon was missing and "name" needs to be pointer-to-const. While
53806 If the output sections are not between gp and the symbol, then their alignments
53817 already preserve the size and won't do the gp relaxation this time.
53819 This patch can resolve the github issue which mentioned above, and also passed
53820 all gcc/binutils regressions of riscv-gnu-toolchain, so should be worth and
53870 for the big and small archives, it's nicer to use a union.
53873 and thus significantly slow down the tools, adjacent ranges are
53886 * coff-rs6000.c: Replace uses of xcoff_ardata and
53897 * coff64-rs6000.c: Replace uses of xcoff_ardata and
53904 This element is unused. Ideally we'd be moving archive_head and
53940 and others running "visibility (hidden undef)" tests
53943 first checking the type, and SYMBOL_REFERENCES_LOCAL isn't sufficient.
53967 with uint16_t and unsigned char with uint8_t. Make li_line_base
54038 this function still passes both the dejagnu and internal AdaCore
54041 As this was reviewed internally, and only affect Ada, I am checking it
54104 and IEEE 128-bit float. The issue is the DWARF information does not
54118 and format fields from the _Float128 typedef are copied to the long
54127 128-bit and on Power 10 where GCC defaults to the IBM 128-bit float. The
54146 RISC-V: Cache the latest mapping symbol and its boundary.
54163 still did backward search again and again.
54171 and cache that.
54224 gcc and g++ links differently the version symbols when the default version is
54225 not set. c-linker is using our pthread_create@GLIBC_2.34 and c++-linker is using
54230 we use dlvsym (dlflag, "pthread_create", "GLIBC_<NN>") to find and call
54239 * libcollector/iotrace.c: Find and call a default libC version symbol.
54254 All man pages are now written in Texinfo. Texi2pod and pod2man are used
54258 the man pages. These are formatted appropriately in the INFO, PDF, and
54262 of all options and commands that have been documented so far.
54296 gdb/amdgpu: add follow fork and exec support
54301 possible to for an inferior to fork and for GDB to debug the GPU code in
54304 To achieve that, use the inferior_forked and inferior_execd observers.
54313 In the case of exec, we detach from the exec'ing inferior and attach to
54320 Note that we use observers and not target_ops::follow_{fork,exec} here.
54338 The problem explained and fixed in the previous patch could have also
54356 Let's say inferior 2 is selected by do_target_wait and returns an event that is
54435 case). In fact the following patch does this change, and it would be
54443 stratum target and the ptid that regcache already knows about:
54453 However, this caused some failures in fork-related tests and gdbserver
54457 find_inferior_ptid would return nullptr, and
54467 but I looked for other regcache methods doing target calls, and added
54470 In the regcache constructor and in get_thread_arch_aspace_regcache,
54505 The regcache class takes a process_stratum_target and then exposes it
54525 right away. It attaches itself to the process and only pushes itself on
54526 its target stack if and when the inferior initializes the ROCm runtime.
54529 notified of it, so we can attach to the child, and catch if the child
54532 So, add a new observable and notify it in follow_fork_inferior. It will
54540 gdb: pass execing and following inferior to inferior_execd observers
54542 detach amd-dbgapi from the inferior doing the exec and attach amd-dbgapi
54550 Change the signature to pass both inferiors, and update all existing
54626 because read_direct_string transforms "" into a nullptr, and we end up
54664 and 'times' arguments.
54667 gdb.mi/mi-pending.exp and gdb.mi/mi-dprintf-pending.exp.
54692 changing {"} to "\"", which is handled fine, and means exactly the
54702 Older gdb's (9, 10, 11 and 12) have a bug that causes them to crash whenever
54703 a target reports the pauth feature string in the target description and also
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
54717 This new feature string is org.gnu.gdb.aarch64.pauth_v2, and should be used
54718 by all targets going forward, except native linux gdb and gdbserver, for
54722 report additional system registers and thus doesn't cause a crash of older
54769 # IHEX and TEKHEX. We skip those tests then.
54823 Add regression tests for PR30325, one for the asm window and one for the
54848 symfile_bfd_open and using it in the affected places.
54857 linker relaxation test, and add linker scripts to nps-1x tests.
54871 AOUT and COFF targets set symcount and start_address in their object_p
54872 functions. If these are used anywhere then it would pay to save and
54877 symcount, read_only and start_address.
54879 (bfd_preserve_restore): ..and restore..
54880 (bfd_reinit): ..and zero new fields.
54884 Re: pe_ILF_object_p and bfd_check_format_matches
54887 ILF object matching both pei-arm-little and pei-arm-wince-little.
54888 There the first match is saved in preserve_match, and restored at the
54895 changes. abfd->iostream is a FILE* when using cache_iovec, and if
54896 the file has been closed and reopened the iostream may have changed.
54914 The commit 1b6d4bb2232 ("Redraw both spaces between line numbers and source
54933 With a hello world a.out, and maint set tui-left-margin-verbose on, we have
54943 Note the space between "B+>" and 0x555555555151. The space shows that a bit
54966 The discrepancy between the two causes the space between "B+>" and
54969 Fix this by redefining TUI_EXECINFO_SIZE to 3, and using:
54979 commit 9e820dec13e ("Use a curses pad for source and disassembly windows"),
55001 - tui_source_window (the source window), and
55016 where the left margin is the part holding "B+>" and the line number, and the
55029 and ends, making it harder to observe problems related to it.
55041 and this for the disassembly window:
55051 Note the space between "B+>" and 0x555555555151. The space shows that a bit
55064 between line numbers and source code"), we have:
55072 showing a similar problem at the space between '_' and '{'.
55102 MIPS: make mipsisa32 and mipsisa64 link more systematic
55104 and `mips_mach_extends_32_64 (unsigned long base, unsigned long extension)`,
55105 to make mipsisa32 and mipsisa64 interlink more systemtic.
55107 Normally, the ISA mipsisa64rN has two subset: mipsisa64r(N-1) and
55115 * elfxx-mips.c (mips_mach_extends_p): make mipsisa32 and
55127 This is a fuzzing PR, with a testcase involving a SHF_ALLOC and
55133 compressed, size is uncompressed, and from that some uninitialised
55171 pe_ILF_object_p and bfd_check_format_matches
55178 meaning and should be set if using _bfd_memory_iovec. To fix these
55179 problems, save and restore iostream and iovec along with flags, and
55181 iovec and iostream allows the hack in bfd_reinit keeping BFD_IN_MEMORY
55191 * format.c (struct bfd_preserve): Add iovec and iostream fields.
55193 (bfd_preserve_restore): ..and restore them, calling
55217 1) The if (..) is meaningless -- we're xoring with that value, and of
55219 value and then cmov. Removing the if test removes the cmov.
55236 It said for 'info inferiors' and 'info connections' that the argument
55239 combination of numbers and (ascending) ranges.
55325 hardware watchpoint, and the manual clearly says that hardware
55355 that something unexpected has occurred, and hopefully, they will not
55364 targets, and this test isn't about them.
55375 libgomp function, and the riscv prologue unwinder was failing to
55379 includes a c.li (compressed load immediate) instruction, and the riscv
55385 through libgomp, and I no longer see any unexpected failures in
55428 * testsuite/gas/i386/i386.exp: Run AMX-FP16 and AMX-COMPLEX
55465 machinery to detect clashing output dicts and add a numeric prefix to
55470 larger than a single translation unit) and then also used
55473 first, and then all the actual content got considered to be a clash. So
55474 you ended up with a pile of useless empty dicts and then all the content
55486 already exists and we are making one for no input in particular.
55494 are set on error and left unchanged on success. This means that all
55496 caller is apt to find a previous, lingering error and misinterpret
55502 look up the type as well: the pointer might well be in a child and the
55508 So, audit and fix all those places. Add tests for as many of those
55526 libctf, tests: do not assume host and target have identical field offsets
55531 the lookup runner is compiled and executed, is the same architecture as
55536 testsuite, and add a new no_cross flag to .lk files that is used to
55556 the libiberty hash table and to use new and delete. A couple of other
55578 This is free software: you are free to change and redistribute it.
55580 Type "show copying" and "show warranty" for details.
55585 Find the GDB manual and other documentation resources online at:
55593 This makes gdb.log longer than necessary and harder to read.
55613 ld: NOTE: This behaviour is deprecated and will be removed in a future \
55652 * i386-gen.c (cpu_flag_init): Add CPU_AMX_COMPLEX_FLAGS and
55671 Added two test scripts gdb.arch/amd64-disp-step-self-call.exp and
55698 Fix gdb.base/align-*.exp and Clang + LTO and AIX GCC
55700 Thus, gdb.base/align-c.exp and gdb.base/align-c++.exp fail with
55714 AIX GCC has the same issue, and there the easier way of adding
55740 This commit just runs black on the file and commits the result.
55750 This commit allows Frame.read_var to accept named arguments, and also
55785 2. New error message gives argument position and expected argument
55810 For existing code that doesn't use named arguments and doesn't rely on
55829 Minor update to allow for named arguments, and an extra test to check
55838 and gdb.PendingFrame.create_unwind_info to accept keyword arguments.
55843 think it's nice to be consistent, and I don't see any particular draw
55847 'reg' to 'register' in the documentation and used 'register' as the
55849 where possible, and given we didn't support named arguments before
55891 code that throws and catches the ValueError, and this code will break
55902 approach to displaced stepping, and was identified in PR gdb/22921.
55905 i386, rs6000 (ppc), and s390. Of these, I believe there is a problem
55906 with the current approach which will impact amd64 and ARM, and can
55908 asynchronous signals and GDB is using displaced stepping.
55911 displaced-stepping.c, and is this; after GDB tries to perform a
55912 displaced step, and the inferior stops, GDB classifies the stop into
55923 remains in displaced_step_buffers::finish and just performs a minimal
55927 The problem here is that for amd64 and ARM setting up for a displaced
55934 registers are never restored, and they retain their modified values.
55946 When we displaced step this instruction we borrow a register, and
55960 signals provides one reason. GDB sets up for the displaced step and,
55964 signal, and then tries again with the displaced step. But it is that
55967 completed, and so does not perform the architecture specific fixup,
55970 The reason why I think AArch64, rs600, i386, and s390 are not effected
55978 modify up to 16 temporary registers, and the instruction being
55995 sequence of replacement instructions we got, and from that GDB can
56008 value, and so bug PR gdb/22921 is resolved.
56012 fixup functions for AArch64, rs600, s390, and ARM. For all of these
56020 'jmpq*' instruction that was causing problems in the original bug, and
56024 I've also added two new tests (for amd64 and i386) that check that GDB
56048 Fix memory leaks and do a general tidy of the code for printing coff
56049 and stabs debug.
56056 throughout. Free "parents" before assigning, and set to NULL
56058 strings assigned to method, and free before assigning.
56059 (print_debugging_info): Free info.stack and info.filename.
56084 This patch corrects that and avoids some dubious copying of strings.
56086 * objcopy.c (write_debugging_info): Free both strings and
56088 * wrstabs.c: Delete unnecessary forward declarations and casts
56116 The stabs debug format is obsolete and there's no reason to think that
56161 expression calculating text_end and thus text_size was only added if
56164 This patch restores the previous behaviour and fixes the testcase.
56171 Improve documentation of GDB build requirements and options
56173 was inappropriate and out of place. In addition, the description
56176 was also outdated and used wrong markup.
56178 Original patch and suggestions from Philippe Blain
56184 * gdb/doc/gdb.texinfo (Requirements, Configure Options): Update and
56185 rearrange; improve and fix markup.
56192 in the command description and used in the examples.
56234 under bfd/po/, i.e. in maintainer mode.
56244 generated from the .l and .y ones. While in their absence it was benign
56253 Trying to free malloc'd memory used by the stabs and coff debug info
56254 parsers is complicated, and traversing the trees generated requires a
56275 in place of xmalloc and memset.
56285 (parse_coff_enum_type): Copy names and vals over the
56296 and stabs handle.
56299 and stored as main_filename to debug_xalloc memory. Similarly
56300 for string passed to debug_start_source and push_bincl. Copy
56302 (parse_stab_enum_type): Copy names and values to debug_xalloc
56309 (parse_stab_members): Copy variants and methods to
56312 and args.
56333 Add readMemory and writeMemory requests to DAP
56334 This adds the DAP readMemory and writeMemory requests. A small change
56342 set_momentary_breakpoint_at_pc, and then set the newly created
56353 thread_info* as an argument and set the breakpoint::thread to hold the
56363 thread, and
56405 inferior function, and the inferior function segfaults. We can see
56406 that GDB reports the segfault, and then gives an error message that
56419 message, and this second stop might be thought of as replacing in
56462 (a) a breakpoint condition evaluation failed, and
56517 handle_signal_stop, and is set if/when GDB figures out that the
56521 foo, and enters handle_signal_stop and the stopped_by_random_signal
56526 breakpoint condition is checked, and, we end up calling the inferior
56530 segfaults in some_func. GDB catches the SIGSEGV and handles the stop,
56537 complete, and we return to the original handle_signal_stop. However,
56543 inferior function call. This will save and restore the global
56588 access from agent_mem_read, and to return a new eval_result_type
56594 with that area of gdb/gdbserver, and I don't want to break anything,
56599 breakpoints on the target, and have also extended the test so that it
56618 reflect what the function does, and its possible return values.
56684 some_func, and it's certainly not located at the breakpoint location.
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
56721 with native-gdbserver and native-extended-gdbserver target boards.
56725 gdbserver, and update the test script to remove the work around.
56741 we are in the function epilogue, the previous frame and stack pointer
56742 values are being restored, and so, the values that we calculated
56769 stack-pointer value. Currently GDB will not understand this and so
56798 and (in our imagined situation) with more aggressive levels of
56812 gdb/riscv: support c.ldsp and c.lwsp in prologue scanner
56813 Add support to the RISC-V prologue scanner for c.ldsp and c.lwsp
56831 the instructions that restore the frame and stack pointers just prior
56835 calculated during the prologue scan is no longer valid, and so we
56839 'foo', the function is so simple and short (the empty function) that
56851 allocated, and then deallocated, and so builds the correct frame-id.
56874 All of these settings now take a boolean rather than an integer, and
56892 This commit updates the disassembler to add the missing space, and
56912 The first of these commits fixed an issue in GDB and tried to extend
56916 correct, and were causing problems when trying to run with the
56930 breakpoint.c that is the core of the first commit and ran the test
56931 script ..... and saw no failures.
56937 throw an exception which is caught in the insert breakpoints code, and
56939 .... but the breakpoint has already been deleted ... and so GDB
56945 we mourn the remote inferior, delete the breakpoints, and throw an
56947 and so we never try to print the breakpoint number which is what
56952 calculated, and the first thing we do is try to insert the
56964 Then run gdb.server/server-kill.exp with and without this patch. You
57023 For instance, if a target supports both TPIDR and TPIDR2, ptrace will return a
57024 iovec size of 16. If a target only supports TPIDR and not TPIDR2, it will
57027 This patch fixes this issue in code that is shared between gdb and gdbserver,
57028 therefore both gdb and gdbserver are fixed.
57040 by allocating one more byte and making it zero. Also make functions
57064 objdump and objcopy exit. It is of course better from a user
57065 viewpoint to *not* free memory, which takes some time, and leave that
57076 (read_section_stabs_debugging_info): Likewise, and strings
57145 created by ".symver foo, foo@FOO", by checking symbol type, value and
57147 foo@FOO if foo and foo@FOO have the same symbol type, value and section.
57148 But in IR, since all symbols of the same type have the same value and
57150 their types, values and sections. We shouldn't add indirect symbols
57177 With test-case gdb.base/trace-commands.exp and editing off, I run into fails
57191 With test-case gdb.threads/threadapply.exp and editing set to on, we have:
57222 splits it up into subcommands, and for each subcommand issues it and then
57227 gdb_test_multiple "define remove" fails to match all resulting output, and
57244 language_demangle is only called in two places, and has a comment
57273 Used by both MAP and DDT e.g. it is used to detect the presence of debug
57281 Fix a functional regression and restore the handling of DW_CC_program
57285 GCC versions 4.5.4 and below, or where DWARF version 3 or below has been
57290 psymtab code"), and then an update to complement commit 81873cc81eff
57297 In the case where a Fortran program has a program name of "main" and
57334 to "Wif" because of its special handling (and allocating single character
57369 the necessary registers cannot be specified (and some of these bits
57373 is invalid on its own), but then it also clears EVEX.B and EVEX.R' plus
57398 ... and mention its introduction in NEWS.
57403 Since we have no insn suffix and it's also not realistic to infer
57405 (like optimize_imm() does), and since we also don't have a template
57407 allow size (and signedness) specification. In the absence of such, the
57410 on whether BFD64 is enabled), and only if supplied expressions can be
57433 Deal with register and memory operands; immediate operands will follow
57434 later, as will the handling of EVEX embedded broadcast and EVEX Disp8
57437 Note that because we can't really know how to encode their use, %cr8 and
57453 x86: parse VEX and alike specifiers for .insn
57470 similar comment and a similar check, relocations against STN_UNDEF have
57482 contains cases for RETURN_QUIT and RETURN_ERROR, but is missing a case
57505 /* Get out of tfind mode, and kill or detach all inferiors. */
57525 sync_quit_force_run along with the quit flag. This will allow the
57528 the gdb process, these flags will be set again and a QUIT check in the
57529 cleanup code will detect it and throw the exception.)
57545 prefetch hint space and so doesn't require any specific
57556 This patch adds the new SVE SQRSHRN, SQRSHRUN and UQRSHRN
57560 This patch adds the SVE SQCVTN, SQCVTUN and UQCVTN instructions,
57564 This patch adds the SVE FDOT, SDOT and UDOT instructions,
57570 This patch adds the SVE BFMLSLB and BFMLSLT instructions,
57573 aarch64: Add the SME2 UZP and ZIP instructions
57574 This patch adds UZP and ZIP, which combine UZP{1,2} and ZIP{1,2}
57578 This patch adds SUNPK and UUNPK, which unpack one register's
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
57612 This patch adds the BFCVT{,N} and FCVT{,N} instructions,
57617 instructions FCVT* and *CVTF. It also adds FP rounding instructions
57621 FCLAMP, SCLAMP and UCLAMP share the same format, although FCLAMP
57624 aarch64: Add the SME2 MOPA and MOPS instructions
57635 There are also 64-bit forms of SVDOT and UVDOT.
57640 BFDOT, FDOT and USDOT share the same instruction format.
57641 SDOT and UDOT share a different format. SUDOT does not
57645 aarch64: Add the SME2 MLALL and MLSLL instructions
57646 SMLALL, SMLSLL, UMLALL and UMLSLL have the same format.
57647 USMLALL and SUMLALL allow the same operand types as those
57651 aarch64: Add the SME2 MLAL and MLSL instructions
57652 The {BF,F,S,U}MLAL and {BF,F,S,U}MLSL instructions share the same
57657 aarch64: Add the SME2 FMLA and FMLS instructions
57661 and {S,U}{MAX,MIN}. SQDMULH, SRSHL and URSHL have the same form
57666 aarch64: Add the SME2 ADD and SUB instructions
57667 Add support for the SME2 ADD. SUB, FADD and FSUB instructions.
57668 SUB and FSUB have the same form as ADD and FADD, except that
57671 The 64-bit ADD/SUB instructions require FEAT_SME_I16I64 and the
57703 registers, and they wrap around after register 15 rather than after
57716 aarch64: Add the SME2 multivector LD1 and ST1 instructions
57717 SME2 adds LD1 and ST1 variants for lists of 2 and 4 registers.
57724 bounds of 7 and 15, this is the first plain register operand to have a
57727 and extractors for each lower bound. This in turn required adding
57734 to and from ZA. As with SME, the instructions are also available
57737 One notable feature of these instructions (and many other SME2
57742 consistent between these simple consecutive lists and later
57753 This patch adds support for these registers and extends some
57766 Like with the earlier vgx2 and vgx4 support, we get better error
57772 aarch64: Add support for vgx2 and vgx4
57779 group sizes and mnemonics that don't, nor between mnemonics that
57780 take vgx2 and mnemonics that take vgx4. We therefore get better
57782 during parsing, and wait until constraint checking to reject
57786 is wrong both in its qualifiers and its use of a group size, we'll
57816 and makes it the preferred disassembly. It also embraces wrapped
57820 The range form was already binutils's preferred disassembly for 3- and
57833 and reject invalid strides during constraint checking.
57857 suffix. The latter seems more mnemonic, and was a big help
57867 In GAS, the vector and predicate registers are identified by
57868 REG_TYPE_VN, REG_TYPE_ZN and REG_TYPE_PN. This "N" is obviously
57870 convention for integer and FP registers, and (more importantly)
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
57886 and (b) it tends to improve error reporting.
57902 the SVE and SME uses of qualifiers: a macro defined for one can
57916 same operand. But if we get to operand 3 (say) and see a register
57922 errors still win over parsing errors, and their relative priorities
57936 argument to AARCH64_OPDE_INVALID_VARIANT and then picks the
57960 SME2 instructions that have both 2-register forms and (separate)
57963 expect 2 registers and saying that we expect 4 registers would
57978 instructions have tied register list operands, and so we need to
57979 distinguish registers and register lists when checking whether two
58006 This means that if, after a successful parse and qualifier match,
58010 and 4-register forms of an instruction, and if the assembly code uses
58066 product of all known mnemonics and one example from each register
58082 After parsing a '{' and the first register, parse_typed_reg would
58109 parse_typed_reg is used for parsing both bare registers and
58130 If we've parsed the opening '{' of a register list, and then see
58141 aarch64_reg_parse_32_64 (and thus aarch64_addr_reg_parse) rather
58143 qualifier associated with the register, and the logic to calculate
58157 report invalid base and offset registers, but the disadvantage
58202 and libopcodes checks the range of vector select offsets, there's
58204 ZA array indices, and PSEL indices. The main one is that ZA
58243 further pieces: an offset range and a vector group size.
58273 ZA tiles and ZA in the same way, through parsed_type_reg.
58305 Advanced SIMD and SVE vector indices.
58310 parse_typed_reg returned a register number and passed the
58329 and REG_TYPE_ZATV. This slightly simplifies the existing code, but the
58335 The ZA tile registers were called REG_TYPE_ZA, REG_TYPE_ZAH and
58337 a register type too, and REG_TYPE_ZA is the obvious name for that.
58358 This is one step towards consolidating the ZA parsing code and
58377 and z0.s, z0.s, z0.h
58398 aarch64: Add sme-i16i64 and sme-f64f64 aliases
58400 FEAT_* flags, but sme-i64 and sme-f64 were exceptions. This patch
58401 adds sme-i16i64 and sme-f64f64 aliases, but keeps the old names too
58408 * dwarf.c (read_and_display_attr_value): Detect and ignore negative base values.
58415 'sp' and 'pc' attribute within the instance.
58426 new helper class, and I've also made use of this helper within the
58439 gdb.PendingFrame.create_unwind_info and pass a frame-id object.
58441 The frame-id object should have at least a 'sp' attribute, and
58450 we will support both gdb.Value objects and also raw numbers, which
58460 acceptable, or might be an error, and (2) when we get an error trying
58478 the attribute value (it's not a gdb.Value) and set this error in
58488 Then we return to pending_framepy_create_unwind_info and immediately
58497 OK - Attribute exists and was extracted fine,
58519 Additionally, users can now use integers for the 'sp' and 'pc'
58539 I've updated the code to use unpack_pointer, and changed a related
58580 gdb/python: add __repr__ for PendingFrame and UnwindInfo
58582 little bit easier. This commit adds __repr__ for gdb.PendingFrame and
58600 than methods. However, given both Frame and PendingFrame are just
58629 and cleaned the code slightly e.g. NULL to nullptr. Additionally each
58665 PendingFrame methods and checks the result is of an acceptable type.
58670 that uses 'disable unwinder' and expects a single unwinder to be
58690 I started writing some tests for this change and immediately ran into
58697 previous value -- and it turns out we never actually give this field
58703 accesses to the PendingFrame object result in undefined behaviour and
58735 Unwinder.__init__ method, and throw an error if this is not the
58740 3. The 'enabled' attribute is now implemented with a getter and
58747 some project) and have one command that disables/enables all the
58752 There's tests for all the changes, and lots of documentation updates
58783 sections and to .symtab for non-alloc.
58798 (write_debugging_info): Free strings and syms once written.
58818 disallowed when generating shared object (pic and pie). Generally, the
58880 and need to make ifunc-seperate* testcases work for rv32.
58886 RISC-V: Extract the ld code which are too complicated, and may be reused.
58919 Pass a frame to value_at_lazy and value_from_contents_and_address
58920 This patch adds a 'frame' parameter to value_at_lazy and ensures that
58930 This adds a frame parameter to resolve_dynamic_type and arranges for
58931 it to be passed through the call tree and, in particular, to all calls
58946 Rewrite version_compare and rust_at_least
58958 With test-case gdb.ada/verylong.exp and gnatmake 7.5.0 I run into:
58990 gdb: move displaced_step_dump_bytes into gdbsupport (and rename)
58993 and should really get a more generic name and move into gdbsupport/.
58996 bytes_to_string and is moved into gdbsupport/common-utils.{cc,h}. The
59002 pointer and length into an array view, which is used in places where
59019 see what GDB thought the original instruction was, and what
59033 replacement instruction, and add two new blocks of code to
59035 instruction, and the replacement instruction. In each case we print
59036 both the bytes that make up the instruction and the completely
59041 strings 'original insn' and 'replacement insn':
59074 replacement sequence was, and then our debug print code could use this
59141 We have way too much duplicated code in bfd. Apply dd3a3d0af9f6 and
59150 run_host_cmd adds $gcc_B_opt and $ld_L_opt to the command line if it
59157 ld_compile adds CFLAGS_FOR_TARGET and other flags as well, so there
59162 and $ld_L_opt to pr28138 link line.
59187 text_high and text_low members. This revealed some latent bugs in
59229 This does not seem very useful, and there have been multiple
59231 this string when possible, and updates the test suite.
59241 able to return a list of two elements: the zero/non-zero value, and a
59270 - using gdb_remote_download, and
59299 gdb_remote_download and host_standard_output_file.
59327 - a few gdb commands (set height etc) are send using fileid, arrive at gdb and
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
59336 host, and consequently the current gdb.
59368 With test-case gdb.server/non-existing-program.exp and native, I have reliably:
59389 and sometimes the exact same output, but a FAIL instead.
59398 Given p = A where p is a pointer to some type and A is an array of
59420 Fix this by using can_compile rust in the test-cases that need it, and just
59434 Fix this by adding can_compile rust, and using it in allow_rust_tests, such
59448 With test-case gdb.rust/watch.exp and remote host I run into:
59481 This fixes an error for test-case gdb.testsuite/gdb-caching-proc.exp and
59526 - removed unused defines and duplicated code.
59529 Tested on x86_64 and aarch64 (OL8/OL9). No regression.
59564 lwp_info::waitstatus and details the description of lwp_info::status
59605 - disabling the completion tests if readline is not used, and
59615 will then be copied and renamed to xgdb.
59648 This patch widens the member and changes all the uses that currently
59672 Use value_true in value_equal and value_less
59673 Both value_equal and value_less use value_as_long to check a
59676 arguments, and this approach can then fail for integers wider than
59685 Simplify this code, unify the C and non-C (but not OpenCL, as I don't
59686 know how to test this) cases, and handle 128-bit integers as well.
59694 Add value_as_mpz and value_from_mpz
59695 This adds the two new functions, value_as_mpz and value_from_mpz,
59699 This renames gdb_mpz::safe_export to export_bits, and adds a new flag
59708 This adds many operator overloads and other useful methods to gdb_mpz.
59723 are both mentioned in many CUs and that also require name
59730 host_standard_output_file and gdb_remote_download.
59770 gdb_remote_download and host_standard_output_file.
59789 For test-case gdb.base/index-cache.exp and remote host, this:
59846 running and passing, so let's rewrite the test-case using dwarf assembly
59847 and add it alongside (rather than replacing it, because it's good to use
59876 available, and no one looking at the codes needs to wonder whether
59907 casts are no longer needed, and where printf format strings or tests
59912 types. Rename l fields to u32 and u64 as appropriate.
59945 field without first checking fix_tag, and removes a whole lot of code
59948 documents this in the fix_tag comment, makes is_sym a bitfield, and
59953 Sort and comment on union selectors.
59993 - introducing a new proc can_compile, and
60001 Tested on x86_64-linux, on openSUSE Leap 15.4 and Fedora 37.
60031 Simon pointed out that with gdb.dap/*.exp and target board
60047 - using it in all the gdb.dap tests, and
60115 Another regression was found due to that commit, and it was fixed in commit
60152 a new string, and not so easily leakable).
60177 can-never-happen condition) and fails with an assertion failure.
60180 and added a no-qsort test to my regular testsuite run.
60197 itself could already run and encounter a @in_dap_thread decorator.
60293 gdb.base/break.exp and gdb.base/access-mem-running.exp are two examples of
60294 tests that run into errors and internal errors.
60302 and do_target_wait_1 calls switch_to_inferior_no_thread, nullifying the
60303 current thread. This means a call to inferior_thread () will assert, and
60342 inferior_ptid is valid and is not null_ptid.
60350 pointers, and for that it needs to access the registers.
60354 and switching between threads.
60361 a thread to fetch a register cache from and checking if the thread is actually
60369 (which are per-process and can change mid-execution), but there isn't a good
60377 This can happen when we let threads run in the background and then we attempt
60459 The commit turned out to be more strict than intended, and caused a regression
60470 which manifests on openSUSE Leap 15.4 for native and readnow, and on Ubuntu
60481 Tested on x86_64-linux, both on openSUSE Leap 15.4 and Ubuntu 20.04, both with
60482 native and readnow.
60543 using standard_output_file, and
60561 first is near the call site and uses an indirect jump like before,
60562 but it targets the second stub that is near the call target site and
60567 The stub layout is kept fixed between sizing and building the stubs,
60582 following two tests exercise SystemTap functionality, and are showing
60589 Linux specific, or architecture specific. For aarch64, arm, ia64, and
60591 file, while for amd64, i386, and s390 the implementation lives in
60593 maybe both choices are correct in the right circumstances, and I'm
60600 The stap-probe.exp file tests immediate, register, and register
60613 indicates that this method is optional and that GDB will perform some
60618 but it is no longer true. If this method is not defined and GDB tries
60625 predicate, and I have updated the validation check for the
60631 gdbarch_displaced_step_copy_insn is defined and they all also define
60704 some lines, and then use these addresses in expected patterns. It
60745 Sanity check coff-sh and coff-mcore sym string offset
60754 setting obj_coff_strings_len is pe_ILF_build_a_bfd. Fix that and we
60756 pe_ILF_build_a_bfd doesn't create bad symbols and
60823 PowerPC: fix for gdb.reverse/finish-precsave.exp and gdb.reverse/finish-reverse.exp
60825 PPC64 multiple entry points, a normal entry point and an alternate entry
60846 two new variables ALT_ENTRY_POINT and ENTRY_POINT are being initializezed
60848 zero at this point. The intialization of ALT_ENTRY_POINT and ENTRY_POINT
60851 This patch moves the initialization of ALT_ENTRY_POINT and ENTRY_POINT
60854 The patch has been tested on Power10 and on X86.
60934 We also checked the implementation of return value in arm and mips.
60935 So this patch changes the return value to -1, that can fix bugs and maintain
60945 …Since the tdesc_powerpc_vsx32, tdesc_powerpc_vsx64, tdesc_powerpc_altivec32 and tdesc_powerpc_alti…
60955 I noticed a weird comment in one of the .y files, and then ended up
60965 The mi_version function is unused, and I think it's better overall if
60983 Dejagnu's remotedir implementation has support in remote_exec and
60991 /home/remote-target and remotedir set to /home/remote-target/tmp.
61048 some (legacy) rust symbols can be demangled as both rust and C++, see
61057 C++ symbol, we could look for ':<' and '>:' and refuse to accept this
61073 eventually we consider our problematic symbol, and we end up with a
61103 and returns. In our case, when we're looking for 'pars', the match
61108 strncmp_iw_with_mode, and inside strncmp_iw_with_mode we allow for
61117 and records this as a skipped region within the
61121 removes the '<impl str>' component from the symbol name and tries
61125 match string, and the full symbol name within the
61126 completion_match_result object, and return.
61192 to match, GDB removes the 'foo<int>::' component, and starts the
61195 Again, GDB matches the 'foo', and now adds '<double>' as a skip
61196 region. After that the '(int' successfully matches, and so the second
61199 our match string, and this will cause GDB to crash.
61201 This problem was reported to the mailing list, and a solution
61210 is this function that implements the loop, and it is this loop, which
61219 assertions about the incoming range pointers, and in
61224 initial bug report, and a C++ test. The rust example depends on which
61243 Given that the C++ issue is real, and has a reproducer, I'm still
61269 defining LEX_AT or LEX_QM to zero: That would make '@' and/or '?' no
61289 for the purposes there, be more generic and reject it for anything that
61291 groups either are branches, or are not, and the few cases possibly
61338 Changed ld and gas BPF tests
61339 Recent BPF patch removed and renamed the list of relocations based on
61357 Rust comes before C++, and then using rust_demangle. This ensures
61358 that minsyms are correctly marked as "Rust", avoiding this code and
61370 progress_info to call it from its destructor, and finally changes
61378 breakpoints' command, and should be writing out suitable CLI commands
61394 function, and finally, I update breakpoint::print_recreate_thread to
61398 correctly includes the fully-qualified thread-id, and I've also
61437 libcollector/collector.h: Add CALL_REAL(), NULL_PTR(), and DBG_LT.
61452 * i386-dis.c (print_insn): Access "ins" and "priv" via volatile
61463 Regen ld/po/BLD-POTFILES.in
61477 rewrite_elf_program_header and want_p_paddr_set_to_zero
61531 There are a few spots that check whether a type is objfile-owned, and
61543 allocator, and updates all the callers. Note that symbol readers
61553 allocator, and updates all the callers. Note that symbol readers
61564 allocator, and updates all the callers. Note that symbol readers
61572 Unify arch_pointer_type and init_pointer_type
61573 This unifies arch_pointer_type and init_pointer_type by using a type
61580 Unify arch_decfloat_type and init_decfloat_type
61581 This unifies arch_decfloat_type and init_decfloat_type by using a type
61588 Unify arch_float_type and init_float_type
61589 This unifies arch_float_type and init_float_type by using a type
61596 Unify arch_boolean_type and init_boolean_type
61597 This unifies arch_boolean_type and init_boolean_type by using a type
61604 Unify arch_character_type and init_character_type
61605 This unifies arch_character_type and init_character_type by using a
61612 Unify arch_integer_type and init_integer_type
61613 This unifies arch_integer_type and init_integer_type by using a type
61671 can be simplified and shared.
61703 Simon pointed out a line table regression, and after a couple of false
61719 and now it's not possible to compare an unrelocated address from a
61728 Update the NetBSD system call table to add eventfd(2) and timerfd(2).
61757 called. It tries to map old locations to new locations, and if
61772 and was changed to this:
61793 bp_loc_software_watchpoint and bp_loc_hardware_watchpoint are inserted
61809 return true for them. And they'll be ignored by insert_bp_location and
61813 disappearing from gdb.log, and the results of gdb.trace/*.exp improve a
61827 PowerPC: fix for gdb.reverse/finish-precsave.exp and gdb.reverse/finish-reverse.exp
61828 PPC64 multiple entry points, a normal entry point and an alternate entry
61847 and the end of the function, a breakpoint is set at the normal entry point.
61851 point, GDB will detect that and continue to execute backwards in the
61862 and 11 regression errors in test gdb.reverse/finish-reverse.exp.
61864 The patch has been tested on Power 10 and X86 processor with no new
61871 is moved to lib/gdb.exp and renamed repeat_cmd_until. The existing procedure
61874 the new repeat_cmd_until procedure with the command set to "step" and an
61881 With test-case gdb.arch/ftrace-insn-reloc.exp and host board
61882 local-remote-host-notty and target board native-gdbserver I run into:
61907 With test-case gdb.arch/ftrace-insn-reloc.exp and host board
61908 local-remote-host-notty and target board native-gdbserver I run into:
61912 Fast and static trace points unavailable.'.^M
61917 - handling remote host in gdb_load_shlib, and
61939 host, we run into permission problems for GDB and the data-directory, so fix
61947 When doing a gdb_simple_compile, and downloading the resulting exec $obj
61954 Fix/workaround this on some target boards by setting remotedir by default, and
61965 on build, and then attempt to execute it on target:
61979 With test-case gdb.arch/i386-sse.exp (and likewise gdb.arch/i386-avx.exp) and
61980 host board local-remote-host-notty and target board native-gdbserver I run
61989 Fix this using '#include "precise-aligned-alloc.c"' and making that work with
61990 non-remote and remote host.
61997 With test-case gdb.arch/ftrace-insn-reloc.exp and host board
61998 local-remote-host-notty and target board native-gdbserver, I run into:
62024 and we could improve readability by using {} rather than "":
62076 variable and make as.c's global.
62084 indirection isn't necessary anymore. Drop macro.c's local variable and
62090 to a #define (retaining the logic in case a new user would appear) and
62125 on the stack, or how GDB behaves when the inferior is continued and
62134 fixes it by declaring a few target descriptions in ppc-tdep.h and then
62199 should be included in the skeleton code, and the example is therefore
62203 frame-id was being built (using the current stack point and program
62204 counter is (a) not correct, and (b) counter to what is laid out in the
62207 I've removed the incorrect code and replaced it with more generic
62209 need to be performed are both architecture specific, and dependent on
62282 according to ELF argument -zexecstack, -zstack-size and a new NTO
62341 - Renamed relocations to match llvm and linux kernel.
62374 and type to INFO.
62377 and misc-sections.sc.
62418 * mep.opc: Whitespace and formatting.
62436 (Target_powerpc::Scan::global): ..and here to correct PLT16 reloc
62440 are forced local, and don't set_needs_dynsym_entry.
62471 the same name, which is confusing and known to cause trouble.
62480 With test-case gdb.arch/amd64-stap-special-operands.exp and host board
62481 local-remote-host-notty and target board native-gdbserver I run into:
62489 due to compiling two executables with the same name, and when uploading the
62504 With test-case gdb.arch/i386-pkru.exp and target board native-gdbserver we run
62521 local-remote-host-notty and target board native-gdbserver on openSUSE
62532 # If DEBUGINFOD_URLS is set, gdb will try to download sources and
62573 …r-version and --disable-linker-version. (parse_args): Handle the new options. * scripttempl/arclin…
62589 Implement DAP variables, scopes, and evaluate requests
62590 The DAP code already claimed to implement "scopes" and "evaluate", but
62592 and also implements the "variables" request.
62594 After this patch, variables and scopes correctly report their
62601 This renames the data member of gdb_mpf and makes it private. It also
62606 Rename gdb_mpq::val and make contents private
62607 This changes gdb_mpq to hide its data, and renames the data member
62612 Add operators and methods to gdb_mpq
62613 This adds some operators and methods to gdb_mpq, in preparation for
62621 Rename gdb_mpz::val and make contents private
62622 This changes gdb_mpz to hide its data, and renames the data member
62627 Add methods and operators to gdb_mpz
62628 This adds various methods and operators to gdb_mpz, as a step toward
62656 …* dwarf.c (process_cu_tu_index): Prevent excessive memory allocation when nused is large and ncols…
62678 Likewise for board local-remote-host.exp, so remove proc ${board}_download and
62693 …* doc/as.texi (Pseudo Ops): Document that data directives such as .byte and .int are not intended …
62723 gas .include and .incbin
62724 This fixes a bug in .include and .incbin where given an absolute path
62736 * config/tc-tic54x.c (tic54x_set_default_include): Simplify and
62743 * dwarf2dbg.c (dw2_line, dw2_filename): Move to file scope and..
62773 displaced-step instruction, and is also used when first copying the
62774 instruction, and later, when fixing up the instruction, in order to
62775 read in and parse the instruction being stepped.
62778 example, it's used in the Python disassembler API, and it is used on
62784 ARM, and AArch64 for examples of this.
62787 max_insn_length field, and I think that could potentially lead to
62796 As some architectures (e.g. i386, and amd64) only require their
62803 and I've audited all calls to gdbarch_max_insn_length and switched to
62818 now get the validity checks by default, and if anyone adds a new
62820 and disable the validation.
62846 gdbarch_components.py, and that some (just some, not all) of these are
62850 exists so that we can know when to compare against "0" and when to
62868 as their initial value, and gcore_bfd_target now compares to NULL not
62901 - Some comments change slightly, and
62903 - For 'gcore_bfd_target' and 'max_insn_length' we now validate by
62942 and for the 'invalid' property to be a string.
62947 Allowing a component to have both a predicate and an 'invalid' string
62953 tested it locally and believe that it would work, and this might make
62957 the 'invalid' field should not be None, and I've changed the default
62966 predicate field set to True and the invalid field set to a string.
62967 However, no component currently uses this configuration, and after
62980 components: gcore_bfd_target and max_insn_length, without this the
62984 verify_gdbarch function, and for generating the getter functions.
62989 elif c.postdefault is not None and c.predefault is not None:
63012 and set its invalid attribute to a string.
63016 and an invalid expression, which can be used to validate the value
63078 Next, the rust compiler emits both a DW_TAG_subprogram and a
63100 local-remote-host-notty and target board native-gdbserver, I get:
63116 local-remote-host-notty and target board native-gdbserver, I get:
63130 local-remote-host-notty and target board native-gdbserver, I get:
63147 local-remote-host-notty and target board native-gdbserver, I get:
63164 local-remote-host-notty and target board native-gdbserver, I get:
63170 check for this, and consequently runs unsupported tests.
63179 When running test-case gdb.tui/corefile-run.exp with both host and target board
63189 I can confirm this analysis by working around this problem in
63237 and with target board native-extended-gdbserver instead:
63259 With test-case gdb.threads/step-bg-decr-pc-switch-thread.exp and target board
63268 and then try again.^M
63272 Fix this by following the advice and issuing an interrupt command, allowing
63288 fix was accepted without a regression test, and we've been carrying one
63300 scalar_binop has code for "&&" and "||", but I think this code can't
63301 currently be run -- and, furthermore, it doesn't make sense to have
63317 perspective of what debugging servers should define in the XML features, how and
63327 debugging servers what should be defined in the XML features, how and
63385 appropriate accessors, and then recompiled. Then I fixed all the
63400 Add operator< and operator== to linetable_entry
63401 This adds a couple of comparison operators to linetable_entry, and
63402 simplifies both the calls to sort and one other spot that checks for
63462 today). Many uses have not been cleaned up in practice, and compiling
63493 today). Many uses have not been cleaned up in practice, and compiling
63500 support and if the compiler needs to support many gas version, the
63510 With test-case gdb.python/py-completion.exp and target board
63541 "--Type <RET> for more, q to quit, c to continue without paging--". ]
63564 - the test-case concludes that pagination occurred, and produces a PASS
63570 - the test-case concludes that there's a valid response to the "q\n", and
63599 and target board remote-gdbserver-on-localhost, I run into:
63618 and internally refers to it as "target:/home/remote-target/$so".
63657 allocate_stub_method is only called from stabsread.c, and I don't
63658 think it will be needed anywhere else. So, move it and make it
63667 Revert "ld test asciz and ascii fails"
63672 leaving the asciz.d and asciz.t changes in place.
63682 Revert "lddigest 32-bit support and gcc-4 compile errors"
63727 Logic exists to deal with prereqs or prereqs, and in many cases
63731 - SIMD and F16 are already prereqs to COMPNUM, and
63732 - SVE2 and BFLOAT16 are already prereqs to SME.
63738 x86: decouple broadcast type and bytes fields
63744 the testcase to actually use distinguishable source and destination
63781 (check_eh_frame): ..eh_frame_data and debug_frame_data.
63805 on target using remote_download, and using the resulting path.
63816 * objdump.c (read_section): Report and return an error on
63836 With test-case gdb.threads/multiple-successive-infcall.exp and target board
63863 With test-case gdb.threads/thread-specific-bp.exp and target board
63910 With test-case gdb.server/unittest.exp and a build with --disable-unit-tests I
63934 With test-case gdb.server/unittest.exp and target board remote-stdio-gdbserver
63964 - using gdb_remote_download, and
63987 which the gdbserver runs, and fails because it's trying as the remote target
64015 Fixing the method for getting the inferior PID gives us fails, and there's no
64018 So, fix this by reverting the commit and just killing gdbserver, using the
64038 - fist copying $binfile.bak to $binfile, and
64046 and since "gdb_remote_download host" copies from build to host, $binfile.bak
64058 lddigest 32-bit support and gcc-4 compile errors
64079 the ominous warnings here and there, it does not seem very expensive.
64092 line where it wants to start the test and does a continue. GDB does not
64102 and Power 9 with Fedora 36 with no regression failures.
64112 and update the reference to Microsoft's docs.
64119 ns32k-pc532-mach, pdp11-dec-aout, rs6000-aix*, tic4x-coff, and
64128 without undefined symbols. Fix that, and be paranoid about bfd
64137 z8 and z80 coff_reloc16_extra_cases sanity checks
64147 instead print an error and return false.
64162 properly after rebasing and before pushing, we get this with the current
64172 another, and it's easy to add a dummy implementation in the mean time.
64188 and then calls objfile::forget_cached_source_info. It seems better to
64194 I ran across the attribute reprocessing code recently and noticed that
64203 This patch introduces a new read_toplevel_die function and changes a
64207 I left the reprocessing flag and associated checks in attribute. It
64241 get_interp_info and get_current_interp_info always return non-nullptr,
64262 gprofng reads Dwarf to find function names, sources, and line numbers.
64291 missing LDFLAGS preservation, fix our builds and match the comment.
64355 remote-gdbserver-on-localhost.exp by using gdb_download_shlib and gdb_locate_shlib.
64362 With test-case gdb.base/break-probes.exp and target board
64366 Fix these by adding the missing gdb_download_shlib and gdb_locate_shlib.
64448 - cleanup gdb.txt and standalone.txt on target board
64468 and other targets are not affected as a consequence of the same.
64476 Fix these (and make things more similar to the gdb.exp procs) by:
64483 - using gdb_download_shlib and mi_locate_shlib in the test-cases.
64485 Tested on x86_64-linux, with and without target board
64594 Since the current code does what we want, and I don't see any way of doing it
64614 file and the expect script to support SYS_exit as an alternative to
64628 the test program to overflow their stack and crash. Double the
64634 amd64-linux-tdep: Don't treat fs_base and gs_base as system registers.
64635 These registers can be changed directly in userspace, and similar
64636 registers to support TLS on other architectures (tpidr* on ARM and
64644 The orig_rax pseudo-register is Linux-specific and isn't relevant to
64645 this test. The fs_base and gs_base registers are also not treated as
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
64797 PR30198, Assertion and segfault when linking x86_64 elf and coff
64805 (lookup_line): Sanity check fdr cbLineOffset and cbLine.
64822 (disassemble_data): Replace fatal call with non_fatal call, and
64826 calls to my_bfd_nonfatal and clean up memory.
64858 with a struct attached to the bfd. Cleaner, and it avoids any concern
64860 bfd and that memory is later reused for another bfd, not that I think
64882 (main): Use non_fatal and call usage on unrecognized arg errors.
64911 This is because it uses the kill command built-in the dash shell, and
64921 and gdb.threads/detach-step-over.exp). Those were not problematic on my
64923 through the shell and therefore invoke /bin/kill. On my Arch Linux,
64929 and on my Ubuntu:
64992 - right now i.flags[] and i.reloc[] aren't relevant here (yet),
64993 - EVEX masking and embedded broadcast aren't applicable.
65025 between "basic" types and any other type. This patch dispenses with
65026 the array reserved for basic types and instead handles all types using
65073 for move-construction, and the (implicit) move constructor copies the
65172 (gdb) file dwarf2-and-ctf
65177 The problem is that the executable contains both ctf and dwarf2, so the ctf
65181 for ctf is to be used when dwarf2 is not present, and gdb reflects that,
65183 so it's not worth the additional cycles and memory.
65189 (gdb) file dwarf2-and-ctf
65201 mdebug, stabs and dwarf2.
65222 least prepared) the patches in 2022 but merged them in 2023, and forgot
65260 Changing mri mode between macro definition and use isn't good. This
65267 when defined, and that determine whether the magic NARG parameter be
65345 * read.c (s_space): Use unsigned multiply, and catch overflow.
65374 The pretty printer advertises itself as "array-like", and the result
65400 In this case, hw watchpoints are not supported, and using sw watchpoints
65407 Tested on x86_64-linux and powerpc64le-linux.
65438 Tested on x86_64-linux and powerpc64le-linux.
65449 disp_del_at_next_stop and sets the breakpoint number to 0. Setting
65456 breakpoint-deleted notification for that breakpoint, and indeed, this
65475 In GDB I break once the worker thread has been created and place a
65515 As the thread-specific breakpoint is set to disp_del_at_next_stop, and
65545 the number zero' guard and always triggering the breakpoint_deleted
65612 of setting the disposition to disp_del_at_next_stop and setting the
65629 to why this approach was taken, and the original email thread offers
65645 FinishBreakpoint goes out of scope; and this includes when the thread
65676 and bpfinishpy_post_stop_hook are called, this is done from
65680 gdbpy_breakpoint_deleted in py-breakpoint.c, and from this new hook
65681 function I check and where needed call the out_of_scope method.
65689 Tested on x86-64/Linux with unix, native-gdbserver, and
65716 the result is that mi-pending.exp is now easier to read, and I see no
65732 'maint show target-non-stop' command, and then switch based on the
65736 lib/gdb.exp, and update all the places I could find that used this
65747 tests are going to be repeated once with the MI in the main UI, and
65756 The BODY will be run twice, once with VAR set to 'main' and once with
65761 UI tests (when gdb_debug_enabled is true), and this proc hides all
65779 mi_clean_restart proc, and pass this through to mi_gdb_start.
65783 flags to mi_gdb_start, and avoids having to otherwise duplicate the
65787 used, and I'm seeing no test regressions.
65797 functionality for gdb.mi/mi-nsmoribund.exp and gdb.mi/mi-pending.exp.
65808 in two existing tests gdb.mi/mi-nsmoribund.exp and
65823 in this case, as the field is duplicated, and the field contents are
65832 more a case of copying whatever output GDB produced and using that as
65837 breakpoint patterns that contain the thread field, and I've made use
65839 thread-specific breakpoints and checking the results. The two tests I
65902 Microsoft's DIA library, and thus also MSVC and WinDbg, expects section
65903 contributions to be ordered by section number and offset, otherwise it's
65917 and to clean up input_debug when done.
65923 is in ancient code using "long" for counts and sizes, which is why the
65931 (lookup_line): Likewise, and symbol indices.
65948 Forced quit cases handled by resetting sync_quit_force_run
65966 call set_quit_flag and, for gdb_exception_forced_quit, also
65973 but also sets sync_quit_force_run and calls set_quit_flag in
65974 order to restart forced quit processing at the next QUIT check.
65986 Introduce set_force_quit_flag and change type of sync_quit_force_run
65994 'set_force_quit_flag'. It simply sets sync_quit_force_run and also
66063 check the exception's 'reason' field for RETURN_FORCED_QUIT and
66103 idea is for GDB to cleanup and quit for this exception, we'll simply
66135 must include the quit exception and the new "forced quit" exception.
66142 My first thought was to add catch blocks for gdb_exception_quit and
66171 to pass the SIGINT onto the inferior or to call quit() which causes
66179 are killed or detached and other target related cleanup occurs.
66180 As shown in this discussion between Pedro Alves and myself...
66186 ...we found that it is possible for inferior_ptid and current_thread_
66191 Pedro recommended that we "let the normal quit exception propagate all
66192 the way to the top level, and then have the top level call quit_force
66198 Instead of calling quit_force from quit(), throw_forced_quit() is now
66202 At the top level, I changed catch_command_errors() and captured_main()
66203 to catch gdb_exception_forced_quit and then call quit_force() from the
66214 QUIT. I found many cases where gdb_exception_quit and the new
66216 you ever hit Ctrl-C and not have it do anything; if so, it could be
66229 code 'REASON_FORCED_QUIT', return mask 'RETURN_MASK_FORCED_QUIT', and
66233 recognize that a SIGTERM has been received by GDB and then propagate
66243 inferior_ptid and the current_thread_ are not in sync; this triggers
66269 scenario, value_to_value_object will still release the value -- and
66298 my patch and reported the bug as being fixed.
66312 all-stop "follow-fork parent" and selecting another thread
66321 which hasn't been followed yet, and because thread 1 is not the
66326 the child, so better stop and let the user decide how to proceed.
66336 stopped for a fork which hasn't been followed yet, and because thread
66349 following the parent, and we've switched threads meanwhile, switch
66350 back to the unfollowed thread, follow it (stay with the parent), and
66359 scope_ptid pointing at the vfork parent thread, and inferior_ptid
66384 stopped for a fork/vfork, and if so,
66391 the parent/child, and stops the resumption command.
66405 gdb switches back to thread 1, and follows the fork.
66420 gdb switches back to thread 1.1, and follows the fork.
66443 set of threads that the user is resuming, and find the one that has a
66476 get_last_target_status, and the last target status has been cleared.
66536 ... and in all-stop:
66548 ... and in all-stop:
66555 all-stop/non-stop and single-threaded/multi-threaded.
66568 tell you which target that ptid is from, and I was just always using
66578 changes later in this series, and the step-over-thread-exit changes,
66579 that can happen, as we'll delete threads and not clear the last
66585 and reset the thread id counter, otherwise we get regressions like
66595 and:
66619 Tested on GNU/Linux native, gdbserver and gdbserver + "maint set
66631 (normal_stop): Adjust to compare previous_thread and
66642 Currently, "info files" and "info program" on a few native targets
66679 running or not, what process it is, and why it stopped."
66682 This change affects ptrace targets, procfs targets, and Windows.
66699 Add the Entry type and use it in the `entries` map, rather than using an
66738 minimally smart about Python. Because gdbarch-components.py is read and
66744 these types. Make gdbarch.py and gdbarch-components.py import it.
66775 can therefore remove the assignment in Info.__init__, and in turn remove
66788 properties of components. So it's full of squiggly lines, and typing
66809 that if, and it is not hit, showing that we never enter this if. So,
66847 Ada historically has not implemented agent expressions, and some Ada
66849 expressions. However, a subset of simple operations can be, and this
66886 If I sort the old file and diff against the new, the difference is
67239 So I looked at the strace sources, to confirm that clone3 is in fact
67240 recorded in the "process" group there too, and to check what other
67256 I wrote a script that extracts this information and generates
67265 As 1fafeaac8503eea2f61c3a35f0eef183b7e7cc65, "line.s" and "Line.s" are
67282 not allow implicit conversion too and from the native 'unsigned char'
67316 and:
67337 Updated Serbian translations for gold, gprof and opcodes sub-directories
67345 and only add a check for the correct output. This commit adds new
67346 options for both, tab and command completion.
67349 printed, and fail in this case. This is enough to know that the test has
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
67416 I've long wanted to remove 'struct buffer', and thanks to Simon's
67419 strings: std::string of course, but also obstack and even objalloc
67420 from BFD and dyn-string from libiberty. The previous patches in this
67422 the code and the remaining #includes.
67439 This changes handle_qxfer_btrace and handle_qxfer_btrace_conf, in
67462 Some care is taken to ensure that this can't crash, and that gdb will
67522 Several insns have a (typically shorter) non-ModR/M and a (typically
67527 ModR/M counterpart (note that BSWAP hasn't). For insn reading and
67538 These have their own CPUID bit and hence they should also have their own
67547 where I'm certain the functionality exists. For Nocona and Core I'm
67554 already permit 32- and 64-bit GPR operands, selector loading insns and
67560 For shifts (but not ordinary rotates) and other cases where an immediate
67565 give meaning to the combination of Imm8 and Imm8S in templates (so far
67574 Another small adjustment to the testsuite is necessary: AAM and AAD were
67585 but actually the expr bit is unnecessary, and we can just use:
67595 Fix accesses to limited-length values in `contents_copy_raw' and
67623 (lang_insert_orphan): Test section owner here and adjust
67632 The option can test effectiveness of GP relaxation and support some ABI
67671 build if Python support is enabled, and it calls into some MI functions
67680 and MI support are enabled. It is not a case we support today, but it
67682 should just remove the --disable-gdbmi option, and just include MI
67694 some. I couldn't find anybody caring deeply for that option, and it's
67701 So, remove the option from configure.ac, and adjust Makefile.in
67778 and added code to return true if the CU's ranges have not yet been computed.
67830 memory and reading contents. These size checks are not done for bss
67831 style sections, because they typically don't occupy file space and
67878 gdb.reverse/time-reverse.exp: test both time syscall and C time function
67880 test it everywhere using the time(2) C function, and in addition, run
67884 not aware of yet, we'll still exercise it, and likely fail, at which
67897 x86-64: LAR and LSL don't need REX.W
67899 register, there's also no need for it for LAR and LSL - these can only
67900 ever return 32-bit values and hence always zero-extend their results
67932 Commit f9c36cc99518 changed (and renamed) read_section_stabs with one
67935 a missing section. Now an empty section is recognized and dumped.
67936 This leads to NULL stabp and stabs_end in print_section_stabs. Since
67984 'action-if-found' argument to AC_SEARCH_LIBS, and use it in
67987 While at it, remove the condition on 'ac_cv_search_waddstr' and set
67996 With test-cases gdb.arch/aarch64-mte-core.exp and gdb.arch/aarch64-pauth.exp I
68030 Tested on x86_64-linux and aarch64-linux.
68048 Tested on x86_64-linux and aarch64-linux.
68067 Fix this by adding a new proc have_syscall, and requiring syscall time, such
68074 Tested on x86_64-linux and aarch64-linux.
68092 Tested on x86_64-linux, both with a gdb without and with python.
68098 Updated translatios for the bfd and gprof directories.
68103 When dealing with case insensitive file systems, ".file line.s" and
68104 ".file Line.s" are identical and thus gas won't change the current
68119 addresses and if we're debugging a Linux-hosted program.
68130 There is a patch for QEMU that addresses the first point, and it makes
68139 pauth_dmask and pauth_cmask are the masks used to remove pauth signatures
68140 from userspace addresses. pauth_dmask_high and pauth_cmask_high masks are used
68171 Mingw doesn't have /dev/null and thus "-o /dev/null" will fail.
68183 Both FAIL and PASS "check sections 2"?
68202 So rubbish instead of tmpdir/libimagelib.a and the other required libs.
68223 The opening and closing node in BFD starts:
68230 2.13 Opening and closing BFDs
68233 That is, there's a stray C comment and declaration before any other
68266 back end associated with the open BFD ABFD and translate the
68276 Call the back end associated with the open BFD ABFD and translate
68344 2. Each MI command starts with a @subheading, and then the details
68349 command, and then continue to use @subheading for each part of
68379 This has effect both on the amd64 and i386 targets, but only add amd64
68406 -fno-asynchronous-unwind-tables (without .debug_info and .eh_frame section)
68414 - renaming the "amd64 epilogue" unwinder to "amd64 epilogue override", and
68456 and i386_stack_frame_destroyed_p is problematic, in the sense that the
68460 amd64_epilogue_frame_sniffer and i386_epilogue_frame_sniffer. No functional
68467 amd64_stack_frame_destroyed_p and i386_stack_frame_destroyed_p. No functional
68523 and the test-case doesn't expect this.
68557 Remove allocate_block and allocate_global_block
68558 This removes allocate_block and allocate_global_block in favor of
68565 Use 'new' for block and global_block
68566 This changes block and global_block to add initializers, and then to
68604 be passed inconsistently, and also makes the subsequent patches easier
68615 Convert block_static_block and block_global_block to methods
68616 This converts block_static_block and block_global_block to be methods.
68629 This converts block_scope, block_set_scope, block_using, and
68648 Remove this and patch up the callers instead.
68652 Remove this and patch up the callers instead.
68660 Remove this and patch up the callers instead.
68663 block_set_scope and block_set_using unconditionally allocate the block
68708 For D and Ada, a very simple approach suffices: remove the check
68711 approach will work for Pascal and Modula-2 as well, but I don't have a
68716 cooked_index_entry::full_name uses the canonical name -- and that is
68726 to full_name to let us avoid crashes, slowdowns, and races here.
68728 This is kind of tricky and ugly, so I've tried to comment it
68751 to just check and return early in this case.
68784 and then check printing the target description directly from the
68804 * libcollector/iotrace.c: Define creat64 and pwrite64 only when
68805 __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not defined.
68819 thread from a (pid, 0, 0) ptid_t to a (pid, 0, tid) ptid_t and
68826 inferior, and the current address space (like proc-service.c).
68883 - calls glibc's _exit, and
68893 no glibc-related initialization is done, and we run into the segfault.
68903 But that already doesn't compile with say glibc 2.31, and regardless I think
68909 Alternatively, we could hand-code an _exit syscall and bypass glibc
68923 and fix the original problem by setting the xmm registers to zero rather than
68936 ld test asciz and ascii fails
68950 * testsuite/ld-scripts/ascii.d: Use is_elf_format and
68958 pointer and isymBase. Set fdrtab_len after possible discards.
68959 Use size_t vars and catch possible size overflows.
68971 of ppc_arch will never be reached, so it can be deleted and the code
68982 both its callers and callees use it to mean "enabled". This is
68989 and it also claims that the 'x' response for an unavailable register
69006 …* testsuite/ld-scripts/asciz.t: Adjust to work on more architectures and to test more aspects of t…
69056 file and arrange for dump_statistics to be called here rather
69110 This changes value::bits_synthetic_pointer to return bool and fixes up
69118 This changes value::m_stack to be a bool and updates the various uses.
69125 This changes value::m_initialized to be a bool and updates the various
69133 This changes value::m_lazy to be a bool and updates the various uses.
69140 This changes value::m_modifiable to be a bool and updates the various
69147 Don't throw quit while handling inferior events, part II
69149 breakpoint condition in the background, and GDB ends up reaching out
69159 enter Python, and end up calling PyErr_SetInterrupt (it's called by
69184 inferior events, so that SIGINT is saved in the global quit flag, and
69203 Don't throw quit while handling inferior events
69217 quit ();
69236 and the Ctrl-C is meant to go to the main thread, handling the CLI.
69240 default_quit_handler function shown above. This quit aborts run
69241 control handling, breakpoint condition evaluation, etc., and may even
69248 that sends SIGINT to GDB, and then evaluates to false, which results
69264 and we should see 10 "Quit" being printed on the screen. As if the
69280 Just one Quit, and nothing else. If we look at the thread's state, we see:
69288 Issuing another continue shows the same immediate-and-silent-stop:
69296 As mentioned, since the run control handling, and breakpoint and
69304 fetch_inferior_event, where we already disable pagination and other
69305 things for a similar reason. This custom quit handler does nothing if
69306 GDB has the terminal, and forwards Ctrl-C to the inferior otherwise.
69308 With the patch implementing that, and the same testcase, here's what
69341 runs a command under the shell, and returns the exit code. With this,
69361 $_shell - execute a shell command and returns the result.
69366 NEWS and manual changes included.
69399 ... and the type's name already has the <>s.
69445 TYPE_CODE_MODULE and TYPE_CODE_NAMELIST and Fortran-specific, so it'd
69459 somewhat incompletely than to error out and make it harder for users
69515 The following 2 patches move .gdb_index and .debug_names reading code to
69535 ... and then doing repeatedly "record goto 19" and "record goto 27".
69613 frame id. The computation of the frame id for that frame (and only that
69622 happens while frame 0's id is not computed (and therefore that frame is
69624 called for it, and it leaves a stale entry in bfcache. That then leads
69629 if it exists, and if its frame id is not computed. If its frame id is
69646 operations are completed and the file written out and closed. If
69654 This patch removes all the uses of the RETURNS word and removes it
69659 operations are completed and the file written out and closed. If
69685 The *Synopsis* and *Description* text in particular is very un-info-like.
69687 To fix this, I tried removing the *Synopsis* text and having FUNCTION
69700 SYNOPSIS comes before DESCRIPTION. This is the more common style and
69758 Convert to C90 and a few tweaks.
69760 Remove it and its one use.
69815 convenience" sorted, and therefore stable. Ideally, I think that the
69830 next and kind fields inline.
69858 If you then kill the inferior and change the exec-file, this will
69884 index records the position of @item, and the Info reader places you
69887 I went over all @findex calls in the manual, and most are like the
69895 There are findex entries in annotate.texinfo,python.texi, and
69898 Tested by typing "i _isvoid" (@item case) and "i -complete"
69899 (@subheading case) in an Info reader, and checking where those took
69908 This function is used to read sections other than stabs, and there is
69910 section. Rename it and return the bfd section instead of assorted
69914 Delete size_ptr and entsize_ptr params, add contents param.
69958 and s_linefile()") I didn't pay attention to the dual purpose of the
69961 terminator instead of a hard-coded newline, and do so early in this
69972 sym fdr isymBase and csym values.
69976 Sanity check local sym fdr_ptr->isymBase and fdr_ptr->csym.
70000 I noticed that the TUI temporarily sets pagination_enabled and
70048 that 'cmd' is used as both an in and out parameter, despite being
70051 Casting away const like this is bad. This patch removes the const and
70066 added in version v5.5.0, and was worked around by commit ce0d998be927
70082 Note that the i7-1250U has both Performance-cores and Efficient-cores, and on
70116 sensitive and case insensitive comparison functions.
70119 It being zero and happening to work right now doesn't mean the insns
70124 gas: improve interaction between read_a_source_file() and s_linefile()
70131 possible: The relevant two conditions match, and the function can
70174 This removes deprecated_lval_hack and the VALUE_LVAL macro, replacing
70218 This introduces a value::set_modifiable and changes a couple of spots
70222 correct any more. Perhaps they should be removed and the method
70248 This turns value_from_xmethod, result_type_of_xmethod, and
70272 Turn value_non_lval and value_force_lval into methods
70273 This changes value_non_lval and value_force_lval to be methods of
70309 value_contents_all, value_contents_for_printing, and
70311 converts the static functions require_not_optimized_out and
70318 Turn value_incref and value_decref into methods
70319 This changes value_incref and value_decref to be methods of value.
70328 This is a necessary step to change value_incref and value_decref to be
70370 This turns value_contents_raw, value_contents_writeable, and
70372 will be changed later in the series; they were a bit trickier and so I
70423 deprecated_value_internalvar_hack, and deprecated_value_regnum_hack
70430 Turn value_address and set_value_address functions into methods
70431 This changes the value_address and set_value_address functions to be
70438 Turn value_initialized and set_value_initialized functions into methods
70439 This changes the value_initialized and set_value_initialized functions
70446 Convert value_lval_const and deprecated_lval_hack to methods
70447 This converts the value_lval_const and deprecated_lval_hack functions
70454 Turn value_computed_closure and value_computed_funcs functions into methods
70455 This changes the value_computed_funcs and value_computed_closure
70462 Turn value_stack and set_value_stack functions into methods
70463 This changes the value_stack and set_value_stack functions to be
70470 Turn value_lazy and set_value_lazy functions into methods
70471 This changes the value_lazy and set_value_lazy functions to be methods
70604 initialize_known_windows, and then replaces lots of '->' with '.'
70641 (gdb) quit
70645 'quit') the 'B' object is never deleted.
70654 and so GDB never tries to delete these Python objects.
70663 list and release the reference that is held to the underlying Python
70671 shutting down the Python interpreter, and the ::operator() function is
70705 register_window_type is basically ignored and the old window factory
70709 std::unordered_map::emplace to insert the new factory function, and
70713 existing element, and delete any matching element from the map, the
70728 The listed file (and hsuser.texi) are conditionally included by gdb.texinfo.
70753 Add missing bounds check, and tidy the existing bounds checking.
70770 this and added a '.word' directive before the 32-bit number.
70776 This commit updates the mips disassembler to do this, and adds a new
70794 In procedure gdbscm_set_breakpoint_thread_x: cannot set both task and thread attributes
70801 ERROR: In procedure gdbscm_set_breakpoint_thread_x: cannot set both task and thread attributes
70811 in order to tidy memory on exit and to reinit everything for that
70867 device available and that hipcc can compile for this or those targets.
70881 built-in. Without this support, all tests using hipcc and the rocm
70899 Ensure that the "show configuration" command and the "--configuration"
70914 to not closing the input file and thus not freeing memory attached to
70928 This patch introduces a new file, dwarf2/die.c, and moves some
70929 DIE-related code out of dwarf2/read.c and into this new file. This is
70957 gdb.base/break.exp, gdb.base/break-always.exp, and many other tests.
70962 This commit should fix PR gdb/20091, PR gdb/17201, and PR gdb/17071.
70968 When the current language is C++, and the user places a breakpoint on
71000 executable and the shared library we see a number of different symbols
71001 for foo, and use these to create entries in GDB's msymbol table:
71006 and has type mst_text, then we create a second symbol, this time
71016 found in the executable and shared library.
71037 strncmp_iw_with_mode with mode strncmp_iw_mode::MATCH_PARAMS and
71049 '_Z3foov@plt' and '_Z3foov', while from the shared library we added
71051 'foo()@plt', 'foo()', and 'foo()' respectively.
71054 mst_solib_trampoline, and in search_minsyms_for_name, we search for
71055 any symbols of type mst_solib_trampoline and filter these out of the
71058 However, the '_Z3foov@plt' symbol (from the main executable), and the
71064 'foo', and '_Z3foov', which demangles to 'foo()' also matches 'foo'.
71068 linkage name symbols which are 'foo@plt' and 'foo'. The plain 'foo'
71072 And so, when the user asks for a breakpoint in 'foo', and the language
71075 we get two results, '_Z3foov' for the shared library function, and
71079 MATCH_PARAMS, instead of stopping at a '(' and assuming the match is a
71081 ')', effectively skipping the parameter list, and then resume
71084 and the match will fail, just as it does when the language is C.
71094 change the whole '()' is skipped, and the match resumes. As a result,
71100 is '@' then we assume we are looking at something like '@plt' and
71119 Within the breakpoint struct we have two fields ::thread and ::task
71122 have the values -1 and 0 respectively.
71125 "default" values are different, and I find the difference a little
71132 relied on the value of 0, and I see no test regressions, especially in
71147 thread, and so it doesn't really make sense to allow uses to give both
71148 a thread and a task within a single breakpoint or watchpoint
71154 I've added new tests to cover the CLI as well as the Python and Guile
71155 APIs. For the Python and Guile testing, as far as I can tell, this
71169 and 'thread' would be expected to work; it seems clear to me in the
71176 OK, and any future attempt to combine them will give an error.
71190 adds this missing information, and extends gdb.ada/tasks.exp to check
71222 This commit fixes this issue and adds a test.
71290 I recreated the above crash by a little light hacking on GDB, and then
71292 from the test included in this patch, and matches the trace that was
71305 While debugging GDB I used 'show directories' and spotted lots of
71316 Notice the second, third, and fourth entries in this list, these
71386 and for amd64:
71407 Furthermore, there's a generic need to play around with enabling and disabling
71412 unwinder becomes active and gives the wrong answer, while I'm actually
71423 - has info.bfd_arch_info->bits_per_word == 64, the same as amd64, and
71427 Tested on x86_64-linux, -m64 and -m32. Not tested with -mx32.
71436 objdump -D of bss sections and -s with -j
71437 There is some inconsistency between the behaviour of objdump -D and
71448 instead, making the tests slightly more stringent. The ppc xcoff and
71457 * doc/binutils.texi (objdump options): Update -D, -s and -j
71515 gdbsupport/errors.h declares perror_with_name and leaves the
71518 However gdb and gdbserver's implementations are essentially the
71572 and Fortran () array element/dimension accesses go straight to the
71591 debuggee and see whatever there might happen to be there in memory (we
71592 are a debugger and not a programming rules enforcement facility and we
71605 such then and verify accesses to be in-range for them:
71620 Consistently use the LONGEST and ULONGEST types for value byte/bit
71621 offsets and lengths respectively, avoiding silent truncation for ranges
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
71689 for minimum and maximum value macros provided by C++11. Add LONGEST_MAX
71690 and LONGEST_MIN definitions.
71730 second one expect "Quit" and the "(xgdb)" prompt from
71778 Due to the KFAIL PR, gdb stopped in __libc_siglongjmp, and because of presence
71786 glibc-32bit-debuginfo package. This allowed me to confirm the "current source
71859 This commit fixes a comment describing each relaxation pass and reduces
71882 code and work for no gain.
71899 struct definitions, so delete the comment and assertions.
71906 The attribute really specifies that the sum of register and memory
71939 x86: move (and rename) opcodespace attribute
71940 This really isn't a "modifier" and rather ought to live next to the base
71961 opcode based comparisons, for (in many cases) being more expensive and
71962 (in a few cases) being a little fragile and not self-documenting.
71965 and hence LEA also needs checking for there.
71972 BFD_MACH_O_S_LAZY_SYMBOL_POINTERS and BFD_MACH_O_S_SYMBOL_STUBS
71987 DWARF, rather than moving to each "..." separately and using C-u C-m.
72036 The command has no effect for the loading of GDB pretty printers and is
72045 main_type::nfields is a 'short', and has been for many years. PR
72084 to, by default, allow a quit. Polling is done, because there doesn't
72094 coff keep_relocs and keep_contents
72099 the .loader section, and it's easy enough to dispense with it there.
72102 add_dynamic_symbols and check_dynamic_ar_symbols. There the contents
72107 and keep_contents.
72123 coff-sh.c keep_relocs, keep_contents and keep_syms
72124 keep_relocs and keep_contents are unused nowadays except by
72125 xcofflink.c, and I can't see a reason why keep_syms needs to be set.
72126 The external syms are read and used by sh_relax_section and used by
72144 _bfd_alloc_and_read calls in coff_object_p, then it is cached and when
72147 a very small (27 bytes) ILF file and hitting the pr24707 fix (commit
72153 testcases in that PR and in PR24712 are caught earlier by file size
72280 stack_status == FID_STACK_SENTINEL, but their code_addr and stack_addr
72288 Regular "target" sentinel frames remain with code_addr and stack_addr
72295 for building sentinel frame IDs and a is_sentinel_frame_id function
72301 - Add stack and code address parameters to create_sentinel_frame, to be
72312 sentinel frame (and we would want the assert to catch it).
72336 in the value, and value_fetch_lazy_register is able to find that
72337 sentinel frame after the frame cache reinit and after the user-created
72384 function and removes the include.
72394 subclass implementations must catch exceptions and then return them
72411 and for MI we get to mi_cmd_interpreter_exec, which has:
72430 and return it via the normal return path. That's normally needed when
72435 try/catch-ing and just letting exceptions propagate normally.
72484 Thus I think that "error in command" error is pretty pointless, and
72498 deeply. Once one failure is seen, this often cascades and sometimes
72510 This patch arranges to catch any catastrophic failure and then simply
72517 and this provoked a failure in gdbhistsize-history.exp. It seems
72522 Merge fixup_section and fixup_symbol_section
72539 Nearly every call to fixup_symbol_section in gdb is incorrect, and if
72567 compunit_symtab::set_block_line_section, and it always passes
72568 SECT_OFF_TEXT. So, remove compunit_symtab::m_block_line_section and
72573 SECT_OFF_TEXT. Remove this parameter and simply always use
72586 This patch cleans up this area by tracking the section index and
72597 .data and text symbols to .text.
72613 longjmp probe, and the case that there isn't.
72634 Also, it requires glibc debuginfo, and if not present, it produces an XFAIL:
72643 Fix this by using UNSUPPORTED instead, and make the message less cryptic:
72661 Fix this by rewriting into gdb_test_multiple and using -early.
72663 Tested on x86_64-linux, with and without glibc debuginfo installed.
72742 which makes the output the same for single location breakpoints and
72745 However, there's still some duplication here. Both breakpoints 2 and
72746 3 include a 'stop only in thread 1' line, and it feels like the
72750 /* FIXME: This seems to be redundant and lost here; see the
72771 condition, and the changes I've made also update how the task
72779 I've extended an Ada test to cover the new task related output, and
72825 features of the command, and in one case, is just wrong.
72829 changes all signals except SIGINT and SIGTRAP (the signals used by
72839 ppc32 and "LOAD segment with RWX permissions"
72891 wrap defined behaviour (and which also make the loop run twice as long,
72910 When creating a breakpoint or watchpoint, the 'thread' and 'task'
72928 keywords can be repeated, and (to me), given the keyword takes a
72938 did use the 'thread' keyword twice, and expected the breakpoint to be
72940 the use of '-force-condition', and I don't think that being able to
72956 number of .debug_info sections with relocations that included lo16 and
72957 hi16 relocs, and in that order. At least one section VMA was
72960 _bfd_mips_elf_find_nearest_line, and because that failed leaving VMAs
72965 running with asan and under valgrind. Under gdb with a non-asan
72966 addr2line the second call allocated exactly the same buffer and the
72983 [PR 30082] Pass $JANSSON_LIBS and $ZSTD_LIBS to ld-bootstrap/bootrap.exp
73026 Fix this by using COMMONPAGESIZE and MAXPAGESIZE to signify respectively
73027 the section memory size requirement and the resource table section's
73029 for which the default values (1 and 1) are sufficient.
73155 I initially moved the structure to target-descriptions.h, and later made
73179 optimize_encoding() and hence needs explicit checking for a request to
73184 optimize_encoding() and hence needs explicit checking for a request to
73226 language [2], OpenCL and OpenMP, but we're going to focus on HIP here.
73227 The HIP language consists of a C++ Runtime API and kernel language.
73286 GPU's memory and spawned an execution thread on it. The goal of this
73287 GDB port is to let the user debug host threads and these GPU threads
73338 One thing to notice is the host and GPU threads appearing under
73342 natural. Also, the host and GPU threads share a global memory space,
73392 duplicated and baked in GDB. This is for example for things like
73396 code objects loaded on the device from the amd-dbgapi library, and
73401 Given that Linux host threads are managed by the linux-nat target, and
73409 amd-dbgapi target to intercept target calls and handle them if they
73410 concern GPU threads, and offload to beneath otherwise. See
73429 Where pid is the inferior's pid and "wave id" is the wave handle handed
73433 belong to the init process, which would also have pid == 1 (and it's
73434 improbable for the init process to offload work to the GPU and much less
73435 for the user to debug it). We can therefore differentiate GPU and
73441 program in a container, then spawn a GDB in that container and attach to
73443 workaround for this is to have a dummy process (like a shell) fork and
73446 The amd-dbgapi target watches native inferiors, and "attaches" to them
73452 notified through that fd, and pushes itself on the target stack of the
73464 the interaction with --target and --enable-targets:
73468 the amd-dbgapi and fail if not found
73473 - if the user uses --enable-targets=all and --with-amd-dbgapi=yes,
73474 we probe for amd-dbgapi, enable amdgcn if found and fail if not found
73476 - if the user uses --enable-targets=all and --with-amd-dbgapi=no,
73479 - otherwise, amd-dbgapi is not probed for and support for amdgcn is not
73483 in device code and resuming execution, pretty much like the example
73525 interface and disables it through the following sequence of events:
73532 svr4 probe is that the stop address, and only call
73537 an error if called while not at an svr4 probe location, and therefore
73569 gdbsupport: add type definitions for pid, lwp and tid
73571 some ptid_t components. To make that easy (and avoid harcoding those
73575 I initially used pid_t, lwp_t and tid_t, but there is the risk of some
73585 A following patch will want to install a breakpoint and then keep a
73626 GDB has been converted to a C++ program for many years[1], and the
73695 merge test, and makes references to the merged strings from .data
73713 Provide a way for config/obj-* to clean up at end of assembly, and do
73724 (elf_adjust_symtab): Expand str_htab_create call and use
73734 gdbserver: Add PID parameter to linux_get_auxv and linux_get_hwcap
73739 Fixing linux_read_auxv, linux_get_hwcap and linux_get_hwcap2 to take a PID
73790 To do this I make use of with_override, and override the
73796 unix, native-gdbserver, and native-extended-gdbserver boards.
73807 information, and in separate_debug_file_exists (symfile.c) we can warn
73813 debug-link, and then a lookup from debuginfod. GDB can potentially
73814 give a warning from an earlier attempt, and then succeed with a later
73836 The crc_mismatch test compiles two executables: crc_mismatch and
73837 crc_mismatch-2 and then strips them of debuginfo creating separate
73845 replacing the build-id based .debug file with the stripped binary and
73874 I propose to rename cooked_index_vector and cooked_index such that the
73940 Both static_cast and dynamic_cast handle nullptr (they return nullptr),
74001 Revert 1c66b8a03989 and instead fix the broken list pointer.
74018 POWER6 tests (includes DFP and Altivec)
74034 so far, take the opportunity and introduce a new testcase covering those.
74046 bfd list by calling bfd_cache_close is wrong and not needed.
74074 copy" and "pr25662" on sh-*-coff. Remove all non-ELF xfails
74121 stringop-overread and restrict in fbsd-tdep.c for a memcpy call.
74130 …id*, long unsigned int)’ accessing 18446744073709551612 bytes at offsets 0 and 0 overlaps 92233720…
74143 it contains and how it is structured.
74147 well structured and indented to help readability, as this prints a lot
74180 will cherry-pick this patch from his series and merge it before mine.
74215 .. and then to_string(SOME_FLAG2 | SOME_FLAG3) produces a string like
74220 flags it knows about, and then the leftover flags in hex (one single
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,
74251 other printable character. This way, two names like "func" and
74256 This makes it easier to test and (IMO) understand.
74274 directly; and changes lnp_state_machine itself to initialize members
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.
74300 the const away. I changed all the callers of addrmap::find and
74317 The vCont packet is now checked once when the connection is started and
74323 gdb: Add per-remote target variables for memory read and write config
74325 memory read- and write packet size. It is a further change to commit
74356 for future remote connections and for the currently selected target, the
74370 e.g., one ARM baremetal stub, and a x86 gdbserver, to debug a
74373 that for another pass, since it does not appear to be trivial, and I'd
74436 remote_features, which stores the per-remote target array and
74443 and can be configured using the command line. Before this patch the
74444 command line configuration affected current targets and future remote
74446 targets). This behavior is different and the configuration applies as
74472 targets) and all future remote connections are affected.
74485 PACKET-NAME' commands and the new configuration impact for remote
74510 v2 makes the find, all_entries, and wait methods const as well.
74529 leaving the responsibility to set srcfile_flags and srcfile2_flags to each
74557 scroll the src and asm windows vertically, I get two refresh_window
74562 show_source_content, which calls refresh_window, and then
74567 call update_exec_info before calling show_source_content, and pass a
74619 be allocated, and the gdb.tui/tui-disasm-long-lines.exp test goes
74620 beyond this limit. As a consequence the newpad call fails and returns
74644 and then copy the lines of content into the pad:
74661 As the user scrolls left and right we adjust m_horizontal_offset and
74665 pad once, which includes processing the ansi escape sequences, and
74666 then the user can scroll left and right as much as they want
74672 What I propose is that we allow both the pad and the display view to
74675 of the content into the pad. As the user scrolls the view left and
74678 will copy a new block of content into the pad, and then update the
74708 reached the end of the pad, and the pad contents are reloaded, like
74720 now correctly loads the assembler code, and we can scroll around as
74763 variables together, or make m_horizontal_offset private, and then add
74775 descriptor for gdb_stderr, and, as a result, does not currently format
74777 and so, when the terminal is in raw mode, the cursor does not return
74781 instead of just '\n', and this would fix most of the problems. The
74784 print the symbols, and this function only uses '\n' as the line
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
74813 issues are pretty rare and the benefits from this change far out
74829 Error (1) is triggered when the user gives a partial window name, and
74834 and one or more windows not in the current layout, then this is not
74835 ambiguous, and focus will shift to the matching window in the current
74839 use of the Python API to trigger and test this error.
74841 Error (3) is simple enough, and was already being tested. This is
74843 be present in the current layout, and non-focusable in order to
74886 case in tuiterm.exp. This case is currently unhandled, and this
74907 logic and eliminating a conditional for operand-less insns,
74914 respective if(), and the if() itself can become an assertion.
74922 opcode based comparisons, for (in many cases) being more expensive and
74923 (in a few cases) being a little fragile and not self-documenting.
74947 no need to go looking for the output bfd via link_info (and doing so
74987 interface due to the name being used in the error message, and exposed
74988 the fact that the name and other fields were not initialised by the
75004 (define_macro): Return the macro_entry, remove idx, file, line and
75017 differing instruction lengths between x86 and aarch64.
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.
75094 This test does not build a program and does not need to call
75098 I found a couple of spots that could use "require", and one spot where
75106 This seems to have been intentional and has been in place since:
75127 {args} and handling the argument by hand, change it to use Tcl's own
75166 crashes somewhere in the middle of gdb.cp/cpexprs.exp, and thus fails to
75168 doesn't get set, and I then see this TCL error:
75194 the new breakpoint address, and recording the address from there. I
75212 meanwhile. To help with this, make dap_wait_for_event_and_check and
75256 Following some of my changes, dap_request_and_response was failing and I
75258 exception, and just make it do a simple "send request, read response".
75261 that and continue the test.
75269 that it becomes harder to tell what text is from GDB and what text is
75273 something that was sent to GDB, and not GDB output.
75307 The gcc 4.4.x (and earlier) compilers had the problem that the unwind info in
75311 higher priority than the dwarf unwinders in the amd64 and i386 targets:
75312 - amd64_epilogue_frame_unwind, and
75325 Fix this by adding an amd64 and i386 regression test for this.
75328 - commenting out some .cfi directives to break the epilogue unwind info, and
75335 [gdb/testsuite] Add and use is_x86_64_m64_target
75336 Add new proc is_x86_64_m64_target and use it where appropriate.
75363 doing so, the impact can be reduced to checking the state and
75371 not be trivial to determine the value to return and it would cause a
75378 The cache object is unique for each function and frame, so if there are
75385 dwarf2_frame_allocate_fn_data can be used to allocate and retrieve the
75435 Introduce and use is_any_target
75440 This patch introduces a new is_any_target proc and then converts these
75450 is written. I think the result looks pretty clear, and it has the
75457 This renames skip_vsx_tests to allow_vsx_tests and updates it users to
75461 This renames skip_power_isa_3_1_tests to allow_power_isa_3_1_tests and
75465 This renames skip_float_test to allow_float_test and updates its users
75469 This renames skip_altivec_tests to allow_altivec_tests and updates its
75475 With test-case gdb.base/unwind-on-each-insn.exp and target board unix/-m32, I
75486 "rip = " and info frame printing "eip = " instead.
75495 Test-case gdb.base/unwind-on-each-insn.exp compiles $srcfile with debug info, and
75514 Test-case gdb.base/unwind-on-each-insn.exp compiles $srcfile with debug info, and
75522 and both files without:
75533 due to a mismatch between the regexp and the different output due to using
75551 insns that modify stack and frame pointers.
75553 Function foo is a leaf function, so add a non-leaf function bar, and step
75567 - x86_64-linux (-m64 and -m32)
75568 - s390x-linux (-m64 and -m31)
75577 insns that modify stack and frame pointers.
75579 For x86_64-linux, we have a reasonably complex foo (and similar for -m32):
75587 Both stack pointer (%rsp) and frame pointer (%rbp) are modified.
75589 Also for s390x-linux (and similar for -m31):
75610 Both stack pointer (r1) and frame pointer (r31) are modified.
75651 main_sp and *foo, in particular by the push insn:
75667 - x86_64-linux (-m64 and -m32)
75668 - s390x-linux (-m64 and -m31)
75691 completion, even though the 'status' window is non-focusable, and,
75712 The gdb.tui/tui-focus.exp test script exercises this area of code, and
75750 pretty generic no tests actually started failing, and we never
75775 pretty generic no tests actually started failing, and we never
75789 tui_source_window_base::show_source_content and trying to allocate an
75830 command both with a 'dumb' terminal and with the 'ansi' terminal.
75837 this caused a crash, and never noticed.
75869 * configure.ac: Check if $MAKEINFO and $HELP2MAN are missing.
75909 * doc/sframe-spec.texi: Fix various underfull and overfull
75946 Tested by rebuilding on x86_64-linux with clang 16 and gcc 12.
75952 ld: Avoid magic numbers for subsystems in pe.em and pep.em
75972 This patch adds support for the .secidx directive and its corresponding
75981 for padding and alignment.
76012 and $x29 (and strip the output of info frame to the first line, for brevity):
76071 For insns after the prologue, we have cache->framereg == sp and
76077 This fixes PRs tdep/30010 and tdep/30011.
76079 This also fixes the aarch64 FAILs in gdb.reverse/solib-precsave.exp and
76097 dwarf unwinders and bypass the architecture-specific unwinders.
76112 gcc 7.5.0 and clang 13.0.1.
76161 If objdump is used with both --disassemble=symbol and --reloc options
76173 most of these, and I suspect they are false reports, but I did manage
76175 does not vary; but it's also easy to fix and suppress one warning.
76214 gdb: make frame_info_ptr grab frame level and id on construction
76260 printer test there, it's already written, and we never know, it might
76270 information needed to reinflate a frame, and automatically reinflate it
76277 functions, save_selected_frame, restore_selected_frame and
76329 used to be possible to select a frame like this and do "up" and "down"
76341 and "backtrace" always shows the actual thread's backtrace, it ignores
76352 currently selected frame and not change it.
76356 (the backtrace below), and restored in the destructor.
76371 and the user-created frame is lost.
76375 Currently, select_frame does not set selected_frame_id and
76379 special case them such that select_frame saves their selected id and
76389 user-created frame_info objects from selected_frame_level and
76395 thread, and tells the first thread to use the other thread's top frame.
76417 pointing to the same frame_info instance, and not create two separate
76427 To make the frame stash differentiate between regular and user-created
76428 frame infos which would otherwise be equal, change frame_addr_hash and
76431 I made create_new_frame look up existing frames in the stash, and only
76437 It will be able to just call create_new_frame and it will do the right
76447 frames (obtained from the target state and unwinding from it) vs frame
76449 frame_id::user_created_p field to indicate a frame is user-created, and
76463 frame.c. Move the frame_info_ptr class to frame.h, and the definitions
76464 to frame.c. Remove frame-info.c and frame-info.h.
76477 and parameters can be defined using a DWARF register number. So I ended up
76480 abstraction between the "common" call site and the "dwarf2" call site.
76490 gdb: move sect_offset and cu_offset to dwarf2/types.h
76495 and we are back to square 1). I could move cu_offset to the future new
76512 The only language-related thing frame.h needs is enum language, and that
76516 include language.h, so fix the fallouts here and there.
76525 std::unique<compile_instance>. language.c and c-lang.c currently
76544 * README-how-to-make-a-release: Include sframe-spec html and pdf
76576 This patch changes the code to accept either result, and then to issue
76582 When running gdb.ada/arrayptr.exp (and others) on Ubuntu 22.04, with the
76636 the bounds as signed, and thus sign-extend their values, when
76681 the partially merged section, and specifically disallows one
76694 * use better hash function (hashing 32bits at once and with better
76701 The overall effect is less usage in libz and much faster string merging
76725 x86: embed register and alike names in disassembler
76731 and the number of base relocations in libopcodes.so (or PIE builds of
76736 and OP_ESreg().
76746 and the number of base relocations in PIE builds of gas goes down as
76762 the next loop iteration rather than re-doing allocation and conversion.
76809 Emit R_386_TLS_LE and R_386_TLS_IE, instead of R_386_TLS_LE_32 and
76825 `set print characters' option set to `elements' and the limit controlled
76826 with the `set print elements' option, and then again with the limit
76828 with the `-elements' and `-characters' options for the `print' command.
76832 Verify correct $_gdb_setting and $_gdb_setting_str values for the `print
76836 Add Guile and Python coverage for the `print characters' GDB setting.
76838 There are new tests for Ada and Pascal, as the string printing code for
76841 but (a) this is similar to Pascal, and (b) there are no existing modula2
76879 figures out which of the two of `print_max' and `print_max_chars' values
76896 and the help text shows the dependency as well:
76906 to the list of completions now shown for the `print' command, and a bare
76908 and `show print characters', copied from the corresponding checks for
76909 `set print elements' and `show print elements' respectively.
76921 Remove the confusingly named `var_zinteger', `var_zuinteger' and
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.
76936 keywords allowed for a command and numerical values they correspond to.
76954 defines an extra `unlimited' keyword and a user-visible 0 value, both of
76965 defines the same keyword and a corresponding user-visible -1 value that
76968 to enter and while -1 would still be used internally trying to enter it
76976 a single extra `unlimited' keyword was defined standing for -1 and the
76982 Redefine Guile and Python parameter types in terms of the new variable
76983 types and interpret extra keywords as Scheme keywords and Python strings
76990 programmer to expand the syntax of the `make-parameter' command and the
77016 [gdb/tdep, aarch64] Remove fp and sp reg aliases, add x31 reg alias
77034 Fix this by removing the fp and sp aliases.
77064 and after assigning 99 to u.a, the test-case expects u.c to contain 99 (which
77068 little and big endian.
77070 Tested on x86_64-linux and s390x-linux.
77092 bfdlib relinks and fails to find libsframe, the install time
77104 data + reloc_entry->address. This patch adds the missing checks and
77121 Correct coff-aarch64 howtos and delete unnecessary special functions
77141 * coff-aarch64.c (HOW): Define and use for reloc howtos.
77150 code and comments that are really only applicable to
77158 I also tried always performing the reloc offset check, and ran into
77159 testsuite failures due to _NONE and _ALIGN relocs at the end of
77169 code dealing with output_offset and output_section. Just set
77185 from sim-signal.c and unify it across all boards since it compiles to
77205 of mn10300-sim.h, sim-fpu.h and/or sim-signal.h to dv-mn103cpu.c,
77206 interp.c and op_utils.c.
77216 cmd_list_element") and commit 702991711a91 ("gdb: Have setter and getter
77217 callbacks for settings") and update inline documentation accordingly for
77218 `add_set_or_show_cmd' and `add_setshow_cmd_full_erased', documenting the
77219 `args' parameter and removing references to `var', `set_setting_func'
77220 and `get_setting_func'.
77228 within cmd_list_element") and add missing description for
77232 Use proper English in the description of SET_LIST and SHOW_LIST.
77263 Revert "PowerPC: fix for gdb.reverse/finish-precsave.exp and gdb.reverse/finish-reverse.exp"
77287 This has never been installed, and it's not clear anyone cares about
77293 Use subsystem to distinguish between pei-arm-little and pei-arm-wince-little
77295 disambiguation, as it gets picked up by both pei-arm-little and
77300 assigned to pei-arm-wince-little, and everything else to pei-arm-little.
77324 PowerPC: fix for gdb.reverse/finish-precsave.exp and gdb.reverse/finish-reverse.exp
77328 PowerPC uses two entry points called the local entry point (LEP) and the
77342 is between the two entry points (the LEP and GEP on PowerPC), the stepping
77354 point (i.e. the LEP) and the alternate entry point (i.e. the GEP).
77356 The patch has been tested on X86 and PowerPC with no regressions.
77383 used. This patch removes the declaration, initialization and setting of
77389 and gdb.reverse/until-reverse.exp changed slightly. The expected result in
77390 tests gdb.reverse/amd64-failcall-reverse.exp and
77395 reverse-finish command when returning from the entry point and from the
77399 was moved to lib/gdb.exp and renamed cmd_until.
77401 The patch has been tested on X86 and PowerPC to verify no additional
77416 `-i $inferior_spawn_id`. On native, the top and bottom GDB are on the
77437 This patch adds a custom comparison function and fixes the bug. A new
77444 Move hash_entry and eq_entry into cooked_index::do_finalize
77445 I was briefly confused by the hash_entry and eq_entry functions in the
77446 cooked index. They are only needed in a single method, and that
77460 arranges to instead shrink the result vector and process the trailing
77472 the message to not specify an architecture revision at all and
77513 Similar errors were found with other type combinations and instruction
77539 …* elf32-csky.c (elf32_csky_merge_attributes): Don't save and restore the ARCH attribute, it will a…
77562 This is free software: you are free to change and redistribute it.
77568 7.0, and here's the solution:
77589 "foo" is at 0x2010. This corrects the expected output for .long and
77598 (expr_begin): Clear seen, nr_seen, and expr_symbol_lines.
77614 Old COFF (and AOUT) targets have unusual relocation addends.
77622 * config/tc-mips.c (s_align): Call file_mips_check_options and
77633 Updated translations for the gas and binutils sub-directories
77652 and it takes care of probing system extensions for us, so there's no
77677 signal.h isn't needed in microblaze and mn10300 interp.c
77687 Now that all ports (that use igen) build in the top-level and depend
77699 port depends on their respective file now, and the ppc port doesn't
77703 This makes sure the arch-specific modules.c wildcard is matched and
77717 This simplifies the build logic and avoids an Automake bug where the
77721 things out of SIM_ALL_RECURSIVE_DEPS and rely on finer dependencies,
77727 the tool if it actually uses it, and ppc doesn't use it at all.
77732 port depends on their respective header now, and the ppc port doesn't
77770 This changes skip_tui_tests to invert the sense, and renames it to
77772 "gdb --configuration", and it adds a note about the state of the TUI
77776 This changes skip_guile_tests to invert the sense, and renames it to
77782 This changes skip_hw_breakpoint_tests to invert the sense, and renames
77787 This changes skip_tsx_tests to invert the sense, and renames it to
77791 This changes skip_shlib_tests to invert the sense, and renames it to
77795 This changes skip_rust_tests to invert the sense, and renames it to
77799 This changes skip_python_tests to invert the sense, and renames it to
77803 This changes skip_perf_tests to invert the sense, and renames it to
77807 This changes skip_opencl_tests to invert the sense, and renames it to
77811 This changes skip_ifunc_tests to invert the sense, and renames it to
77815 This changes skip_hw_watchpoint_tests to invert the sense, and renames
77819 This changes skip_hw_watchpoint_multi_tests to invert the sense, and
77823 This changes skip_hw_watchpoint_access_tests to invert the sense, and
77827 This changes skip_go_tests to invert the sense, and renames it to
77831 This changes skip_gdbserver_tests to invert the sense, and renames it
77835 This changes skip_fortran_tests to invert the sense, and renames it to
77839 This changes skip_d_tests to invert the sense, and renames it to
77843 This changes skip_dlmopen_tests to invert the sense, and renames it to
77847 This changes skip_debuginfod_tests to invert the sense, and renames it
77851 This changes skip_ctf_tests to invert the sense, and renames it to
77854 Rename to allow_cplus_tests and allow_stl_tests
77855 This changes skip_cplus_tests to invert the sense, and renames it to
77860 This changes skip_btrace_tests to invert the sense, and renames it to
77864 This changes skip_btrace_pt_tests to invert the sense, and renames it
77868 This changes skip_avx512fp16_tests to invert the sense, and renames it
77872 This changes skip_avx512bf16_tests to invert the sense, and renames it
77876 This changes skip_ada_tests to invert the sense, and renames it to
77880 This changes skip_aarch64_sve_tests to invert the sense, and renames
77884 This changes gdb_skip_xml_test to invert the sense, and renames it to
77905 running gdb, and so needed to know what prompt to expect. Now that
77991 This changes some tests to use "require !skip_btrace_pt_tests" and
78057 The example there, and some text elsewhere, is what makes me think
78073 gdb (e.g., skip_python_tests) to start their own gdb, and then
78091 * configure.ac: Remove dependencies on libbfd and libiberty.
78127 I've also converted the (void) to () in the function declaration and
78150 because the Ada code doesn't support the "/o" feature (yet); and in
78155 ARM: Fix ld bloat introduced between binutils-2.38 and 2.39
78164 DSO:s and executables. This matters when there are many
78165 such files, and where storage is expensive.
78171 and can't be configured to any other value. The use-case is
78176 both Aarch32 compatibility support and a non-4KiB pagesize,
78177 with all the warnings in the kernel config and requiring the
78181 one default max-page-size" and set ELF_MAXPAGESIZE to 4096.
78191 different and symbols end up in other places. Avoid churn
78192 and regexpification of old test patterns by passing the
78220 dereferencing a garbage pointer and crashing).
78226 flag on and members with it off, and the linker always reserializes (and
78243 try/catch and suppress the testsuite via an Automake conditional in its
78247 regardless of the value of this conditional and sticks it in an
78249 executed anyway, and fails with a nasty-looking syntax error. We can't
78251 do that Automake stops you using RUNTEST, RUNTESTFLAGS and other
78256 and exiting very early in default.exp if it's false.
78272 explicitly state what it is and b) define things in terms of fields that
78373 gdbarch.py reverts those changes and causes the build to fail.
78389 in test program, and so <thread> seems to be fine.
78484 Tested on x86_64-linux, with and without LD_PRELOAD="".
78493 style operand, resulting in the insertion of bogus (and otherwise
78495 Since 'a' is used as 1st operand only with J and JAL, and since JAL is
78496 the only insn _also_ allowing for a register as 1st operand (and then
78504 * subsegs.c (subsegs_end): Clear abs and und userdata.
78510 the output file is closed. gas doesn't and shouldn't use now_seg
78513 * output-file.c (output_file_close): Clear now_seg and now_subseg.
78537 This adds a mingw target for aarch64, including windres and dlltool.
78539 Note that the old value of jmp_aarch64_bytes was wrong, and this does
78545 Adds the .secrel32 pseudo-directive and its corresponding relocation.
78548 This adds the remaining pe-aarch64 relocations, and gets them working.
78550 would be 2 rather than 4 bytes, and .xword and .dword wouldn't be
78556 This patch series finishes off the work by Jedidiah Thompson, and adds
78560 world" Windows program in asm, and (with GCC patches) a UEFI program in
78562 needed for PDBs, and the SEH pseudos used for C++ exceptions.
78566 https://learn.microsoft.com/en-us/windows/win32/debug/pe-format, and
78574 function checks the 'type' and 'enclosing_type' fields of the value
78580 * Scenarios where the 'type' and 'enclosing_type' of an object
78585 base classes and additional members, then `type' is just a
78586 subobject of the real thing, and the full object is probably
78597 type's length and typically reads the 'full' object. This is not
78598 implemented for pieced values and causes an internal error if 'type'
78599 and 'enclosing_type' of a value are not identical.
78609 * dwarf2/loc.c (rw_pieced_value): Fix check on 'type' and
78620 'say_where' is only useful (and only called for) code breakpoints, so
78676 doc node, and stitching the nodes back together.
78792 access to their inputs, and can move the actual generation from the
78793 subdir up to the top-level. This avoids recursive makes and will
78798 common rule as it's unused, and we don't want to use it anymore.
78809 can move compilation itself up, and makes it easier to review.
78821 can move compilation itself up, and makes it easier to review.
78833 can move compilation itself up, and makes it easier to review.
78845 can move compilation itself up, and makes it easier to review.
78857 can move compilation itself up, and makes it easier to review.
78869 can move compilation itself up, and makes it easier to review.
78881 can move compilation itself up, and makes it easier to review.
78893 can move compilation itself up, and makes it easier to review.
78905 can move compilation itself up, and makes it easier to review.
78917 can move compilation itself up, and makes it easier to review.
78929 can move compilation itself up, and makes it easier to review.
78945 can move compilation itself up, and makes it easier to review.
78957 can move compilation itself up, and makes it easier to review.
78969 can move compilation itself up, and makes it easier to review.
78981 can move compilation itself up, and makes it easier to review.
78993 can move compilation itself up, and makes it easier to review.
79005 can move compilation itself up, and makes it easier to review.
79017 can move compilation itself up, and makes it easier to review.
79029 can move compilation itself up, and makes it easier to review.
79041 can move compilation itself up, and makes it easier to review.
79053 can move compilation itself up, and makes it easier to review.
79065 can move compilation itself up, and makes it easier to review.
79077 can move compilation itself up, and makes it easier to review.
79089 can move compilation itself up, and makes it easier to review.
79101 can move compilation itself up, and makes it easier to review.
79113 can move compilation itself up, and makes it easier to review.
79125 can move compilation itself up, and makes it easier to review.
79137 can move compilation itself up, and makes it easier to review.
79149 can move compilation itself up, and makes it easier to review.
79161 can move compilation itself up, and makes it easier to review.
79173 can move compilation itself up, and makes it easier to review.
79184 track generated files (which we do in the top-level now) and extra
79198 overall, but makes it easier to migrate things in smaller chunks, and
79211 breakpoint was first created. If a breakpoint symtab's filename and
79212 fullname differ and there is no substitute-path rule that converts the
79249 Also fix a memory leak, and make some style changes. I tend to read
79257 (pe_print_edata): ..and here. Free data on error return.
79282 bfd.c and give it something to do, initialising static state. So far
79295 * doc/local.mk: Remove mention of init.texi and init.c.
79298 * po/SRC-POTFILES.in: Regenerate.
79347 Updated transaltions for the gprof and binutils sub-directories
79406 testsuite: handle icc and icpc deprecated remarks
79407 Starting with icc/icpc version 2021.7.0 and higher both compilers emit a
79412 deprecated and will be removed from product release in the second half
79426 seen this change in the compiler breaks all existing icc and icpc tests.
79429 and by b) adding '-diag-disable=10441' to the compile command whenever
79456 constants. These constants are used (by gas and libsframe) to pick an
79490 The function now keeps track of the bytes_flipped and then compares it with
79510 Updated Bulgarian and Russian translations for LD and BFD respectively
79555 When running gdb.cp/nsusing.cc and stopping at line 17, we can ask GDB
79556 to print x and get a compiler-dependent answer. Using gcc 12.2.1, GDB
79557 will print M::x, and using clang 16.0.0 prints N::x. Not only is this
79565 mangled name and the found symbols.
79568 reference is ambiguous and lists all possibilities. Otherwise it returns
79578 When executing in reverse and runs out of recorded history, GDB prints
79607 configure: remove dependencies on gmp and mpfr when gdb is disabled
79609 about GMP and MPFR for gdb builds have been moved to the toplevel
79617 * configure.ac: Skip GMP and MPFR when --disable-gdb is
79632 and printing the "end" message. Decrementing the debug_print_depth
79633 global twice is actually problematic, because the increments and
79659 directly in the instance of the top-level caller). To confirm this, I
79660 built GDB with -fno-elide-constructors, and now I see it:
79668 Fix this by adding an m_disabled field to scoped_debug_start_end, and
79697 to gdbsupport. Move the libxxhash configure check to gdbsupport (and
79708 fine because we never free gdbarch objects, and thus we never free
79711 be used, and we free the tdep too. Currently, i386 and s390 do it.
79718 object to gdbarch_alloc and then retrieve a non-owning reference from
79724 instance, and dynamically allocate one as needed, like we do for all
79725 other architectures. Make the `rmap` array externally visible and
79824 Updated Bulgarian and Russian translations for the gprof subdirectory
79830 wrapping should be allowed on the 16-bit relocs, and may as well be
79841 In the multirun mode, be lazy and declare all of these generated source
79882 I386_PCREL_TYPE_P and X86_64_PCREL_TYPE_P are defined twice. Remove
79996 include some header files, and then set some defines to indicate that
80000 <execinfo.h> and set some alternative defines.
80016 I've tested GDB in a "default" build where libbacktrace is used, and
80026 was recorded by GDB to undo and redo a certain instruction. This commit
80071 between .idata$3 and .idata$4, this means that if there's an even number
80083 and regen libiberty/configure
80101 insn_type, target and imm_pcrel to track control flow across
80113 This adds a test case for "finish" with variably-sized types, and for
80149 In Ada, the inferior call code will call ada_convert_actual -- and
80152 be on the stack and thus overwritten by the call to "f".
80180 resolve the type and return a value -- that is, both the contents and
80186 method, and it updates gdb to only call the new method. This way it's
80195 by reference, and this patch avoids the crash.
80245 Updated translations for various languages and sub-directories
80249 Add new NT_ARM_ZA and NT_ARM_SSVE register set constants.
80276 The strlen is an ifunc, and consequently during the call to
80282 Fix this by using prepare_reinflate and reinflate.
80382 implement a command syntax, and doesn't use GDB's ordinary event loop.
80389 The DAP code will accept JSON-RPC messages on stdin and print
80394 threads are used for reading JSON from the client and for writing JSON
80396 implementation used asyncio, but this had some limitations, and so I
80413 commit added '|' detection and removal to ser-pipe.c, but missed to add it
80419 This commit add the missing '|' detection and removal to ser-mingw.c.
80485 explicitly. This matches other projects, and makes it more clear
80490 explicitly. This matches other projects, and makes it more clear
80496 Delete a few files only used for obsolete targets, and tidy config,
80497 xfails and other pieces of support specific to those targets. And
80517 and remove it from the documentation.
80520 Update a few files that were missed, and revert the generated Automake
80528 cpu port (IQ10BF?), but that was over 20 years ago, and that port has
80568 and gdbreplay's help message from 2022 to 2023, as per our Start
80577 gprofng/common/opteron_pcbe.c, and uses that plus another external
80578 author 'Oracle and' to update gprofng copyright dates. I'm not going
80579 to commit 'Oracle and' as an accepted author, but that covers the
80580 string "Copyright (c) 2006, 2012, Oracle and/or its affiliates. All
80586 on binutils/bfdtest2.c and ld/testsuite/ld-cygwin/exe-export.exp, and
80608 Update version number and regenerate files
80694 With x86_64-linux and target board unix/-m32, we have:
80715 Due to the exception, the function call did not properly terminate, and the
80719 and calls the out_of_scope callback, which would result here in this test-case
80725 (wherever that happens to be) could be improved upon, and the earlier
80736 bpfinishpy_detect_out_scope_cb, and the interesting bit is here:
80754 Fix this by saving the frame in which the finish breakpoint was created, and
80784 PR29909, so KFAIL it, and modify the test-case to expect the out_of_scope
80896 available in Fedora 17, and upstream the name map_complete was used.
80902 So, handle both names: map_complete and rtld_map_complete.
80930 gdb.reverse/step-indirect-call-thunk.c:22:1: error: '-mindirect-branch' and \
80942 [gdb/testsuite] Fix gdb.cp/step-and-next-inline.exp with -fcf-protection
80945 (gdb) PASS: gdb.cp/step-and-next-inline.exp: no_header: not in inline 1
80948 (gdb) FAIL: gdb.cp/step-and-next-inline.exp: no_header: next step 1
80966 and when stepping into get_alias_set we step to line 50:
80968 (gdb) PASS: gdb.cp/step-and-next-inline.exp: no_header: in main
80970 get_alias_set (t=t@entry=0x555555558018 <xx>) at step-and-next-inline.cc:50^M
80979 and:
80989 (gdb) PASS: gdb.cp/step-and-next-inline.exp: no_header: in main
80991 get_alias_set (t=t@entry=0x555555558018 <xx>) at step-and-next-inline.cc:51^M
80996 line the step lands on, and issuing an extra next if needed.
80998 Tested on x86_64-linux, both with and without -fcf-protection=none.
81008 Replace accessor function get_length with get_length_with_initial and
81031 unsigned int for n_directories and associated variables.
81043 This commit makes CSR class handling for 'Smstateen' and 'Ssstateen'
81049 'Smstateen' and 'Ssstateen' extensions.
81068 This patch fixes the bug and adds a regression test.
81110 during stack probing. This unexpected stop confuses the tests and
81114 and reduces the running time of gdb.gdb from 20 minutes to about 11
81134 The naming in here has grown organically and is confusing to follow.
81136 the igen sources, so calling it "tmp-igen" and such made sense. But
81138 used igen, it's not clear what's common igen and what's specific to
81155 rule & variable in the multi build mode, generalize that and switch
81159 targets, and exploring all the shell code paths. I think this is
81160 safe, but only time (and users) will really tell.
81173 "MICROMIPS" config, and the multi configs have sep vars. Since
81188 comp_unit_head had a constructor and used initializers. This patch
81198 for DWARF5 where index zero is allowed and is the current directory of
81207 * dwarf2.c (concat_filename): Correct and simplify tests of
81230 The following test was failing on ppc64 and s390x:
81250 Move this to a makefile variable and plumb it through the common
81275 SD so it actually compiles, and fix a few places to use "CPU" instead
81289 errors. Fix those and change the logic to avoid CPP to prevent any
81306 configure script to the Makefile, and sim_xxx -> sim_mips_xxx when
81315 Nothing defines this, and it isn't called in all the engine runtimes,
81324 shell script. This creates a lot of boilerplate in the build and not an
81329 These are const data arrays of strings and numbers. We don't want
81414 GMP and MPFR for gdb"):
81420 remove that check and simplify the test to assume MPFR support is there.
81437 with common/ sim code, so drop the bfin.h include and move the remaining
81462 with common/ sim code, so drop the pru.h include and move the remaining
81468 Rename mn10300_sim.h to mn10300-sim.h to match other ports, and move most
81510 Rename v850_sim.h to v850-sim.h to match other ports, and move most
81521 with common/ sim code, so drop the msp430-sim.h include and move it to
81533 with common/ sim code, so drop the ft32-sim.h include and move it to
81540 with common/ sim code, so drop the d10v_sim.h include and move it to
81549 with common/ sim code, so drop the cr16_sim.h include and move it to
81595 new APIs used here, and leave the test for their actual
81630 This reduces the size of ld and is necessary with the following
81637 The xxx-desc.h header file already includes this, and it's how the
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
81672 sim-endian.c, so move the bfd.h include there and out of sim-endian.h
81678 Not all arches include this in sim-main.h, and the ones that do don't
81730 the single standard extensions and the prefixed multi-letter extensions.
81747 (riscv_parse_std_ext): Removed, and merged with riscv_parse_prefixed_ext
81751 both single standard and prefixed extensions.
81847 generation for both the .cfi_negate_ra_state and .cfi_b_key_frame
81914 gas: re-arrange listing output for .irp and alike
81928 extension option covering both RTM and HLE, paralleling the "abm" one we
81935 and yet in turn RMPQUERY is a SNP extension.
81943 Both EPT and VMFUNC are extensions to VMX.
81970 Like AVX-VNNI both VAES and VPCLMUL take AVX2 as a prereq, for operating
81974 SSE itself takes FXSR as a prereq. Like AES, PCLMUL, and SHA both GFNI
81975 and KL take SSE2 as a prereq, for operating on packed integers. And
81984 prereqs) and/or too few (when there are dependents) features.
81989 - IAMCU which is a base architecture and hence uses ARCH(), not
81996 Getting both forward and reverse ISA dependencies right / consistent has
81999 dependencies as well as reverse ones are now derived and hence cannot go
82010 * ATHLON, K8, and AMDFAM10 gain CMOV and FXSR,
82016 To maintain forward-only dependencies between AVX (XOP) and SSE* (SSE4a)
82021 PCLMUL, and SHA (respective elements were missing from
82038 hardcoding that value directly, and use a CPP value instead.
82048 code quite a bit, and will make it easier to support multiple mach's
82058 subdirs to generate hw-config.h. Move it to the local.mk, and pass
82059 it down when running recursive make. This avoids duplication, and
82076 The testcase in the PR had a variable with both DW_AT_decl_file and
82079 malloced and duplicates are not expected.
82088 (scan_unit_for_symbols): Similarly free func->file and
82104 Use toplevel configure for GMP and MPFR for gdb
82108 Also this allows building of GMP and MPFR with the toplevel
82111 of GMP and MPFR that is wrong.
82114 with GMP and MPFR in the toplevel (static library used at that point for both)
82115 With only MPFR in the toplevel (GMP distro library used and MPFR built from source)
82116 With neither GMP and MPFR in the toplevel (distro libraries used)
82119 * Updated gdb/README and gdb/doc/gdb.texinfo.
82127 on all-gmp and all-mpfr.
82129 Require GMP and MPFR if the gdb directory exist.
82137 for gmp and mpfr.
82138 Use GMPLIBS and GMPINC which is provided by the
82143 (CLIBS): Exchange LIBMPFR and LIBGMP
82183 line where the directive was written, and a new function that informs if
82192 multiple that all would need XFAILs for older GCCs (<= 4.3), and that
82220 The binaries involved in testing gprofng are native ones, and hence a
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
82236 section and file name quoting, but they ought to be consistent within
82237 a warning, eg. see the first one fixed in ldlang.c, and when a warning
82288 knob and require it be used everywhere now.
82356 sim-main.h and then embed the common sim_cpu_base in it. This
82360 Let's invert this relationship: common code declares sim_cpu, and
82374 out of the gdb/ include namespace and into sim/ instead.
82377 The spreg.[ch] files live in the source tree now and are created
82387 speeds up the build process and makes it easier for us to reason
82442 (_bfd_real_fopen): ..here, and use !HAVE_DECL____LC_CODEPAGE_FUNC.
82445 Regen opcodes/po/POTFILES.in
82450 Simplify the generator by always outputting the switch tables, and
82466 turn call the dv-core detach, and they have the same behavior -- call
82510 This changes bpstat to use 'bool' rather than 'char', and updates the
82514 This changes the uses of value_print_options to use 'true' and 'false'
82518 quick_symbol_functions::relocated is only needed for psymtabs, and
82528 Any users of MI 1 can and should upgrade to a newer version.
82540 Tidy PR29893 and PR29908 fix
82579 without Java support, and when the building of the constituents of the
82585 Casting pointers to unsigned int is generally problematic and hence
82597 handlers, and hence for profile output to match anything in program
82603 In order for so_syn.so and so_syx.so to be able to access the main
82606 force way and simply expose all global symbols.
82613 These enumerators can be used in only one specific field, and hence the
82622 Comment bfd_get_section_limit_octets and bfd_get_section_alloc_size
82644 This commit a new section for the next release branch, and renames
82669 This patch removes the bfd_malloc in default_indirect_link_order and
82678 rawsize (the on-disk size for input sections) and size.
82715 warnings from elf_object_p (and a later patch for warnings from
82716 pe_bfd_object_p) to be cached and then only printed if the target
82718 one message could be printed, and didn't really meet the stated aim of
82719 only warning when a target matches: There are many other errors and
82724 warnings, and hooks this all into bfd_check_format_matches. If
82727 to no match or to multiple matches and only one target vector produced
82870 version on the system, and that Gentoo's build process has sandboxing
82871 which blocks the /proc/pid/mem access and thus GDB warns, which
82876 close where we already emit other ptrace- and /proc- related warnings,
83003 appends to and does not replace the string's content. This mirrors
83056 non-address bits from pointers, and it is specified by a constant. This
83059 Right now AArch64 is the only architecture that uses it, and 56 was a
83064 cases where we're using both PAuth and MTE.
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
83077 and sign-extending the address if needed.
83079 While at it, make GDB and GDBServer share some more code for aarch64 and add a
83089 While 6fdb723799e2 ("gas: re-work line number tracking for macros and
83091 didn't (and the testcase intended to catch that wasn't covering the case
83102 use a representation matching that of Intel SDM and AMD PM for the main
83136 command_line_input and other related functions to return an std::string,
83141 dynamically-allocated content. It fills the buffer and returns a
83186 For #2, we need to default to using memcpy instead, and copy out the bytes
83194 respective natural boundaries (and initialized using memcpy).
83224 Move streq and compare_cstrings to gdbsupport
83225 It seems to me that streq and compare_cstrings belong near the other
83226 string utility functions in common-utils.h; and furthermore that streq
83234 I stumbled across subset_compare today, and after looking at the
83235 callers I realized it could be removed and replaced with calls to
83271 This commit cleans this up, and calls make_target_connection_string
83298 Tested on x86_64-linux, with gcc 4.8.5, 7.5.0 and clang 13.0.1.
83330 gdb: remove the pop_all_targets (and friends) global functions
83332 pop_all_targets_above, and pop_all_targets_at_and_above, and makes
83347 In a couple of places (event-top.c and top.c) I have been able to
83380 The crash occurs in connpy_connection_dealloc, and is actually
83402 and so we should have called dummy_target::supports_terminal_ours.
83405 made the call during GDB's shut-down, and, I suspect, the vtables
83427 then sets conn_obj->target to nullptr, and removes the corresponding
83443 The reason why all_connection_objects has contents when GDB exits, and
83456 reference count even after this final pop_all_targets call, and
83460 keeping, and then delete the inferior object, which calls
83464 pop_all_targets, and it is this missing call that means we leak some
83473 means that when inferior::~inferior is called, and m_stack is
83475 With this change in place we no longer leak any references, and now,
83478 this point, which means the connections will be removed from GDB and
83495 first decrement the target_ops reference count, and then set the array
83504 fail, and an assert will trigger.
83509 scope and the reference count is decremented, target_close can run
83513 test for this issue. The test installs a listener and then causes
83522 i.e. we call target_ops::incref and decref_target (which wraps
83530 instead of using the scoped_mark_target_starting constructor and
83531 destructor to set and reset the starting_up flag, I now use a
83532 scoped_restore_tmpl object to set and restore the flag.
83535 can be completely removed, and the constructor body is now empty.
83541 in the constructor and false in the destructor.
83599 a reference to the bool control variable, and evaluating the variable
83600 both on entry, and at exit, this is done in the scoped_debug_start_end
83607 The existing scoped_debug_start_end and scoped_debug_enter_exit macros
83611 I've then added SYMBOL_LOOKUP_SCOPED_DEBUG_ENTER_EXIT in symtab.h, and
83623 and also in the new SYMBOL_LOOKUP_SCOPED_DEBUG_ENTER_EXIT macro.
83659 handled in c-exp.y, and results in a call to lookup_signed_type
83663 - In lookup_signed_type GDB first adds a 'signed' and looks for that
83664 type, so in this case 'signed int', and, if that lookup fails, GDB
83688 with C, now the initial builtin type lookup will succeed, and GDB
83691 The test case creates a library that includes char, short, int, and
83692 long types, and a test program that links against the library.
83720 using the 'maintenance print objfiles' command, and looking for the
83722 two helper procs `readnow` (gdb.exp) and `mi_readnow` (mi-support.exp).
83743 correctly spot when readnow is in use, and many of the above tests
83753 -readnow flag, and removed the `maintenance print objfiles` check. At
83777 This patch fixes issue above by prompting an error in such case and also adds
83874 Adjust all places allocating col_offset and col_type to use
83878 code_factor and data_factor. Avoid signed overflow. Use
83908 SetConsoleCtrlHandler and instead integrate into gdb's approach to C-c
83914 what) calls SetConsoleCtrlHandler while gdb is running, and this
83915 intercepts and handles C-c -- so that the gdb SIGINT handler is not
83926 is_gdb_terminal is exported, and sharing_input_terminal_1 is renamed,
83927 slightly refactored, and moved to posix-hdep.c. A new
83933 This API is not recommended and does not have a virtual terminal
83935 utilities and transports like SSH may not work as expected if
83943 sigint_ours (and sigquit_ours) can be used without being set. Avoid
83944 this problem by changing them to gdb::optional and checking that they
83968 - the event is processed, s390_linux_nat_target::stopped_by_watchpoint is called and
83970 - the watchpoint event is reported by gdb, and gdb stops
83973 - the event is processed, and during processing that event
83974 s390_linux_nat_target::stopped_by_watchpoint is called again, and returns
83980 it was called the first time, and that data hasn't changed.
83989 and that probably used to work for older kernels, but no longer does since
84001 from aarch64_linux_nat_target::stopped_data_address and remove the
84081 Tested on s390x-linux and x86_64-linux.
84085 gas: re-work line number tracking for macros and their expansions
84098 as_where() is renamed (and used in only very few places for now). Down
84105 Macros with just a single use site are a little pointless to have, and
84121 This patch changes is_nocall_function to remove this assert and
84148 bfd. It is possible when opening and closing bfds with mis-matched
84153 (and fixes small memory leaks). This patch goes further and moves
84206 and LIBS is not necessary anymore.
84211 * libctf/configure.ac: remove zlib from LDFLAGS and LIBS.
84244 and on x86_64 (little endian):
84256 Tested on x86_64-linux and s390x-linux.
84294 writing an int-sized value (4 bytes in this case) and then printing only a
84301 and for x86_64:
84308 Tested on x86_64-linux and s390x-linux.
84343 and to make may_need_pass2() cope (plus extend testsuite coverage).
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
84361 While moving the check, also generalize it to include all SIMD and VEX-
84398 Oddly enough despite gcc's preference towards FILDQ and FIST{,T}Q we
84417 Note that with the dropped CMPSD and MOVSD Intel Syntax string insn
84420 maybe_adjust_templates() becomes unnecessary (and is hence being
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"
84438 register source for LAR and LSL"), adjusting testcases as necessary.
84440 handling of LAR and LSL"), without actually saying so. While the earlier
84441 commit was properly agreed upon, the partial revert was not, and hence
84450 (parse_module): Rewrite file_table reallocation code and clear.
84475 Sanity check DST__K_SOURCE and DST__K_LINE_NUM elements
84487 (display_debug_lines_raw): ..and here..
84488 (display_debug_lines_decoded): ..and here. xcalloc directory_table.
84496 declaration" warning with our choice of warning level and with at least
84532 between assembly and disassembly. Any consumer of libopcodes would only
84548 DWARF5 directory and file table allow more opportunity for fuzzers
84630 Tested on s390-linux, with native and target board unix/-m31.
84643 * binutils/objdump.c (dump_section_sframe): free up contents and
84674 address encoding of SFRAME_FDE_TYPE_PCINC has a value of zero, and the upper
84698 sframe: gas: libsframe: define constants and remove magic numbers
84705 these limits, and remove the usage of magic numbers.
84737 With the AArch64 Scalable Matrix Extension we have a new TPIDR2 register, and
84744 register. But we need to consider cases of systems that only have TPIDR and
84745 systems that have both TPIDR and TPIDR2.
84748 TPIDR2 and turns the org.gnu.gdb.aarch64.tls feature into a
84752 That means we can remove the gdb/features/aarch64-tls.xml file and replace the
84755 TPIDR and TPIDR2.
84767 from find_regno into find_regno_no_throw and makes find_regno call
84844 and the corresponding line number info is:
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
84863 Tested on x86_64-linux and powerpc64le-linux.
84924 When building GDB with the following CFLAGS and CXXFLAGS as part of
84945 It is the fact that when I use the previously mentioned CFLAGS and
85080 Compress .gnu.debuglto_.debug_ and .gnu.linkonce.wi. too.
85101 Compression tidy and fixes
85103 - Move stuff from bfd-in.h and libbfd.c to compress.c
85110 by gas and ld to the output bfd.
85152 When bfd_size_type is unsigned 64-bit integer and sizeof is unsigned
85171 some formatting and correcting a typo.
85175 parser. This patch fixes it and adds a regression test.
85195 The trailing " (1)" and " (2)" are interpreted as comments rather than parts
85196 of the test name, and therefore this is a duplicate, which is currently not
85207 longjmp breakpoint is set using probes and the test-case passes:
85261 Try to avoid this accident and make the failure mode on x86_64 the same as on
85262 powerpc64le, by switching the then and else branch.
85270 DWARF registers and the machine registers is as follows:
85277 DWARF register numbers 31 and 63 are not handled correctly due to a
85300 needs compressing and thus should not have its file offset set
85336 Define an enum instead of using ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD
85337 in bfd and binutils, and move some functions from bfd.c to compress.c.
85350 ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD with ch_compress_zlib and
85356 uses of ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD with
85357 ch_compress_zlib and ch_compress_zstd.
85468 quit and left a perror "active". However, reading that variable would
85489 Mold linker demotes symbols like main to be local and the patch
85497 Use as many tabs as possible for indentation and pad with spaces to keep
85506 Use tab for the first eight spaces of indentation, and align the gdb_printf
85534 s_linefile() before calling new_logical_line_flags(), and I have to
85544 Arm: .noinit and .persistent are not supported for Linux targets
85558 commit objdump and GDB will style disassembler output.
85561 disassemble_info::fprintf_styled_func callback, and pass an
85566 testsuite and manually inspecting the styled output, everything looks
85571 All the gas, ld, and binutils tests still pass for me.
85581 clearer the size of the value that is being displayed, and is inline
85584 In this commit I've added the .word and .short directives, and updated
85589 Re: Renaming .debug to .zdebug and vice versa
85608 section and synthetic symbols before attempting to check flavour.
85622 Renaming .debug to .zdebug and vice versa
85650 x86: Allow 16-bit register source for LAR and LSL
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
85653 disassemble LAR and LSL with 16-bit source operand.
85658 * testsuite/gas/i386/i386.s: Add tests for LAR and LSL.
85674 (dis386_twobyte): Restore larS and lslS.
85675 (mod_table): Remove MOD_0F02 and MOD_0F03.
85676 * i386-opc.tbl: Allow 16-bit register source for LAR and LSL.
85704 rare that you will want to enable debug for one solib kind, and
85707 implementation, merge the existing ones (frv and aix) into a unified
85718 x86: drop most OPERAND_TYPE_* (and rework the rest)
85728 x86: simplify and slightly correct XCHG vs NOP checking
85733 x86: also use D for XCHG and TEST
85735 and TEST templates we have. This way the reg <-> r/m (and reg <-> reg for
85762 PowerPC, fix gdb.reverse/finish-reverse-bkpt.exp and gdb.reverse/next-reverse-bkpt-over-sr.exp
85765 Global Entry Points (GEP) and Local Entry Points (LEP). The first
85768 function is entered via the LEP and the test fails because GDB does not
85772 Currently finish-reverse-bkpt.exp uses source file finish-reverse.c and
85774 source file was created for tests finish-reverse-bkpt.exp and
85777 both PowerPC with a GEP and LEP as well as on other systems. The GEP is
85780 The expect files were changed to use the new source files and to set the
85785 gdb.reverse/finish-reverse-bkpt.exp and
85788 Patch tested on PowerPC and Intel X86-64 with no regressions.
85806 simpler and clearer. This patch removes the global entirely.
85833 C. The idea here is that, by making C and C++ agree on the canonical
85835 behavior in objfile::lookup_symbol (and any other such code -- I don't
85840 avoiding any issues in linespec) and due to the way c-exp.y works, I
85891 entries and expand CUs in the loop. Add one there too.
85900 thread_db_target::update_thread_list was not needed, and it was probably
85904 the target responsible of adding new threads and removing exited
85911 and thread_db_target::update_thread_list defers to that for any live
85924 opcodes: Remove i386-init.h and i386-tbl.h from HFILES
85925 i386-init.h and i386-tbl.h are generated files. There is nothing to
85928 * Makefile.am (HFILES): Remove i386-init.h and i386-tbl.h.
85930 * po/POTFILES.in: Likewise.
85946 mechanism and, worse, apparently when I wrote this stuff I didn't
85951 test that should provoke this bug, and then using "untested" if it
85973 take into account the headers of each CU and could include the locviews
85987 But [0x1e - 0x2a] corresponds to the CU header and [0x2a - 0x2e] are
85993 headers and locviews.
86016 LONG_DOUBLE_MNEM_SUFFIX and No_ldSuf there's no good reason at all
86078 and running gdb:
86083 and likewise for -mbig:
86147 walk_wild_file, hence walk_wild_section and walk_wild_section_handler
86149 and all potential special cases for it aren't used anymore. That also
86150 removes the need to handler_data[] and some associated helper functions.
86158 sections and match their names against a prefix-tree that points to the
86162 statement we now look at the sections only once and then only check
86171 The check_relocs callback (and others) might have created new
86172 section behind our back and some of them (e.g. on powerpc the
86182 and remember the results. Before this the order of section matching
86194 lang_find_relro_sections and of course map_input_to_output_sections.
86202 the matching process and memoizing results, trading a little memory for
86282 slightly, bringing a piece of code out of sync with its comment, and
86290 1) It is possible that FADDP and FMULP were mistakenly not marked as
86291 being in need of dealing with the compiler anomaly, and hence the
86295 generated output for these two commutative opcodes, and hence the
86297 To be on the safe side assume 2: Update the comment and fold the
86322 For one FSUB{,R} and FDIV{,R} would better be tested with operands in
86412 and we could use the fact that the current pc is in the 1000067c-10000680
86413 range, and that that the range starts at the start of the function, to deduce
86417 Fix this by allowing <optimized out> for target powerpc and the gcc compiler.
86453 ... the testsuite only outputs PASSes, and an ERROR, resulting from an
86459 this is only if it manages to send the command, and it's that command
86461 already crashed by the time we entered gdb_test_multiple and tried to
86467 directly and return -1 send_gdb fails. This way, if GDB is already
86503 Define that structure and fill it with default parameter values
86506 configuration and return an address of an exported object from it.
86556 'then' keyword, and sometimes these get copies into new tests, which
86560 library files (in boards/, config/, and lib/). Previous commits have
86571 'then' keyword, and sometimes these get copies into new tests, which
86586 'then' keyword, and sometimes these get copies into new tests, which
86599 'then' keyword, and sometimes these get copies into new tests, which
86612 'then' keyword, and sometimes these get copies into new tests, which
86625 'then' keyword, and sometimes these get copies into new tests, which
86638 'then' keyword, and sometimes these get copies into new tests, which
86651 'then' keyword, and sometimes these get copies into new tests, which
86664 'then' keyword, and sometimes these get copies into new tests, which
86677 'then' keyword, and sometimes these get copies into new tests, which
86690 'then' keyword, and sometimes these get copies into new tests, which
86703 'then' keyword, and sometimes these get copies into new tests, which
86716 'then' keyword, and sometimes these get copies into new tests, which
86742 This patch fixes the problem by keeping stderr and stdlog separate
86757 are generally bad, and there is no need for this one -- it can be a
86803 Because libopcodes is C code, and on some (many?) targets, C code is
86842 Will compile just fine for C++11 and C++14 with GCC. Clang on the
86847 Switching to C++17 and both GCC and Clang correctly point out that
86855 And for C++17 both GCC and Clang compile this just fine.
86858 types is pointless while GDB is not compiled as C++17, and silencing
86865 I've compiled GDB as the default C++11 and also forced the compile to
86888 and which might be used as callbacks by libopcodes are marked
86909 new use of the disassembler classes in the future, and forgets to mark
86974 understand, and returns to libopcodes.
86977 what we want is for this exception to propagate through GDB and appear
86982 is the C++ implementation of gdb.disassembler.builtin_disassemble, and
86989 the exception from frame #0, and catch the exception in frame #8,
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
87008 there is then this exception can immediately be installed, and then we
87038 Remove reset_ecs and execution_control_state::reset
87039 I noticed that execution_control_state has a 'reset' method, and
87041 this area up a little by adding a parameter to the constructor and (a
87058 From glibc 2.35 and later, the "map_failed" stap probe is no longer
87092 There is one possible downside to this change, and that concerns 'set
87100 probe, and the call to the old style breakpoint location were
87101 optimised out, and so neither event (probes based, or breakpoint
87109 loaded/unloaded, and (I'm guessing), in most cases, that's all they
87141 and after forcing "set can-use-hw-watchpoints 0" we can intermittently
87150 can only change due to the current thread’s activity (and if you are also
87181 The breakpoint is correctly set at the local entry point, and given that the
87196 sorting and have a fast path for insertion at end (aka rightmost tree
87199 The filename sorting isn't tested anywhere and the only scripttempl
87200 that uses it is avr (for 'SORT(*)(.ctors)'), and I believe even there it
87206 the two variants to _sort and _nosort).
87215 what's handled now. Most section matchers of this form and hence don't
87224 I broke gdb.ada/start.exp, and did not notice it, because it outputs an
87226 fail and it's not a problem that should be looked at. Change all spots
87240 breakpoint hit and the prompt, which it doesn't do currently (it leaves
87303 exited, and the native target was unpushed from it anyway. So
87307 inferior is starting up and working its way through the shell),
87313 commit_resumed between the target_wait and target_resume calls, but I'll
87324 working with the assumption that a target with no threads (and therefore
87328 clears the target's commit_resumed_state on entry, and leaves it false
87334 while an inferior is running (and therefore while commit_resumed_state
87375 The internal error of GDB is actually caused by GDBserver crashing, and
87420 In the case where the thread is already know and we return early, we
87467 and compare that to the line info:
87481 So we step from line 29 to line 28, and back to line 29, which is behaviour
87503 target_wait and target_stop.
87514 multi-threaded inferior, and continue the inferior in asynchronous
87522 target_stop and target_wait (see prepare_for_detach).
87526 false when target_stop and target_wait are called.
87532 The modification to the test that I propose here, and which exposed
87534 inferior, we instead use "quit". Quitting GDB after attaching to an
87535 inferior will cause GDB to first detach, and then exit.
87537 When we quit GDB we end up calling target_detach via a different code
87547 which calls target_wait and target_stop, so the assertion will trigger.
87574 existing "test" proc and make it use proc_with_prefix.
87602 Looking at the disassembly and the debug info, it's clear why there's
87667 and bss input sections.
87694 This commit tests both (assembler and disassembler) fixes of "Better support
87700 handling is required and should be disassembled as long ".byte"
87715 number instruction encoding does not exceed its expected length and
87721 1. Handles bignum (and its encodings) precisely and
87732 (riscv_ip_hardcode): Make big number handling stricter. Length and
87746 Note that, it only happens on ".byte" output (instruction part) and not on
87747 hexdump (data) part. For example, before this commit, hexdump and ".byte"
87788 all the file names it finds, except the name of 'fnd file name and directory'.
87792 This was validated running the tests natively, and under valgrind.
87850 Tested natively and re-running all tests under valgrind.
87882 and connecting to it using gdb:
87915 Note that the failure can easily be reproduced using the test-case and target
87945 "int main (void) { __builtin_abort (); }" and running it, which took 1.5
87958 gdb.threads/access-mem-running-thread-exit.exp and target board cc-with-dwz-m
87976 Fix this by catching the error and performing the necessary cleanup, getting
87977 the same result for the first and second file command.
87990 Tested on amd64/debian11 and re-running gdb.base/macro-source-path.exp
88024 in cu.h is defined, but is used nowhere and not implemented.
88038 This commit adds the AIA extensions (Smaia and Ssaia) CSRs.
88042 * elfxx-riscv.c: Add 'smaia' and 'ssaia' to the list
88095 (DECLARE_CSR): Add CSRs for Smaia and Ssaia.
88099 - Imply zicsr for ssaia (and transitively smaia)
88104 - Add hypervisor and VS CSRs
88136 and tries stopping on them.
88166 catchpoints and verifies they are not hit, requires that we resume
88244 x86: widen applicability and use of CheckRegSize
88247 addresses gas wrongly accepting certain SIMD insns where register and
88249 affected all templates with one memory-only operand and one or more
88269 To properly and predictably determine operand size encoding (operand
88273 x86: correct handling of LAR and LSL
88277 of the templates for the assembler and separating decode of the
88278 register and memory forms in the disassembler.
88291 Mode/reg bits for these insns are 000 Dy, 001 Ay, and 111 100 for the
88294 * m68k-opc.c (m68k_opcodes): Only accept 000 and 001 as mode
88309 FType, Mode and SPSEL. These are the same bits that are used in v7m.
88311 and not just Mode and SPSEL bits for v8m targets without security
88346 wasm_get_symtab_upper_bound return the proper result and stops
88355 There were no comments in some instances (gdb/defs.h, gdb/core.c and
88391 - using both gdbarch_convert_from_func_ptr_addr and gdbarch_skip_entrypoint
88416 field for it. That means, the high 2 bits could be other field and have
88418 calculate, and then only encode the valid 6 bits back. By the way, we also
88419 need the out-of-range check for R_RISCV_SUB6, and the overflow checks for
88468 fbsd-nat includes various helper routines for fetching and storing
88485 this are the TLS register sets for the ARM and AArch64 architectures.
88487 Currently OS-specific architectures create register maps and register
88489 requires duplicating the code to create the register map and register
88490 set. To reduce duplication, add variants of the collect_regset and
88519 changes more than just file offsets. Addresses and sizes are also
88571 arc700+ and not all ARCs.
88576 isa_config exists for ARC700 and ARCV2 and not ARCALL.
88582 need to test for gcc in gdb.dwarf2/clang-cli-macro.exp and mark it as
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,
88605 that is greater than the max long value and therefore fseek will fail
88676 continue, the BS and its commands are freed by execute_control_command.
88679 the bpnum and locno.
88681 Regtested on debian/amd64 and re-run a few tests under valgrind.
88689 Test re-run in 3 modes (normal, native-gdbserver and native-extended-gdbserver).
88693 Fix ARM and AArch64 assembler tests to work in a multi-arch environment.
88711 For targets with secext, msp and psp can be seen as an alias for one
88717 For targets with secext, msp and psp can be seen as an alias for one
88725 tdesc-xml and only send bitsize="128", gdb can't deal with a reg
88729 gdb/csky return type int32 for float and vector pseudo regs
88730 When reg_nr is one of the float and vector pseudo registers,
88755 Tested on sparcv9-sun-solaris2.11, amd64-pc-solaris2.11, and
88788 sparc-sun-solaris2.11, and sparcv9-sun-solaris2.11 (together with
88819 Note that according to the GDB user manual node 'GDB/MI Development and Front
88823 $_hit_bpnum and $_hit_locno are set to the encountered breakpoint number
88824 and location number.
88826 $_hit_bpnum and $_hit_locno can a.o. be used in the command list of a
88844 - updated the tests and user manual accordingly.
88848 they are set for silent breakpoints, and when several breakpoints
88857 - Ensure that disable $bkptno and disable $bkptno.$locno have
88862 - Add a note to clarify the distinction between $bkptno and $bpnum.
88866 Keith Seitz and Eli Zaretskii:
88870 - Add index entries for $bkptno and $locno
88876 RISC-V: Add 'Ssstateen' extension and its CSRs
88879 and hstateen* CSRs of the 'Smstateen' extension.
88996 the `finish' command, and are meant to be temporary breakpoints. However, they
89010 When building on Ubuntu 22.04, gcc 12, x86-64 with -m32 and -O2, I get:
89024 …/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 9 and 2147483648 bytes in…
89049 This means that the test will only work with Clang, and, as we have to
89052 currently this is x86-64, i386, and ppc64.
89054 By switching to the DWARF assembler, the test will work with gcc and
89055 clang, and should work on most, if not all, architectures.
89058 register, and then tries to call a method on the structure from within
89063 register the structure is in, and I take advantage of this for the
89066 x86-64, ppc, aarch64, and risc-v, and the test runs, and passes on all
89069 Additionally, on x86-64, I've tested with Clang and gcc, and the test
89070 runs and passed with both compilers.
89097 return line, and then using gdb_continue_to_breakpoint to ensure we
89122 and updates the call to standard_testfile (removing the reference to
89133 gdb/testsuite: add (and use) a new build-id compile option
89152 now (mostly) passes with Clang 9.0.1 and 15.0.2, and still passes with
89153 gcc. The 'mostly' part is an unrelated issue, and will be addressed
89164 This test makes use of the DWARF assembler, and, it turns out, uses
89170 # and end address too:
89177 # may not guarantee the order of global asms and function. The code
89185 and length. The portable solution is to place a label within the
89199 file, and have it loaded into a GDB session, before calling
89203 a file called gdbjit-ops.S, I suspect a copy and paste issue there, so
89254 commit, I just change the file extension from .s to .S, and the
89262 With these changes the test now passes with Clang 9.0.1 and 15.0.2,
89263 and also still passes with gcc.
89278 at least, I've tested with Clang 9.0.1 and 15.0.2, and don't see any
89309 SFrame is supported for ELF only. Keep the definitions and declarations
89331 and add the explicit NoSuf to AddrPrefixOpReg in templates.
89382 determine the return vaule and thus fixing the test.
89394 Change NULL to nullptr in gdb/infcmd.c and gdb/infrun.c
89396 NULL. There are numerous uses of NULL and nullptr in files infcmd.c and
89402 The patch has been tested on PowerPC and Intel X86_64 with no new unexpected
89411 x86, ARM and AARCH64. On x86, elf_backend_output_arch_local_syms must
89413 Update ARM and AARCH64 to skip elf_backend_output_arch_local_syms when
89441 new threads can be started, and existing threads exit, at any time,
89466 The test uses 'maint packet ...' to send a packet to gdbserver, and
89469 API, and compares the results from the Python API to the results
89485 However, now our TCL test script kicks in and tries to "fix" the '\x',
89503 our word to 0 and we copy non zero extended contents to the cache.
89507 gdb/fortran/testsuite: print values and types of string variables
89509 printing the value and type of a Fortran string defined using the
89517 are stored as an address and length, it is fine to include an embedded
89527 things, and are so widely used that I suspect most Fortran programmers
89607 able to build and test gdb on both amd64-pc-solaris2.11 and
89664 Breaking in the destructors for intrusive_list and frame_info_ptr shows that
89780 This patch adds the missing states to the appropriate node, and
89790 this patch disables source and assembly code highlighting for the
89791 text highlighted by the TUI's current position indicator, and adds a
89819 Also clean up the explicit gdb_exit/gdb_start and use clean_restart instead.
89835 - using remote_exec instead of catch system, and
89840 - copy the file $f.bz2 into the desired location $dir/$f.bz2, and
89844 Factor out new function decompress_bz2 to make the test-case less verbose, and
89847 Tested on x86_64-linux, without and with bzip2 installed.
89862 * libsframe/configure.ac: Check for makeinfo and set BUILD_INFO.
89868 gas/NEWS: add text about new command line option and SFrame support
89893 This patch adds support for SFrame in readelf and objdump. The arguments
89894 of --sframe are optional for both readelf and objdump.
89903 readelf and objdump.
89923 .sframe sections - decode, read, and create output data. This
89924 implies buildsystem changes to make and install libsframe before
89934 The linker sorts the SFrame FDEs on start address by default and sets
89978 .sframe section for .plt and .plt.sec.
90037 - probe and inspect a .sframe section
90038 - encode (and eventually write) a .sframe section.
90045 encoding and probing .sframe sections. A set of error codes together
90048 Endian flipping is performed automatically at read and write time, if
90101 directives. Splitting this out here for ease of applying and testing.
90138 Currently supported for x86_64 and aarch64 only.
90152 generation. Both .eh_frame and .sframe can co-exist in an ELF file,
90156 necessary information to generate backtraces and does not provide
90159 unwinding, and hence are not included in the .sframe section.
90186 generation, and are skipped:
90197 x86-64 and aarch64 backends need to have a few new definitions and
90199 specific information like the SP/FP/RA register numbers and an
90203 specific fragments containing SFrame FRE start address and SFrame FDE
90205 in gas, where fragments are sized and fixed up when the associated
90207 SFRAME_FRE_TYPE_SELECTION_OPT and should be easy to turn off if needed.
90208 The optimization is on by default for both x86_64 and aarch64.
90212 * gas/Makefile.am: Include gen-sframe.c and sframe-opt.c.
90270 * gas/as.c (parse_args): Parse args and set flag_gen_sframe.
90281 backtracing. The current version supports AMD64 and AARCH64.
90346 - Configure --with-system-zlib and --without-system-zlib.
90348 and --disable-shared.
90359 As this is Ada-specific, and we've been using it internally at AdaCore
90369 * config/tc-i386.c (cpu_arch): Add znver4 ARCH and rmpquery SUBARCH.
90385 * i386-gen.c (cpu_flag_init): Add CPU_ZNVER4_FLAGS and
90449 With test-case gdb.base/jit-elf-so.exp and target board
90464 With test-case gdb.base/jit-reader-exec.exp and target board
90477 With test-case gdb.base/info-shared.exp and target board
90516 and using putenv ("PATH=...") to allow infcall-exec to exec infcall-exec2
90566 The problem is that the target board uses the same machine and user for
90567 both (by-definition-local) build and remote target, and when using absolute
90570 download them to target first, and then the filename would also be different.
90584 the build files on the $USER account, and that the $USER account cannot see
90606 With test-case gdb.base/info_sources_2.exp and target board
90652 The test-case checks for skip_gdbserver_tests and that one contains a check
90655 # If GDB is lack of XML support, and targets, like arm, have
90657 # description GDBserver uses, and may fail to parse 'g' packet
90684 follow fork mode in child or parent and set detach on fork on
90726 This patch has been tested on Power 10 and x86-64 with no regressions.
90753 TYPE_CODE_STRUCT and if the language_pass_by_reference is not
90777 This patch adds support for the CSSC extension and its corresponding
90813 all attributes which express special operand constraints (and which fit
90819 Data and instruction memories are strictly separated, so it is not
90838 directive ".pacspval" and encodes this directives with opcode
90929 and can also be run on x86_64-linux, if "set arch powerpc:common64" is
90953 and indeed:
90959 and:
90972 In some test-case I tried to use get_set_option_choices "set architecture" and
90983 and it locally sets max-completions to unlimited.
90986 - factoring out a new proc with_set out of proc with_complaints, and
90991 get_set_option_choice and with_complaints.
91029 for Cygwin (and looks like it shouldn't be, as appears to imply
91030 non-POSIX and MiNGW and WinSock...)
91032 Also enable the declaration and definition of strwinerror() when
91040 including both winsock2.h and sys/select.h causes incompatible
91076 extract_pcrel0 in order to disassemble paddi with RA0=0 and R=1 as
91087 * ppc-opc.c (extract_pcrel1): Rename from extract_pcrel0 and
91091 for pla, paddi and psubi.
91098 manually with explicit additions to LDFLAGS and LIBS.
91129 in the CUs, it's C++ and C, so the selected language isn't
91131 program and then "start", I get the same error.
91148 Use proper %p to printf a pointer instead of casting it to long and
91149 using 0x%lx. It's cleaner, more correct, and doesn't break on LLP64.
91174 - 13f72372413 ("gdb/testsuite: fix gdb.base/break-idempotent.exp on ppc"), and
91177 While looking into these ERRORs and the commits that fix them, it occurred to
91185 without a running gdb instance, and erroring out otherwise. This way, there's
91189 clean up, so copy the missing cleanups (gdb_exit and $obj file deletion) from
91210 iterates over all remaining threads and marks each thread exited. This
91211 fires the gdb::observers::thread_exit observer and eventually
91241 for it, and the situation is quite specific to the Arm target.
91249 to PC and then save the copy_insn_closure pointer.
91255 during displaced stepping doesn't work, and gives random results that
91259 and, for safety, add an assertion to
91286 C++11, and Clang, for instance, does not feel the need to follow it.
91297 turning into XPASSes and slighty annoying when comparing between
91370 one with a single parameter (this) and the other with 2 parameters (this
91371 and vtt).
91382 breakpoints before finishing, and is the reason why this test was
91383 failing. To make this test stop failing, a compiler check is added and
91422 typedefs inside classes, and without this information GDB defaults to
91424 about this, these tests have been set as xfails, and Clang bug 57608 has
91521 This option compresses output debug sections with zstd and sets ch_type
91522 to ELFCOMPRESS_ZSTD. Latest gdb and lldb support ELFCOMPRESS_ZSTD.
91566 ... and fix the legitimate bug that it catches.
91573 & e500 igen files), and the other igen ports (mips, mn10300, v850).
91579 memory operand for input/output port address in AT&T syntax and should
91581 set i.input_output_operand to true for (%dx) and issue an error if (%dx)
91640 2. We switch to inferior 1, and run "start"
91642 4. Inferior 2 hits that breakpoint and GDB reports that hit
91689 the percentage of completion and the total download size.
91718 that will come later. It was still possible to run to a breakpoint and
91730 and prepare_reinflate, calling get_frame_id, forces it to be computed.
91732 which with my ROCm GDB patch fails. An exception is thrown and the
91741 reset. This is why save_selected_frame and restore_selected_frame have
91781 possibly lead to the pretty printers being called, and the frame_info
91856 or not, and if not it did emit a warning. The equivalent in
91909 objects, and therefore calls prepare_reinflate/reinflate. However,
91912 print_frame_args can invalidate frame_info objects, and therefore needs
91913 to prepare_reinflate/reinflate as well. Add those calls, and enhance
91924 to clear the other object's fields (in other words, copy constructor and
91945 information is incomplete, and may just assume that there is a bug in
91947 overload match failed because of an incomplete type, and warn the user
91953 and porting all of overload.cc seemed unnecessary.
91989 We already do this for ELF targets, and while fixing the logic
91995 * aoutx.h (get_reloc_upper_bound): Likewise, and don't duplicate
92016 Without glibc debug info, GDB steps until the program finishes, and
92025 Tested on Ubuntu-22.04 x86_64, with and without libc6-dbg.
92037 Nothing passes this to dgen, and even if it did, nothing would happen
92044 This is the most common case by far and thus generates a much smaller
92071 interesting, but we can further optimize the generated output and
92224 includes the relevant source files directly and runs the code that
92227 and debug the specific bits of code every now & then.
92244 that is going to be deleted. bfd_close and bfd_close_all_done differ
92254 Although the encoding for scalar and fp registers is identical,
92255 we should follow common pratice and use fp register names
92260 Let's use fp register names in this case and adjust the test cases
92298 linux_common_core_of_thread, returns a value anywhere between 0 and 39.
92300 with no core value, and the regexp in the test doesn't match (it
92304 sees 40 CPUs "present" and "possible", but only 4 arbitrary CPUs
92320 iterate over these numbers to find the highest possible CPU id, and
92331 file from /proc or /sys and processes it as a string afterwards. I
92336 Add read_file_to_string to gdbsupport/filestuff.{c,h}, and make
92338 return an std::string, and because strtok doesn't play well with
92355 [gdb/cli] Make quit really quit after remote connection closed
92372 After that, we can for instance quit with confirmation:
92374 (gdb) quit
92383 Or, kill with confirmation and quit:
92388 (gdb) quit
92392 Or, monitor exit, kill with confirmation, and quit:
92398 (gdb) quit
92402 But when doing monitor exit followed by quit with confirmation, we get the gdb
92403 prompt back, requiring us to do quit once more:
92406 (gdb) quit
92413 (gdb) quit
92417 So, the first quit didn't quit. This happens as follows:
92422 - catch_command_errors catches the error, at which point the quit command
92431 so in a way this is expected behaviour. But aborting quit because the inferior
92433 valid, and having to type quit again seems pointless.
92437 disconnect_tracing too, and don't lose history if the target errors on
92438 "quit""), was to make sure that error (_("Not confirmed.") had effect.
92441 during query_if_trace_running and reporting it:
92444 (gdb) quit
92520 should not be used and produces undefined behavior, so instead of
92522 build warnings due to 32-bit/64-bit type conversions, and outputs
92530 This hasn't been used by gdb in decades, and doesn't make sense with
92571 * i386-gen.c: (cpu_flag_init): Add CPU_RAO_INT_FLAGS and
92604 can easily move this into the makefile via a -D compiler flag and
92609 can easily move this into the makefile via a -D compiler flag and
92614 can easily move this into the makefile via a -D compiler flag and
92619 can easily move this into the makefile via a -D compiler flag and
92642 to GDB. Among these, --enable-shared and --disable-shared, which were
92650 2.69 and Automake 1.15.1. This should match the previously
92653 NOTE4: Now the installed shared objects libbfd.so, libopcodes.so and
92659 - --enable-shared and --disable-shared (the default in binutils) work
92669 program_transform_name and friends. The installed
92679 generic, and unexpected breakpoint locations being found in my
92698 a PTRACE_EVENT_CLONE, and libthread_db.so isn't active.
92703 "Flags are inherited by new tracees created and "auto-attached" via
92739 file, using vanilla autoconf-2.69 and automake-1.15.1. I noticed
92755 is enabled before launching ld-shared, ld-elfweak and ld-elfvers.
92778 an ISA string and/or disassembling, not to allow hard-float with RVE.
92815 deprecate it in GDB 13 and then remove it for GDB 14.
92817 This version of the patch incorporates Simon's warning change, and
92870 We use uppercase for other variables, and are already turning it to
92885 The objects it adds are pretty small and don't add overhead at
92897 and run PR binutils/26160 test.
92905 [testsuite] gdb.base/dlmopen: Fix test name and use gdb_attach
92925 pmxvi8ger4*, and pmxvi16ger2* instructions were officially changed to
93007 The test disassembles function foo and searches for the line
93032 The patch has been tested on PowerPC and Intel X86-64.
93075 brought to my attention, and that is fixed in this commit.
93094 header dependency tracking. That was changed a while ago, and we use
93099 or cgen outputs) were moved to the common automake build, and it takes
93136 * i386-gen.c (cpu_flag_init): Add CPU_AVX_NE_CONVERT_FLGAS and
93155 This patch is based on MULTIPLE_FRAME_SECTIONS and EH_FRAME_LINKONCE,
93156 it allows backend to enable this feature and use '--gc-sections' simply.
93162 (get_cfi_seg): Create relocation info between .eh_frame.* and .text.* section.
93187 first and avoid extra linkage when possible.
93190 COMMON_LIBS is set to $(LIBS), and CONFIG_LIBS is set to that plus
93241 only ports that do it, and it isn't really necessary. Punt it to keep
93246 that value and drop redundant target checks as a result.
93256 same, and erc32 hasn't provide a real run-compatible interface.
93265 programs since the linker ignores objects that aren't referenced, and
93279 We already have such options via the common trace framework, and those
93285 This makes it match the other sim run programs and GNU tools.
93291 No other tool does this, sim or otherwise, and it makes the ppc build
93302 and so we can't print them. This has been submitted as a bug to Clang
93303 developers (https://github.com/llvm/llvm-project/issues/54506), and PR
93308 the main file would be closed and if the producer is Clang, and turns
93312 A test case was added to confirm the functionality, and the KFAIL for
93336 libcommon.a and into the default AM_CPPFLAGS. This has the effect of
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
93376 add more host flags to CPPFLAGS, and that conflicts with our current
93387 align a bit with standard C library read/write functions, and to avoid
93411 the Tbyte modifier on the FLDT and FSTPT templates was pointless, as
93439 Assembler adds $d for the odd .byte, and then adds $x+arch for the
93441 $d and $x for the odd alignment, but accidently remove the $x+arch because
93461 (riscv_remove_mapping_symbol): Removed and moved the code into the
93464 * testsuite/gas/riscv/mapping-dis.d: Updated and added new testcase.
93489 and X86_64_0F01_REG_0_MOD_3_RM_6_P_3.
93491 and CPU_ANY_MSRLIST_FLAGS.
93519 and CPU_ANY_WRMSRNS_FLAGS.
93580 * i386-gen.c (cpu_flag_init): Add CPU_CMPCCXADD_FLAGS and
93617 (prefix_table): Add PREFIX_VEX_0F3850 and PREFIX_VEX_0F3851.
93618 (vex_table): Add PREFIX_VEX_0F3850 and PREFIX_VEX_0F3851,
93619 delete VEX_W_0F3850 and VEX_W_0F3851.
93622 and VEX_W_0F3851_P_3, delete VEX_W_0F3850 and VEX_W_0F3851.
93624 and CPU_ANY_AVX_VNNI_INT8_FLAGS.
93661 (prefix_table): Add PREFIX_VEX_0F38B4 and PREFIX_VEX_0F38B5.
93662 (vex_table): Add VEX_W_0F38B4_P_2 and VEX_W_0F38B5_P_2.
93665 CPU_UNKNOWN_FLAGS. Add CPU_AVX_IFMA_FLGAS and
93693 …../../binutils-gdb/opcodes/arm-dis.c:6005:3: error: format not a string literal and no format argu…
93712 The problem is in print_mve_unpredictable, and relates to the reason
93726 "??", this will silence the warning, and the "??" string should never
93749 print_insn_arm processes the arm_opcodes table, and includes a switch
93750 statement that handles the '%a' operand, and takes care of printing
93754 function handles a single *_opcodes table, and includes its own switch
93777 the first instruction, and '%9-9d' in the second instruction, but,
93786 use register style or immediate style, and secondly, the 'r' and '#'
93792 can print a register name, a shift type, and a shift amount, this
93793 could end up using register, sub-mnemonic, and immediate styles, as
93820 operands, and is the most consistent with how styling has been
93839 style, and in the second '%{I:...%}' changes base_style to
93842 Notice that the 'r' and '#' characters are included within the new
93850 I have updated arm-dis.c to the above scheme, and checked all of the
93851 tests in gas/testsuite/gas/arm/, and the styling looks reasonable.
93873 ';', and proposed a patch to add the missing ';' characters.
93902 As '@' is the actual comment start character then clearly the '@' and
93910 '@' consistently as its comment character, and remove all the uses of
93926 Python layer. This patch fixes the bug, and prevents future
93969 are watched. The val_chain contains the address for **global_ptr_ptr and 0
93990 breakpoint consist of the address for global_ptr_prt, global_ptr and buf.
94024 The patch has been tested on Power 8, Power 10 and X86-64. Note the patch
94034 Process record and replay target doesn't support syscall number 317.
94068 align a bit with standard C library read/write functions, and to avoid
94106 generic_value_print and gets into a loop.
94108 This patch restores the previous behavior and adds a regression test.
94112 …ted Romainain translation for the binutils sub-directory and Swedish translations for the ld and o…
94137 * i386-dis.c (reg_table): Add MOD_0F18_REG_6 and MOD_0F18_REG_7
94138 (x86_64_table): Add X86_64_0F18_REG_6_MOD_0 and X86_64_0F18_REG_7_MOD_0.
94139 (mod_table): Add MOD_0F18_REG_6 and MOD_0F18_REG_7.
94140 (prefix_table): Add PREFIX_0F18_REG_6_MOD_0_X86_64 and
94244 The variable "list" is only initialized when arg1 > 0 and when arg1 == 0,
94318 With test-case gdb.server/multi-ui-errors.exp and host board
94341 message and a prompt.
94347 Fix this by consuming the "Remote connection closed" message and prompt.
94417 3. If both 1. and 2. are satisfied, despite that <unistd.h> tries to
94431 imported_library_count and total_imported_symbol_count before
94547 gdb, btrace: fix family and model computation
94551 We only consider the extended model field for family 0x6 and forget about
94552 family 0xf and we don't consider the extended family field. Fix it.
94565 __GNUC__ and __GNUC_MINOR__ are not checked because this header file seems
94592 generate $x+arch for MAP_INSN, and then store it into tc_segment_info_data
94595 now, only add $x+arch if the architecture strings in subset list and segment
94596 are different. Besides, always add $x+arch at the start of section, and do
94599 (riscv_remove_mapping_symbol): If current and previous mapping symbol have
94615 * testsuite/gas/riscv/mapping-0*: Merged and replaced by mapping.s.
94628 (riscv_get_map_state): Recognized mapping symbols $x+arch, and then reset
94633 binutils: Update my e-mail and Yunhai's e-mail
94765 send_gdb "quit\n"
94803 quit^M
94804 &"quit\n"^M
94808 quit command to an mi interpreter, after which again expect just waits for the
94821 I build gdb using -O2, and ran the testsuite using taskset -c 0, and ran into:
94838 The expected series of events is (skipping disconnect and detach as I don't
94861 delete scenario, after the "cp $exec.bak $exec" and before the "gdbserver
94891 temporary file on disk that is read back and written to the output
94919 thumb-plt and thumb-plt-got for nacl. The first fails due to trying
94923 and
94931 thumb-plt and thumb-plt-got for nacl.
94998 Non-secure state, the PE hardware extends the stack frame and also
95030 The frames #3 and #4 are secure. backtrace should stop before #3.
95117 The warning is printed just once and not repeated on each backtrace command.
95123 fewer lines of code, and to make sure to not leak open file handles.
95130 This way people can run `./copyright.py --help` and get some info as
95131 to what this does without it going and modifying the tree.
95146 virt_size and bfd section size as limit of function table.
95170 offsets that are monotonic and within a section. To do that properly
95179 reloc is converted to 0xff R_RESERVED, and a default of zero is better
95233 binaries aligned to 2MB pages on disk, and hence generate 2MB
95234 executables for a hello world (and even 6MB when linked with
95269 …FAIL: gdb.base/unwind-on-each-insn.exp: get $sp and frame base in foo: get hexadecimal valueof "$s…
95274 While at it, remove the bit that consumes the command name and do
95285 On openSUSE Tumbleweed I run into this for the dwarf assembly test-cases, and
95291 ld: NOTE: This behaviour is deprecated and will be removed in a future \
95311 Likewise for .s files, and gdb/testsuite/lib/my-syscalls.S.
95326 I build gdb without gdbserver, and ran into:
95376 The riscv port does deletion and symbol table update for each relocation
95377 while relaxing, so we are moving section bytes and scanning symbol table once
95379 changes into a table, then do the deletion and symbol table update once per
95385 replace the unused relocation with R_RISCV_DELETE for the deleted bytes, and
95387 R_RISCV_DELETE is m, and the number of symbols is n, the total link complexity
95388 should be O(m) for moving section bytes, and O(m*n^2) for symbol table update.
95389 If we record the relaxation changes into the table, and then sort the symbol
95407 (_bfd_riscv_relax_lui): Likewise, but reuse R_RISCV_HI20 for lui, and reuse
95409 (_bfd_riscv_relax_tls_le): Likewise, but resue R_RISCV_TPREL_HI20 and
95449 both gcc and clang, so I've removed the SIM_WERROR_CFLAGS line from
95462 with a comment and an empty statement.
95499 which silences the warning from clang, and is, I am guessing, what the
95623 I did a gdb build without python support, and during testing ran into FAILs in
95656 These configure scripts check $target and change behavior. They
95697 - avoid "GDB proper" to refer to global locus, as object files and
95718 When building GDB with clang and --enable-ubsan, I get:
95729 I found this to happen with ld-linux on at least Arch Linux and Ubuntu
95778 declaration, gdb can skip this type during lookups and when writing
95795 to extract a value from a bit offset and width.
95799 looked difficult, and since "all" is effectively deprecated, I thought
95807 but the outer array does not -- and should not. However,
95809 packed arrays and a multi-dimensional packed array, and for the
95825 Add a -w option to the linker to suppress warning and error messages.
95830 (parse_args): Add support for -w and --no-warnings.
95831 * ldmisc.c (vfinfo): Return early if the message is a warning and
95843 all of the recursive calls and stopping in the previous line, we stop at
95844 the second to last recursive call, and need to manually step backwards
95856 recursive function and attempt to both, skip it altogether, and to skip
95863 When GDB is stopped at a ret instruction and no debug information is
95871 we were to attempt to skip that function, and this breakpoint should
95878 It also adds a test to confirm that the frame_id will be the same,
95887 * po/hu.po: Updated Hungarian translation.
95892 Similarly to booleans and following the fix for PR python/29217 make
95894 PARAM_UINTEGER, PARAM_INTEGER, and PARAM_ZUINTEGER_UNLIMITED types, as
95907 Also verify PARAM_UINTEGER, PARAM_INTEGER, and PARAM_ZINTEGER parameter
95908 types, in addition to PARAM_ZUINTEGER and PARAM_ZUINTEGER_UNLIMITED
95909 already covered, and verify a choice of existing GDB parameters. Add
95935 With gcc 7.5.0 and test-case gdb.base/rtld-step.exp, I run into:
95941 Silence this by checking in the test-case that -static-pie is supported, and
96024 explicit gdbpy_initialize_* calls from python.c and replace these
96036 This commit is similar to the previous one, and fixes the second
96045 gdbpy_initialize_breakpoints and gdbpy_initialize_finishbreakpoints in
96050 initialized, and can be called from any gdbpy_initialize_* function.
96061 explicit gdbpy_initialize_* calls from python.c and replace these
96073 This commit removes the first dependency issue, with this and the next
96079 gdbpy_initialize_instruction and used in gdbpy_initialize_record.
96083 py_insn_type type and calling PyType_Ready. This helper function can
96084 be called from gdbpy_initialize_record and
96085 gdbpy_initialize_instruction, and the py_insn_type will be initialized
96089 we no longer care in which order gdbpy_initialize_record and
96114 doesn't hurt, and will help keep us safe if anything ever changes in
96122 I was doing some int to bool cleanup in update_watchpoint, and I
96127 This commit updates things to use scoped_restore_selected_frame, and
96169 With test-case gdb.debuginfod/fetch_src_and_symbols.exp and check-read1, I run
96191 With test-case gdb.mi/mi-disassemble.exp and check-read1 I run into:
96207 Re: aarch64-pe support for LD, GAS and BFD
96216 Second patch incorporates fixes for endian and UB issues in calc_hash, as per
96239 It's also been tested (and found to be working) with
96262 and/or dynamic linker. Much of the time, this makes sense. An
96267 might place a breakpoint in that code and then wish to debug it
96269 will cause GDB to internally step (and not stop) until code
96285 binutils/Makefile and it was intended for binutils/cxxfilt.man. @PROGRAM@
96287 generate on man pages") in 2001 and @PROGRAM@ is ineffective since then.
96306 Regen ld/po/BLD-POTFILES.in
96344 because the function predates widespread and portable variadic macros
96345 availability. We can use variadic macros nowadays, and in fact, we
96350 and then reimplements internal_error as a variadic macro that expands
96363 gdbsupport/gdb_assert.h, and gdb/gdbarch.py.
96460 This is a false positive - we over allocate engine_fn, and then only
96466 entries are in use, and which are not.
96474 Fix addr2line test for ppc64 elfv1 and mingw
96476 arrange to pass --synthetic to nm, and extract .main and .fn
96483 * MAINTAINERS: Add section on patches, copyright and DCO.
96507 core file and alert the user.
96516 The new proc temporarily switches to $directory and then runs the
96522 prior to restoring the previous directory, and left the core file in
96523 the wrong place, then the responsiveness check will fail, and a FAIL
96555 aarch64-pe support for LD, GAS and BFD
96557 It appears that bfd/Makefile.in and bfd/configure were not regenerated
96565 aarch64-pe support for LD, GAS and BFD
96572 * binutils/testsuite/config/default.exp: Set ADDR2LINE and ADDR2LINEFLAGS.
96632 can never succeed, and proposes simply removing the dead code. That
96652 true and false. When the test is run with can-use-hw-watchpoints set to
96657 Test gdb.mi/mi-watch.exp runs the test with argument hw and sw. If the
96658 argument is hw and hardware watchpoints are not supported the test exits.
96661 hardware watchpoints was not skipped and the test actually ran using
96664 The following tests run the same with and without the patch. The tests
96667 was not being executed and gdb was falling back to using software
96669 patch, the tests now execute the command and the test runs using software
96694 With test-case gdb.base/included.exp and host board local-remote-host.exp with
96712 With test-case gdb.server/no-thread-db.exp and host board local-remote-host.exp
96732 With host board local-remote-host.exp and test-case
96760 The remote host and remote target cases are handled here together here in proc
96809 - get_symbol_address() and get_msymbol_address() search objfiles for a
96821 - lookup_minimal_symbol() and lookup_minimal_symbol_text() directly
96822 iterate over objfiles and are not aware of linker namespaces.
96827 Update elf_gnu_ifunc_resolve_by_cache() and elf_gnu_ifunc_resolve_by_got()
96884 The implementation of gdb.lookup_objfile() iterates over all objfiles and
96896 When cleaning up after a compile command, we iterate over all objfiles and
96899 Since we already store a pointer to that objfile in the module and use it
96913 to be used together with start and prev to provide the namespace of start
96914 and prev to gdbserver.
96929 attributes are ignored, anyway, and since changing the version results in
96992 locate_base() at all call sites, and remove it.
97001 and for
97033 I tested this with GCC 11, 12, and 13. I'm going to check it in.
97086 The cooked index work changed how .gdb_index is constructed, and in
97092 are Ada-encoded; and names are no longer case-folded, something that
97104 These names aren't very useful, and this patch changes the DWARF
97118 Since "NULL" and "0" are used to represent invalid address in function
97155 yynerrs is defined in yyparse and is there for actions to use. Since
97176 feature is available add both board_cflags and board_ldflags.
97179 board_ldflags and not board_cflags.
97190 …Omitting predicate size specifier in vector form of {sq, uq, }{decp, incp} is deprecated and will …
97202 for decp, incp, sqdecp, sqincp, uqdecp and uqincp.
97212 decp, incp, sqdecp, sqincp, uqdecp and uqincp, which take the
97271 I looked through all the uses of static_cast<... *> in gdb and
97278 PowerPC se_rfmci and VLE, SPE2 and LSP insns with -many
97280 accepted by non-VLE cpus, and also that se_rfmci by itself in a
97284 Also, VLE, SPE2 and LSP insns were not accepted by the assembler with
97285 -many nor were SPE2 and LSP being disassembled with -Many.
97290 disassembler index segment checks. Add LSP and SPE2 opcodes
97292 (md_assemble): Correct logic adding PPC_APUINFO_VLE and
97299 * ppc-dis.c (print_insn_powerpc): Disassemble SPE2 and LSP insn
97319 zstd compressed sections, and I've deleted bfd_cache_section_contents.
97324 compress_status to COMRESS_SECTION_NONE, and clear
97366 For completeness sake and to avoid confusion about which of the two used strip
97384 and track explicitly loaded dynamic code.^M
97405 With test-case gdb.server/unittest.exp and host board local-remote-host.exp I
97435 With test-case gdb.server/stop-reply-no-thread-multi.exp and host board
97473 and according to https://stackoverflow.com/a/63241102 the behaviour we're
97476 The related host board local-remote-host.exp does use '-t', and the only
97496 With test-case gdb.server/stop-reply-no-thread.exp and host board
97505 The problem is that styling is enabled, and that is causing a regexp mismatch.
97509 execute runtest, and consequently the setenv) and the host (where we execute
97511 host, and the setenv has no effect.
97525 I looked at all the spots using value_mark, and converted all the
97533 When it's impossible to read the FPCCR and XPSR, the unwinding is
97567 PowerPC SPE disassembly and tests
97568 Where sub and subf forms of an instruction exist we generally
97570 machine subf instruction. Do so for SPE evsubw and evsubiw too.
97573 way to disassemble identical bytes back to different and original
97578 * testsuite/gas/ppc/spe.d: Expect evsubw and evsubiw rather than
97579 evsubfw and evsubifw.
97584 * ppc-opc.c (powerpc_opcodes): Move evsubw before evsubfw and
97585 evsubiw before evsubifw and mark EXT.
97590 It has bothered me for a long time that we have disabled LSP (and SPE)
97594 processors support both VLE and standard PPC) which we flag per
97598 Processing" support, examples being e200z215 and e200z425. As far as
97599 I can tell, LSP and SPE are mutually exclusive. This seems to be
97600 borne out by insn encoding, for example LSP "zvaddih" and SPE "evaddw"
97602 ppc_opts ought to have both PPC_OPCODE_LSP and PPC_OPCODE_SPE/2, if we
97607 Fix all this by moving the LSP insns to their own table, and add a new
97608 e200z2 cpu entry with LSP support, removing LSP from -me200z4 and from
97621 * doc/c-ppc.texi: Document e200 and lsp.
97626 * ppc-dis.c (ppc_opts): Add e200z2 and lsp. Don't set
97628 (ppc_parse_cpu): Mutually exclude LSP and SPE.
97634 * ppc-opc.c: Include libiberty.h for ARRAY_SIZE and use throughout.
97636 (lsp_opcodes): ..here, and sort.
97645 anyway, so get rid of them. Also, simplify and correct sanity checks.
97670 Drop the inactive and also unnecessary -Wl,-soname,${libname}.so from the
97678 With test-case gdb.base/infoline-reloc-main-from-zero.exp and target board
97702 With test-case gdb.base/infoline-reloc-main-from-zero.exp and clang I run into:
97742 current approach is to do the compilation hoping for the best, and if we find
97761 Factor out new procs with_PIE_multilib_flags_filtered and
97803 'H', 'Smstateen', 'Sscofpmf' and 'Sstc' are four privileged extensions with
97804 their CSR definitions and 'Smepmp' is a privileged extension with additional
97826 'Sscofpmf', 'Sstc' and 'Smepmp'.
97832 issues and improve readability.
97846 issues and improve readability.
97848 Since xlen variable is not (and should not) used outside riscv-dis.c,
97859 issues and improve readability.
97874 issues and improve readability.
97886 issues and improve readability.
97888 First, we need to clarify the roles of variables and code portions.
97967 all other PowerPC processors with and without hardware watchpoints
97979 With test-case gdb.dwarf2/macro-source-path.exp and target board unix/-m32, I
98003 Tested on x86_64-linux with native and target board unix/-m32.
98008 With test-case gdb.dwarf2/entry-value-typedef.exp and target board unix/-m32,
98027 Tested on x86_64-linux, using native and target board unix/-m32.
98032 With target board unix/-m32 and test-case gdb.mi/mi-disassemble.exp we have:
98049 and variable split_bytes (added debug puts) ends up as:
98058 and split_bytes ends up as:
98062 so the trailing whitespace is translated by split to empty bytes, and the
98066 and indeed longer insn:
98071 Tested on x86_64-linux, with native and target board unix/-m32.
98095 The patch has been tested on Power 9, Power 10 and X86-64 with no
98125 vox is missing (reported in PR29468), and
98131 - -Wl,--strip-debug, and
98132 we can make the test-case and some similar test-cases pass.
98146 STABS debugging information is obsolete and not supported anymore
98155 With test-cases gdb.base/cvexpr.exp and gdb.base/whatis.exp I run into:
98162 Commit ffb3f587933 ("CTF: multi-CU and archive support") replaced
98163 additional_flags=-gt with additional_flags=-gctf in gdb.ctf/*.exp and
98173 On openSUSE Tumbleweed (with ld 2.39) and test-case
98214 testsuite error to not be able to compile something, and UNTESTED or
98245 and in other cases, the issues were (maybe) less serious, with
98293 Also copy over config.acx.m4, and regenerate.
98298 There's a flaw in the interaction of the auxv caching and the fact that
98306 passing the executable and core file names directly to GDB, we see the
98318 But if we do it as two separate commands (file and core) we don't:
98353 core, and for that asks the gdbarch to read a target description from
98367 and where the cached data came from. So, you could read auxv from a
98368 target A, it gets cached, then you try to read auxv from a target B, and
98375 an inferior's target stack and those that read from a passed-in target.
98385 a handful of queries max, done at this point, and reading core files is
98391 target_ops and doesn't do caching (to be used in
98394 standard target function wrapper) and does caching.
98402 it. It still needs to take a target_ops and gdbarch to know how to
98406 data from the inferior's target stack and searches in it. This
98408 passed the `current_inferior ()->top_target ()` target and keep the
98411 - Modify parse_auxv to accept a target_ops and gdbarch to use for
98415 Changes in architecture-specific files (tdep and nat):
98417 - In linux-tdep, linux_get_hwcap and linux_get_hwcap2 get split in two,
98419 target and arch as parameters. The other gets everything from the
98423 - Call sites of linux_get_hwcap and linux_get_hwcap2 are adjusted to
98426 the passed-in target and call the linux_get_hwcap{,2} function with
98475 On the files generated by sim/common/genmloop.sh, variables pbb_br_type and
98476 pbb_br_npc are declared uninitialized and passed to other functions in some
98480 This commit ensures that pbb_br_type and pbb_br_npc variables are
98494 include/getopt.h, Clang generates a warning and the build fails by default.
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.
98507 getopt definition. If we could find one (and we *will* in most modern
98519 message and pass the message to sim_engine_abort function with another
98522 This patch is mostly authored by Andrew Burgess and slightly modified by
98534 Clang considers them as regular integer values (not boolean) and
98556 __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
98568 __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
98583 __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
98595 __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
98607 __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
98619 __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
98631 __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
98702 instruction class 'INSN_CLASS_ZMMUL' was added, and some existing
98705 The simulator doesn't currently handle this instruction class, and so
98708 This commit adds support for INSN_CLASS_ZMMUL, and adds a test that
98731 automake output) and adds the directory stamp file to DISTCLEANFILES to
98747 - the first one matching the echoed command and skipping an optional prefix,
98748 - the second one matching the output and the prompt.
98763 If we change the prefix string to a no-match, say "1 = ", and update the
98857 The diff above adds a delay between sending the command and consuming
98861 This is normally handled by using gdb_test_multiple and specifying a
98864 Therefore, add the -no-anchor-prompt option to gdb_test, and
98885 escapes, and gdb always prints these with "%.3o". Second, though,
98889 This patch fixes these problems and adds the appropriate tests.
98896 code to use gdb_iswprint, and removes a somewhat confusing comment
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
98971 This filename is visible in things like 'maint info symtabs' and
99005 generated correctly, and also checks that the in-memory JIT files can
99012 used; this argument had a default value of nullptr, and the only call
99016 gdb_bfd_open_from_target_memory function, and, though I could take
99072 will be, and reinflating has to be done manually using the reinflate
99073 method because the get method and the -> operator must not change
99085 7 different triggers, run, continue, step, backtrace, finish, up and down.
99090 Regression tested on x86_64, using both gcc and clang.
99107 The changed files were then manually checked and some 'sed' changes
99108 undone, some constructors and some gets were added, according to what
99109 made sense, and what Tromey originally did
99119 called, the list is traversed and all the pointers are invalidated.
99129 This replaces frame_id_eq with operator== and operator!=. I wrote
99185 is ever called externally, and it simply forwards to the other
99192 With native and target boards native-gdbserver, remote-gdbserver-on-localhost and
99211 and are due to the fact that the actual gdb output doesn't match the regexp:
99226 and because the regexp doesn't match, it triggers an implicit clause for
99232 - the silent fail by rewriting into a gdb_test_multiple, and adding an
99235 Tested on x86_64-linux, using native and aforementioned target boards.
99261 Tested on Ubuntu-22.04 x86_64 with and without libc6-dbg debug symbols
99292 Fix this by splitting cleanfiles up in cleanfiles_target and cleanfiles_host.
99302 WARNING: Skipping backtrace and break tests because of GDB stub.
99307 Tested on x86_64-linux with native and target board native-gdbserver.
99312 With target board remote-gdbserver-on-localhost and gdb.arch/i386-mpx-call.exp
99337 Tested on x86_64-linux, with native and target board
99346 Tested on x86_64-linux, with native and target board
99369 Tested on x86_64-linux, with native and target boards
99370 remote-gdbserver-on-localhost, native-gdbserver and native-extended-gdbserver.
99382 This patch tidies pe_bfd_object_p with the above in mind, and
99383 restricts the PE optional header SectionAlignment and FileAlignment
99391 * peicode.h (pe_bfd_object_p): Don't clear and test bfd_error
99393 FileAlignment and NumberOfRvaAndSizes. Don't return NULL on
99408 Read LSPEN, ASPEN and LSPACT bits from FPCCR and use them together
99421 an example) and then do "SVC #0"
99425 In GDB, suspend the execution in the SVC_Handler function and compare
99426 the value of the D-registers for the SVC_handler frame and the
99429 SVC_Handler frame, and the intermediate value (0x002..cee) for the
99431 SysTick_Handler frame and the main frame. The main frame should
99439 whether to issue the "cannot get low and high bounds for subprogram DIE at
99444 - factoring out new static function have_complaint from macro complaint, and
99466 the inferior stops, evaluates the condition, and then either stops or
99470 const, and add a declaration for find_loc_num_by_location.
99513 RISC-V: Print comma and tabs as the "text" style
99517 This commit splits those, making sure that those comma and tabs are printed
99522 * riscv-dis.c (print_insn_args): Split and print the comma as
99523 text. (riscv_disassemble_insn): Split and print tabs as text.
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.
99588 (typically via a macro) already in use in kernels and alike.
99594 [0x0000003b] Special opcode 115: advance Address by 8 to 0x401180 and Line by -2 to -1
99648 During symbol reading: cannot get low and high bounds for subprogram DIE \
99667 which does contain the low and high bounds.
99679 During symbol reading: cannot get low and high bounds for subprogram DIE \
99681 During symbol reading: cannot get low and high bounds for subprogram DIE \
99695 and foo2, with DW_AT_inline == DW_INL_declared_inlined:
99701 <11e> DW_AT_inline : 3 (declared as inline and inlined)
99755 [AArch64] Update FPSR/FPCR fields for FPU and SVE
99756 I noticed some missing flags/fields from FPSR and FPCR registers in
99757 both the FPU and SVE target descriptions.
99759 This patch adds those and makes the SVE versions of FPSR and FPCR
99771 bfd_is_section_compressed_with_header and add ch_type param
99774 (decompress_section_contents): Remove buffer and size params.
99804 debug info in sections starting with .gnu.debuglto_ prefix and are
99807 It's a mistake and we can save quite some disk space. The following
99889 incorrect because X registers are 64-bit and W registers are 32-bit.
99904 we need to setup/account for the real registers first before going ahead and
99928 'P'-extension proposal (CLROV and RDOV). This commit moves supervisor
99948 D::Bint::i, and GDB not being able to find the baseclass Bint.
99954 members or baseclasses by name, we check both the saved name and the
100012 returning -1 and setting errno to EINTR.
100050 115 passes, and thought everything had run correctly - though I was
100055 script, and finally, we use sed to extract the results from the
100108 all the tests, and finally we use find and dg-extract-results.py to
100109 combine all the separate .sun and .log files together. However, if
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
100122 out as a separate point, and
100125 just like we do for a parallel test run. This makes the parallel and
100126 non-parallel testing behaviour more similar, and I think is clearer
100129 Points (1) and (2) will be handled by moving the post processing steps
100131 deleting the gdb.sum and gdb.log files before running DejaGnu, this is
100162 Run the test case and you should see that the '+' character is
100163 underlined, and could be confused with a combined +/- symbol.
100166 and the '+' is actually being marked in the error style. The error
100167 style is red and underlined.
100193 Here I've added the call: lexer.add_filter('raiseonerror'), and I am
100194 now checking to see if the result is None or not. Running this and
100206 for its comment character, however, gas and libopcodes use '#' as the
100209 Unfortunately, Pygments expects ';' as the comment character, and
100223 1. Check the 'disassembly-flavor' setting and select between the
100224 'asm' and 'nasm' lexers based on the setting. If the setting is not
100229 and might be confusing,
100232 that will format '#' and all other text on the line, as a comment,
100233 and
100255 RISC-V, ARM, and X86-64 (att style) code, and it seemed fine, but I
100310 helper functions use_ext_lang_for_styling and
100313 2. Reorders gdb_disassembler::m_buffer and gdb_disassembler::m_dest,
100323 Pygments for styling, and
100325 5. When we reinitialise m_buffer, and re-disassemble the
100329 problem as we will only be using Pygments, and thus performing a
100343 check that the output is styled, and that the styling can be disabled
100361 and removes any code that checks the result against nullptr.
100369 gdbarch_register_name methods and removes all the remaining 'return
100376 either of these cases can occur, and the previous commit asserts that
100389 instances of 'return NULL' from csky_pseudo_register_name, and replace
100392 These two are particularly interesting, and worth pulling into their
100407 parameters, and the return value.
100410 by gdbarch.py, and so, to add these asserts, I need to update the
100413 I've added two new arguments for Functions and Methods (as declared in
100414 gdbarch-components.py), these arguments are 'param_checks' and
100421 passed in needs to be a valid cooked register number, and the result
100438 fixing, and I wanted to keep those fixes separate from the fixes in
100441 The problematic architecture(s) are powerpc:750 and powerpc:604. In
100444 powerpc-604.xml and powerpc-750.xml. Both of these later two xml
100452 gdbserver will never use these descriptions, and,
100455 tdesc_powerpc_604 and tdesc_powerpc_750, which are only mentioned in
100467 ::fetch_registers and ::store_registers methods will ignore the dabr
100471 each of powerpc-604.xml and powerpc-750.xml, then regenerate the
100477 gdb: add a gdbarch_register_name self test, and fix some architectures
100482 that failed the new selftest, and are updated in this commit.
100493 number less than zero, this case can't happen and could be changed
100497 various register_name methods, and remove all references to NULL from
100537 comment, and will even add the asserts shown above to
100549 registers' and the completion list for 'info registers'. The 'info
100559 The gdbarch_register_name API is not clearly documented anywhere, and
100564 nullptr and '\0' in order to see if a register is supported or not,
100565 and there are plenty of targets that return empty string in some
100566 cases, and nullptr in others.
100572 and user-registers), this means that gdbarch_register_name should not
100585 would absolutely work, and didn't actually feel that bad, but, it
100593 gdbarch_num_cooked_regs limit, and checks that the name is not
100601 registers that are not supported on the current target, and that
100609 and will fix the targets that fail the selftest.
100626 complete command output in a single expect buffer, and what I see is
100637 and discards the echoed command and the (optional) prefix pattern, the
100657 matching against 'output here\r' and the [\r\n]+ will match '\n' only.
100699 Additionally, I will make the mode optional, and default to mode 0 if
100707 equivalent to 'disassemble /b' and 'display' being 'disassemble /r'.
100710 is equivalent to modes 4 and 5. There is no way, using the new
100712 display, that is mode 1 and 3.
100714 My hope is that new users of the MI will not use the mode at all, and
100716 Existing MI users can continue to use the mode, and will not need to
100736 However, I believe, according to the 'Notation and Terminology'
100757 However, the 'Notation and Terminology' section only describes two
100758 uses for parenthesis: '( GROUP )*' and '( GROUP )+', in the first case
100759 GROUP is repeated zero or more times, and in the second GROUP is
100763 appear exactly once. I propose to extend 'Notation and Terminology'
100768 additional optional arguments to the -data-disassemble command, and
100812 the patch are grouped based on the size of the instruction, and are
100851 time. For x86-64, which never groups instruction bytes, /b and /r are
100866 behaviour or /r. I could have added /b with the new behaviour and
100872 always want to manually decode the instruction for some reason, and
100876 The 'record instruction-history' command also takes a /r modifier, and
100878 behaviour, and /b has been added to retain the old behaviour.
100894 then resized as needed, and filled with a single read_code call for
100908 first byte is from the lowest address, and subsequent bytes are from
100913 the disassembler output, and I want to ensure that I don't break any
100930 or 'Zfinx'). The same applies to "fmv.d" and "fmv.q". Note that 'Zhinx'
100949 RISC-V: Reorganize and enhance 'Zfinx' tests
100951 and reorganizes them, fixing coding style while improving coverage.
100980 Pre- and post-increment/decrement are side effects, the behavior of
100991 FENCE.TSO isn't an alias. ZIP and UNZIP in the long run likely are, but
101007 covering the differences between the default and that disassembly mode.
101013 rebuilt if missing, when at the same time i386-init.h is present and
101015 correctly (the &: rule separator is supported only by GNU make 4.3 and
101049 Excessive use of IgnoreSize and NoRex64 as well as the ToDword and
101055 As a result ToDword and ToQword can be dropped entirely, plus a fair
101056 number of IgnoreSize and NoRex64 can also be got rid of. Note that
101065 and Q suffixes there, despite the inconsistency with VCVT{,T}S{S,D}2SI.
101087 …Arch-Documentation/blob/main/docs/LoongArch-ELF-ABI-EN.adoc#e_flags-identifies-abi-type-and-version
101148 'Svnapot' and 'Svpbmt' extensions.
101178 [gdb/c++] Print destructor the same for gcc and clang
101191 and with clang++ (13.0.1):
101201 and we observe that the destructor is printed differently.
101204 there's one artificial parameter, but in the g++ case, there are two, and
101229 - in the clang case, the loop is not entered and we print "void".
101230 - in the gcc case, the loop is entered, and nothing is printed.
101235 - keep track of how many arguments are printed, and
101237 such that we have the same for both gcc and clang:
101263 gdb: make target_auxv_parse static and rename
101303 and rs6000-tdep.c.
101305 Patch tested against the sourceware trybot, and fully regression tested against
101307 and powerpcle.
101322 files in this directory. Namely, arm-secext.c and sparc{32,64}-solaris.c. For
101332 Add -B to the help output from gprof, and add suitable documentation.
101385 to -lz, in GDB_AC_CHECK_BFD, and regenerating gdb/configure.
101402 discrete type, and adds some tests.
101404 Because this is Ada-specific and was also reviewed internally, I am
101423 * testsuite/ld-elf/elf.exp (PR ld/29072): Force execstack and
101458 and --reduce-memory-overheads options.
101461 --hash-size, and --reduce-memory-overheads options.
101467 egrep is deprecated and to use "grep -E". The nag message causes a ld
101475 * lib-ld.m4 (AC_LIB_PROG_LD_GNU): Require AC_PROG_EGREP and
101559 auto. If pkgconfig/libzstd.pc is found, define HAVE_ZSTD and support
101564 * ld: support ELFCOMPRESS_ZSTD input and --compress-debug-sections=zstd
101566 --decompress-debug-sections and --compress-debug-sections=zstd
101603 Patches that renamed the type::length and type::target_type fields
101621 We can avoid this and modernize the test at the same time by using the
101642 At this time, GDB is actually processing the stop and reading in some
101647 timeout for the whole duration of the setup and body. On my optimized
101715 nearest_line code of that sanity checking, and tidies up memory
101729 PKG_CHECK_MODULES for msgpack and jansson
101759 With libstdc++.so.6.0.28 we get no out-of-bounds checks and the byte
101761 value of this byte depends on heap implementation and usage, but when
101769 The testsuite has been run before and after the change and no
101793 and "program header with invalid alignment". The problem with doing
101798 but this object was contained in an archive and resulted in 4975776
101850 Support AT_USRSTACKBASE and AT_USRSTACKLIM.
101855 This change displays the proper name and description of these entries
101862 ("wrs.nto" and "wrs.sto" instructions).
101870 The test gdb.tui/tui-missing-src.exp fails on my CI machine, and I
101876 shorter directories, and causes a Term::command call to return too
101928 "Delete Line" operation [1] and some new ones are drawn. The source
101932 "check if inside f2" and "f2.c must be displayed in the source window"
101993 partially updated screen (what is shown above) and obviously fail.
101999 due to the directories (source and build) in which tests are ran. TUI
102007 Doing this happens to fix my failures and makes my CI happy (which in
102013 the problem and we can work on getting it fixed more easily than if just
102037 entries in the htab pointing at freed and perhaps reused memory,
102055 sections from compression and decompression.
102073 and has default_target_compile call `find_gcc` itself to find a compiler
102083 In this situation, no one sets the C compiler for the board and as a
102084 result many test are not compiled and not executed:
102087 Running .../gdb/testsuite/gdb.base/bt-on-error-and-warning.exp ...
102107 it and does not need `find_gcc`.
102109 Patch tested on x86_64 RHEL-9 and ubuntu-20.04 on top of GDB and ROCgdb.
102125 The 'th' prefix and the "XTheadMemPair" extension are documented in a PR
102141 this shift visible in the dissasembly and support such artificial
102155 The 'th' prefix and the "XTheadMemIdx" extension are documented in a PR
102178 The 'th' prefix and the "XTheadFMemIdx" extension are documented
102194 The 'th' prefix and the "XTheadMac" extension are documented
102210 The 'th' prefix and the "XTheadCondMov" extension are documented
102226 The 'th' prefix and the "XThead{Ba,Bb,Bs}" extension are documented
102237 encoding formats. The formats have the form "XsN@S" and "XuN@S" with N
102238 being the number of bits and S the LSB position.
102241 and is stored in the bits 24-20 of the instruction word can use the
102255 The 'th' prefix and the "XTheadSync" extension are documented in a PR
102271 The 'th' prefix and the "XTheadCmo" extension are documented in a PR
102312 * Add MATCH*/MASK* constants and DECLARE_INSN() for all instructions
102325 - easily get the number of CUs or TUs in all_units, and
102345 * sh-dis.c (print_insn_sh): Enforce bit7 of LDC Rm,Rn_BANK and STC
102353 the code is auto-generated and we have no ways to deal with it.
102369 if we have specified "-Werror" and we have no control to disable the warning
102410 window name could be printed and ensure that the use of a space didn't
102415 and I wondered if this was a good idea.
102426 rules in place, and then relax the rules later if/when users complain,
102445 this from other tests and have them working with clang.
102448 epilogue that ends on another epilogue, and epilogues leading to other
102490 would not be easy to test for this behavior using steps and analzing
102493 into baz and rendering the whole test useless. Instead, skip.exp now
102494 uses finish to leave functions, synchronizing through compilers and
102522 (gdb) PASS: gdb.base/skip.exp: step after disabling 3: step and skip baz
102630 the linker and the assembler we want to test.
102675 - Vf, Ve : Used by vector AMO instructions (not ratified and real
102678 and a vendor may use this symbol for special purposes.
102694 Although they are not (and should not be) reachable, following macro-only
102695 operands are parsed in the `validate_riscv_insn' function and ignored.
102706 - "c" (used by call, tail and jump macros)
102707 - "VM" (used by vmsge.vx and vmsgeu.vx macros)
102712 * config/tc-riscv.c (validate_riscv_insn): Add "c", "VM" and "VT"
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).
102768 gdbsupport: move fileio_errno_to_host to fileio.{h,cc} and rename
102769 gdb_bfd.c and remote.c contain identical implementations of a
102790 remote side replies with an error and omits the errno value, we'll get
102793 be, so I prefer to err on the side of caution and just keep the existing
102801 Convert host_to_fileio_error and fileio_errno_to_host to return / accept
102802 a fileio_error instead of an int, and cascade the change in the whole
102811 installed by "make install", and it's not included by anything outside
102853 This macro accesses indices 0 and 1 of the input string. However, `f`
102865 the past) I can do it and use it here.
102882 Add the `length` and `set_length` methods on `struct type`, in order to remove
102900 Add the `target_type` and `set_target_type` methods on `struct type`, in order
102922 Allow and ignore an empty section.
102950 Compilers may not provide the attribute on functions and variables,
102952 variables and functions. Without DW_AT_linkage_name, mangled object
102958 DW_AT_name. Class and template parameters must be stripped at
102962 if the DWARF address matches the symbol address, and if the symbol
102980 and check "file" is set.
102986 non_mangled incorrectly returned "true" for Ada. Correct that, and
102996 dwarf2.c remove varinfo and funcinfo sec field
102997 The "sec" field in these structures is only set and used in lookup
103020 need to set proper CPPFLAGS_FOR_BUILD (may be empty) and pass it to
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
103109 to previous errors from layout, and don't try to write them.
103125 their use a little more obvious (they can't be mutated) and also
103129 This changs solib_ops to be an ordinary gdbarch value and updates all
103130 the uses. This removes a longstanding FIXME and makes the code
103142 setup, starts debuginfod, and then does the testing.
103149 adjustments to try and make the code a little more generic.
103156 code, and this test is still passing for me. The only change in the
103162 script, updating and adding new comments, and making use of
103194 during the linking process and the resulted executable suddenly crashes
103207 we actually trigger a heap-buffer-overflow: If a and b are different
103209 from a)" because "a->contents" and "b->contents" are heap buffers
103242 Tested on x86_64-linux with gcc 12 and clang 14.
103272 lnp_state_machine::check_line_address, but also prevents the file and dir
103295 I've tested this test for both 32- and 64-bit ELF files and also
103296 on both little endian and big endian machines. It also works for
103297 both native and remote targets. The only major restriction is that
103353 Fix the complaint by handling DW_TAG_unspecified_type in new_symbol, and verify
103356 Tested on x86_64-linux, with gcc 7.5.0 and clang 13.0.
103374 Fix this and similar cases, and expand the test-case to test handling of
103411 and therefore the breakpoint is printed without instruction address.
103442 Tested on x86_64-linux and aarch64-linux.
103457 - gdb detects the stdin event, and calls rl_callback_read_char until it
103461 - expect sees the bell, and proceeds to send ^C
103462 - readline is still in the call to rl_callback_read_char, and stores the
103492 * config/tc-ppc.c (ppc_force_relocation): Add PLT_PCREL34 and
103530 unused) and removes others.
103550 * pe-dll.c (generate_reloc): Remove unused bi and page_count
103564 pwrite64 are macros and getcontext() is absent on musl.
103602 uses the previous element offset to find its header, and thus the next
103604 will get stuck. This patch rejects such archives, and any with
103609 overlap each other or the file and archive headers.
103705 We are way off in the weeds with this one, and will be printing
103731 might_need_separate_debug_info and dump_any_debugging. This helps
103739 epilogue information and that GDB would stop in the } line. This would
103755 regardless of compiler choices, and updates the exp file to
103771 test, and if the line is not found, a single FAIL is emitted.
103781 libraries and let an external debug package have this information.
103794 the compiler has added information about stderr at all, and abort
103808 GPR, PC, EPC, PSR and EPSR when the "info register" command
103811 A prev patch has added PC, EPC, PSR and EPSR to reggroup
103846 gprs, pc, hi, lo, float, vector and float control registers.
103901 ppc: Document the -mfuture and -Mfuture options and make them usable
103902 The -mfuture and -Mfuture options which are used for adding potential
103953 These symbols are local static variables, and "main" is the name of
103998 instead of assuming the ordering and naming of symbols.
104014 Add more verbose comments about parameters, and about insertion
104017 Generally use unsigned integers for all array indices and sizes.
104021 and unsigned.
104023 Simply use xrealloc instead of a check and xmalloc/xrealloc;
104024 xrealloc can take NULL as the first parameter (and does a similar
104034 This is done in the same way as is done for exports and imports
104051 When running selftest run_on_main_thread and pressing ^C, we can run into:
104118 ELFv2 ABI, a function can have a global and local entry point.
104124 Fix this by reverting commit cd919f5533c, and setting the breakpoint on
104127 Tested on x86_64-linux and ppc64le-linux.
104153 Tested on x86_64-linux, with both gcc 7.5.0 and clang 13.0.0.
104162 and libopcodes).
104180 and are preemptible by default. These symbols cannot be referenced by the
104181 non-pic R_RISCV_JAL and R_RISCV_RVC_JUMP. However, consider that linker
104185 R_RISCV_BRANCH and R_RISCV_RVC_BRANCH relocations.
104187 After applying this patch, and revert the following glibc patch,
104202 makeing a shard object, and the referenced symbols of R_RISCV_JAL
104205 R_RISCV_JAL and R_RISCV_RVC_JUMP.
104244 - marking the type as a stub for all languages, and
104282 Not only that the most of vector CSRs are general purpose (and must be
104315 This patch was tested on Power 9, Power 10 and X86-64 with no regressions.
104344 intended and fixes the build problem.
104363 directory and filename tables.
104371 [gdb/testsuite] xfail gdb.ada/O2_float_param.exp for aarch64 and gcc 7.5.0
104385 Xfail the test for aarch64 and gcc 7.
104387 Tested on x86_64-linux and aarch64-linux.
104411 The amd64_skip_prologue implementation doesn't use gcc line numbers, and falls
104434 and which are represented like this internally in gdb:
104470 Tested on x86_64-linux and aarch64-linux.
104480 - Adjusted code to use templated type and to use host endianness as
104483 The arm record tests handle 16-bit and 32-bit thumb instructions, but the
104488 16-bit parts are stored and how they are accessed later on. Arm is
104490 --enable-targets=all and on a big endian host will run into the following:
104493 Process record and replay target doesn't support syscall number -2036195
104498 be, and we can simplify the code a bit by assuming we have a simple instruction
104503 read. This way we avoid having to deal with the endianness conversion, and use
104609 There is a portable mechanism for disassembler options and used on some
104672 - changing the check condition to "per_bfd->types.size () > 1", and
104707 There is a portable mechanism for disassembler options and used on some
104789 binary, that is, the standalone simulator, and is not included in the
104796 one in sis.c, and one in interf.c, both of these copies are global.
104802 changing the order in which symbols were loaded, and the linker was
104807 slightly different copies of run_sim, and just use the one copy. Then
104808 we could safely move fprintf_styled into interf.c too, and all would
104816 fprintf_styled, one in sis.c, and one in interf.c. Unlike run_sim,
104821 I am very aware that this is not an ideal solution, and I would
104823 properly, and then cleanup the fprintf_styled duplication.
104838 in generation of wrong relocations for TLS entries. Fix that and add
104885 This patch makes possible to print the highest address (-1) and the addresses
104887 address space is used for I/O registers and corresponding symbols are defined.
104912 If either the base register is `zero', `tp' or `gp' and XLEN is 32, an
104973 dllwrap, windres and dlltools use mktemp, which should be avoided
104983 Document the Guile `#:unlimited' keyword and deprecate the internal
104994 …ython-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal …
104998 …ython-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal …
105002 …ython-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal …
105008 The distutils module is deprecated as per the PEP 632[1] and will be
105019 Tested on ubuntu-22.04 and ubuntu 20.04.
105063 gdb_setup_readline makes new streams and assigns to the various stream
105065 values to leak. As far as I can, this code is simply unnecessary and
105070 tui_out_new is just a simple wrapper for 'new' and can be removed,
105082 These members of mi_interp aren't used and can be removed.
105089 moment" comment. These comments aren't useful and I think the moment
105093 This changes ui_out_redirect_pop to also perform the redirection, and
105102 This patch removes some dead code and an old FIXME. These no longer
105113 gdb/riscv: better support for fflags and frm registers
105114 First, some background on the RISC-V registers fflags, frm, and fcsr.
105116 These three registers all relate to the floating-point status and
105118 status register, and consists of two parts, the flags (bits 0 to 4)
105119 and the rounding-mode (bits 5 to 7).
105122 CSRs) available on RISC-V. The fflags and frm registers are also
105124 register. So fflags is an alias for bits 0 to 4 of fcsr, and frm is
105132 legitimately include all three registers, fcsr, fflags, and frm. The
105133 QEMU target currently does this, and this makes sense. The target is
105134 emulating the complete system, and has all three CSRs available, so
105139 for reading and writing floating point state only contains a copy of
105141 and frm fields, so why carry around duplicate data.
105149 include an entry for fcsr, fflags, and frm. This means that GDB
105150 expects the target to handle reading and writing these registers. And
105153 In riscv_linux_nat_target::store_registers and
105155 handled, this means that, for RISC-V native Linux, the fflags and frm
105170 unreasonable to me, and so I had GDB check for these registers in
105176 1. Remove fflags and frm from 32bit-fpu.xml and 64bit-fpu.xml. This
105178 FreeBSD), and the target descriptions created for RISC-V native Linux,
105182 registers, and will handle them correctly if they are present.
105184 2. If a target supplied fcsr, but does not supply fflags and/or frm,
105187 obvious thing of just reading and writing the fcsr register.
105190 register numbers RISCV_CSR_FFLAGS_REGNUM and RISCV_CSR_FRM_REGNUM.
105194 this I've added riscv_gdbarch_tdep::fflags_regnum and
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
105220 register was found and assigned a particular GDB register number once
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
105235 registers, $fflags, $frm, and $fcsr, with the last of these being the
105238 Here's how the bits of FCSR are split between FRM and FFLAGS:
105253 Notice the 'RD' field which is present in both $fflags and $fcsr.
105267 See how the 'RD' field in $fflags still displays 0, while the 'RD' and
105291 Checking the manual I can see that the FRM field is 3-bits, and is
105308 0x7 (dynamic rounding mode), and indeed, section 11.2, "Floating-Point
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
105311 _its_ round-mode set to dynamic, and the FRM field is also set to 0x7,
105316 "INVALID[5]" and "INVALID[6]" for the two other invalid fields,
105322 slight oddity with this test - for the fflags and frm registers, the
105332 A later patch in this series will address this issue, and will remove
105347 I will reiterate the problem a bit and give some more information here.
105363 So the DW_AT_name attribute for DW_TAG_template_type_parameter and
105378 of the template tag within the unnamed template tags and returns
105381 (these are the only currenltly supported template kinds within GDB and
105399 'A' and 'C' makes clang emit a bunch of template tags without names:
105425 tag DIEs and thus lose knowledge about them. Breaking at the return
105426 statement and printing f's type would read
105444 way to trigger and test this changed behavior. Template functions do
105445 not emit a '[with...]' list and their name generation also does not
105447 not a template tag has a name in 'dwarf2_compute_name' and thus, the
105450 been added in the gdb.dwarf2 for template classes and structs.
105465 c_type_print_args on C++ functions and append their arguments to the
105482 which is legal in both languages, C and C++, and compiling it with
105519 Now, let's rename the C++ file and compile it as C:
105552 To make the macro and proc work with C++ as well, an optional argument
105599 and it contains .idata sections, assume that that member is a
105600 Microsoft import file, and apply the renaming scheme.
105604 names), and vastly simplifies the code.
105606 LLVM generates Microsoft style import libraries, and Rust builds
105613 gdbsupport: add wrapper around result_of and invoke_result
105635 C++17 and removed in C++20:
105641 for C++ >= 17 and std::result_of otherwise. This way, it will be easy
105644 Tested by building with gcc 12 in -std=c++11 and -std=c++17 mode, and
105653 GDB overwrites Python's sys.stdout and sys.stderr, but does not
105665 BFD library: Use entry 0 in directory and filename tables of DWARF-5 debug info.
105699 Running configure and make in binutils-gdb.
105719 (a subset of 'M' which has multiply and divide instructions).
105799 It would be nice to instead reject the .debug_names index, and build a
105811 I tried out the script gdb/gdb_mbuild.sh, and ran into:
105855 out_inc_line_addr and relax_inc_line_addr are passed INT_MAX as
105857 size_inc_line_addr and emit_inc_line_addr. Pass line_delta on to
105887 I get this error when building with Clang 14 and -std=c++11:
105916 Add two macros to gdbsupport/common.m4 and use them in gdb/configure.ac
105920 actually). There are changes to the --enable-source-highlight and
105930 The fail was due to -Werror and headers included by dlfcn.h and
105931 elf-bfd.h disagreeing about AT_DCACHEBSIZE and other AT_*. Not a
105933 enable -Werror and the defines are not used. Anyway, reduce the
105949 Tom Tromey and ensures that the 'help some-user-documented-alias'
105969 Temporarily set SETTING to VALUE, run COMMAND, and restore SETTING.
105986 When a user-defined alias is documented specifically, help and apropos
105991 aliased command, and the alias is not listed anymore in the help
106089 when stubs are too far away and when R_AVR_LDS_STS_16,
106182 SHT_RELR sh_link and sh_info
106202 contents, and add another assertion.
106211 (usage): Mention --deterministic-libraries and
106246 This patch implements the worker thread and moves the necessary
106288 one test using label is unsupported, and another two test
106311 this crash. This patch fixes the problem and also changes
106313 the Python error is set when it fails, and the callers now simply
106326 are read from the bfd by _bfd_generic_link_add_symbols, and global
106330 bfd_get_relocated_section_conents, and also not by most target
106337 Also, symbols are canonicalized and written into a malloc'd buffer.
106346 Minor tidy of bfd_get_relocated_section_contents and
106356 Use CC_FOR_TARGET and CFLAGS_FOR_TARGET rather than CC and CFLAGS.
106371 needed, and that currently require explicit calls in gdb_init. This
106407 Callfuncs.exp is impacted and won't run due to new warnings:
106410 deprecated in all versions of C and is not supported in C2x
106430 This patch adds the same option that already exists for clang for icx and
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.
106508 Fix this by calling check_typedef on both type and subobj_type at the
106513 path (value_of_dwarf_reg_entry and all) to manage to get to
106523 and aarch64, I added versions of the test for these two architectures.
106535 The function has no prologue though, and it only loads the volatile variable
106542 a couple instructions and leaves us in a nice spot where the address to the
106550 This changes how bookmarks are allocated and stored, replacing a
106551 linked list with a vector and removing some ALL_* iterator macros.
106560 It also checks that the vg register and the size of the z0-z31 registers
106622 As Insight uses a GUI that has its own event loop, gdb and GUI event
106625 loop and thus may wait forever.
106628 Insight uses Tck/Tk as GUI and the latter offers a "notifier" feature to
106633 it would become an event by itself and thus can cause a legitimate event to
106643 the implemented timeout logic and the event wait is then performed.
106644 This "internal" timer only limits the wait time and should never be triggered.
106659 just once on the first insn after .arch may have changed the things, and
106705 mmo_get_loc needs to handle arbitrary vma and size chunks. Fuzzers
106730 ___lc_codepage_func was missing and trying to build BFD caused the
106743 bytes. Define MAX_OPERAND_BUFFER_SIZE for operand buffer size and
106769 and was then running to an unexpected location.
106777 account, as a result, the $fp register was being corrupted, and this
106782 above bit 31 then the computed and expected frame-ids would not match.
106785 and making use of preprocessor macros to specialise the file for the
106794 With this change in place I now see this test fully passing on 32 and
106824 strwinerror from gdbserver to gdbsupport, and then updates
106826 (constify the return type and use the ARRAY_SIZE macro) are also
106840 2) Those inline functions catch and avoid arithmetic overflows when
106845 test, and use is_note rather than the more restrictive
106850 section seemingly didn't fit and thus needed a new mapping. It didn't
106851 fit the new mapping either, and this repeated until memory exhausted.
106872 certain patterns. Introduce "xy" and "xyz" templates to reduce
106875 To facilitate using a uniform name for both AVX and AVX512, further
106880 to separate AT&T and Intel syntax forms, matching VFPCLASSP{S,D} and
106893 when matching insns against templates and (b) its Load attributes
106918 {,V}PEXTRQ, and {,V}PINSRQ are useful to keep),
106920 KMOVD and VPBROADCASTD; it didn't seem worth avoiding this.
106928 AVX512F and AVX512-FP16, introduce an "sdh" template.
106940 necessary for VMOVSD, and necessary for VMOVSS as long as we permit
106942 - VFPCLASSPH is properly split to separate AT&T and Intel syntax forms,
106976 gdb/csky add unwinder for sigtramp frame when kernel 4.x and later
107001 gdb/riscv: improve a comment about fcsr, fflags, and frm registers
107003 about how we check for the fcsr, fflags, and frm registers within a
107006 This comment (and the functionality it describes) relates to how QEMU
107009 Unfortunately, QEMU includes these three registers in both the fpu and
107011 the register declarations, and ignores the other, this means the GDB
107012 user sees a single copy of each register, and things just work.
107049 out to be relatively easy to remove this method from breakpoint and
107081 readelf: print 0x0 as 0, and remove trailing spaces
107087 This replaces dwarf_vma, dwarf_size_type and dwarf_signed_vma with
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
107092 PRIx64, PRId64 or PRIu64. Printing of size_t and ptrdiff_t values
107093 now use %z and %t rather than by casting to unsigned long. Also,
107094 most warning messages that used 0x%lx or similar now use %#lx and a
107101 unconditionally, removes tests of BFD64 and sizeof (bfd_vma), and
107104 Don't use bfd_size_type in readelf.c and dwarf.c
107112 tests of sizeof (elf_vma), and does a little tidying of
107113 byte_get_little_endian and byte_get_big_endian.
107140 prologue skipper starts at 0x4004c0 and skips past two insns, to 0x4004c4:
107162 address, both when setting it and hitting it.
107169 due to the architecture-specific prologue skipper starting at 0x400610 and
107185 wrong. There is no prologue, and the breakpoint should be set at 0x400610.
107193 and make the test-case independent of prologue analysis.
107232 In the testcase, a varobj is created to track a global variable, and
107256 have a consistent behavior between PIE and non-PIE binaries.
107271 contains valid references and there is no reason to invalidate it.
107273 This patch proposes to remove this unnecessary invalidation and adds a
107277 At this point the varobj_invalidate and varobj_invalidate_iter seem
107278 misnamed since they deal with re-creating invalid objects and do not do
107311 svstep and svshape instructions subtract 1 before encoding some of the
107321 This patch adds support for LibreSOC machine and SVP64 extension flag
107325 Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
107338 will cause GDB to print an error and/or abort unwinding of the frame as
107349 The associated assembler directives (.vtable_inherit and .vtable_entry)
107410 In both the =breakpoint-modified and -break-info output, we have:
107414 According to the output syntax [1], curly braces means tuple, and a
107426 - Add a fix_breakpoint_script_output_globally variable and the
107462 Without this method GDB will try to write to x0, and relies on the
107467 The gdb.arch/riscv-reg-aliases.exp test exercises writing to x0, and
107473 With a recent import of gnulib, code has been pulled that tests and enables
107476 Although gdb can use the gnulib support, bfd doesn't use gnulib and currently
107480 have a mismatch between gdb's notion of time_t and bfd's notion of time_t.
107483 corruption and crashes.
107490 I'm not sure how important it is to have this support enabled and how soon
107508 post-process .debug_info contents between resolving expressions and
107519 only for ppc64 and a couple only for ppc32.
107527 handling for relocs not valid for both 32-bit and 64-bit.
107533 pei-loongarch64. This is not a full target and only exists to support EFI at
107536 This means that this target does not support relocation processing and is mostly
107640 converted to floating point format and stored in the register. Prior
107641 to the above commit printing with /x and /d would first extract the
107642 value as a float, and then convert the value to an integer for
107644 when displaying /x and /d, and so we see this behaviour:
107726 symbols and memory. One of those call backs is pdc_read_data.
107728 Before we come into aix-thread wait() we switch to no thread and
107761 replaces 0 with RISCV_ZERO_REGNUM and 32 with RISCV_PC_REGNUM in a few
107771 NoRex64 and in exchange drop Size64.
107782 While the other three variants each differ in attributes and hence can't
107783 be folded, these two pairs actually can be (and were previously
107831 I managed to reproduce the bug with a riscv-elf build and then
107844 took 2.071s and I noticed quite some time is spent in
107870 The following scan can be replaced with search in a splay tree and with
107871 that I can get to 1.5s and there are other symbols where the difference
107889 dwarf: use find_abstract_instance for vars and DW_AT_specification
107964 gdb/csky support .reg2 for kernel 4.x and later
107979 corresponding VRx. So fr0~fr15 and vr0~vr15 regisetrs use the same
107998 Fix this by removing the initialization and handling regs.last == nullptr in
108044 - support for a per-module .debug_names section in the dwarf assembler, and
108050 (typically the case on openSUSE), and
108054 main), and
108094 section and not terminated, we run off the end of the buffer.
108115 much extra and clear. Update all callers, those that set up
108131 * section.c (bfd_set_section_alignment): Return false and
108155 Remove the BFD_VMA_FMT defines in bfd.h and configure support.
108166 Don't use BFD_VMA_FMT in gdb and sim
108168 PRIx64 and casts to promote bfd_vma to uint64_t. The one file using
108169 BFD_VMA_FMT in gdb/ instead now uses hex_string, and a typo in the
108218 readable and maintainable, and avoids macrofying functions.
108228 Ensuring a fair distribution over the worker threads and main thread in terms
108242 and without the patch got:
108255 and with the patch:
108282 and with the patch:
108299 Add a task_size parameter to parallel_for_each, defaulting to nullptr, and use
108339 Tested by building with GCC 9.4, Clang 10, and GCC 4.8.5, on x86_64
108340 GNU/Linux, and running the unit tests.
108353 current simple checks. Fix that, and use the same check in other
108397 mixed numeric and alpha values.
108415 and I miss similar functions in gdb.
108417 Add functions to dump variables of types 'value' and 'expression':
108418 - debug_exp, and
108421 Tested on x86_64-linux, by breaking on varobj_create, and doing:
108430 and:
108446 If the jansson library is available at build time (and it is explicitly
108447 enabled), link ld to it, and use it to validate that the input is
108457 * Makefile.am: Add jansson flags and libraries.
108474 There is more work to be done to actually support compression and
108498 differentiated between pre- and post-initialization setup. This
108509 Use new and delete for gdbarch
108510 This changes gdbarch to use new and delete.
108541 - gdb fails to set a hw watchpoint and instead sets a sw watchpoint
108566 and verifying that it triggers the fail.
108596 - fixing the support for the first insn to extract the immediate operand, and
108618 PRIu64, PRIx64 or PRIo64 and SCN variants for scanf. The patch is
108625 Re: Get rid of fprintf_vma and sprintf_vma
108630 16 digits when BFD64 and 8 digits when not. Besides that, it is nicer
108705 destruction of the BFD reference (and thus the per-bfd object) until
108719 …Fix a conflict between the linker's need to rename some PE format input libraries and the BFD libr…
108759 Tested by rebuilding on x86_64-linux with clang 15 and gcc 12.
108774 distinguish between varobj referring to globals and non globals.
108788 "If both the pointer operand and the result point to elements of the
108802 - Drop the rounding type check: We're past template matching, and none
108816 has also been used for KMOV* and BNDMOV. Then simplify the condition
108839 comments and callers were all updated for this change, but the actual
108843 Current callers of this only checked the value against 0 and thus
108852 the relocations. The respective checks in assign_section_numbers() and
108864 In aarch64_tls_transition_without_check and elfNN_aarch64_tls_relax we
108871 shared library, and if that happens on a local symbol then we currently
108873 since we only relax an access if aarch64_can_relax_tls returns true and
108875 happen when we have seen both an IE and GD access on the same symbol.
108880 and known to be located in the executable. This happens on all global
108885 to local-exec if we are creating an executable and the relevant symbol
108897 such symbols and relax their accesses to a local-exec access.
108904 1) When in a shared library and accessing a symbol which we have already
108906 2) When in an executable and accessing a symbol defined in a shared
108918 it included a general dynamic access to both a local and global symbol
108919 and inspected for the difference accordingly.
108923 ld: aarch64: Update test linker scripts relocs.ld and relocs-ilp32.ld
108926 RWX segment and avoid the corresponding warning.
108953 DWARF register names" in [1])so ra_auth_code goes from 12 to 143 and
108979 [2] <https://developer.arm.com/documentation/dui0473/j/arm-and-thumb-instructions/push>
108987 (s_arm_unwind_save): Handle core and pseudo-register lists via
108998 and "corrupt unwind data" warnings, and refuses to dump that info. It
109044 assert that all_comp_units should not contain duplicates, and
109061 This syntactic sugar is present in both classical and emerging
109062 architectures, like Alpha, SPARC and RISC-V, and assembler macros
109065 assembler so downstream users wouldn't have to re-invent this over and
109074 sorted in ascending order according to opcodes, and the label form
109079 Get rid of fprintf_vma and sprintf_vma
109081 hex number. Unfortunately they depend on both target and host, which
109088 disassembly which I think looks better that way, and in error
109090 and in PE header dumps.
109179 choosing one of "l", "ll", or "I64" for BFD_VMA_FMT, and results in
109240 and so in processInt we hit the fits-in-unsigned-long-long case where we use
109256 and so in processInt we hit the fits-in-unsigned-long case where we use
109277 different file and directory paths in the line header. For example:
109288 Add both a DWARF assembler-based test and a regular test. The DWARF
109290 have observed some specific versions of gcc and clang generate. We want
109302 the new procs is based on what was done for rnglists and loclists.
109329 and DWARF v2 line table with:
109354 a quick hack to make one specific case work, and we have a more general
109370 gdb: add "id" fields to identify symtabs and subfiles
109435 find the appropriate macro scope for the symtab, and we can't print
109467 objects and symtab objects use the most complete form of path possible.
109474 lets the user control how they want the paths to be displayed, and that
109481 "filename_for_id" in struct symtab and struct subfile, next to the
109484 used for identifying subfiles, symtabs and macro_source_files
109493 - Add "name_for_id" and "filename_for_id" fields to "struct subfile"
109494 and "struct symtab", next to existing "name" and "filename" fields.
109495 - Make buildsym_compunit::buildsym_compunit and
109501 subfile successfully, and avoid relying on
109505 lookup work and macro printing work.
109547 As we can see, there are two forms used for "test.c", one with a "." and
109554 without a ".", and the line table for that file contains:
109566 identical paths in the compilation unit and in the line table header.
109640 and no DW_AT_comp_dir. The line table has one entry with filename
109645 This caused some symtab lookup problems, and to work around them, some
109657 DW_AT_comp_dir and DW_AT_name is absolute.
109660 "/dir/d/dw2-compdir-oldgcc42.S", from DW_AT_name, and another would get
109662 file table. Then watch_main_source_file_lossage would kick in and merge
109675 find_file_and_directory, both DW_AT_name and the line table would try to
109676 start a subfile with the same filename_for_id, and there was no need for
109686 from DW_AT_name, gets created first, it wins, and the symtab ends up
109688 "/dir/d/dw2-compdir-oldgcc42.S" and the test breaks.
109694 least with GCC) "/an/absolute/path.c" and GDB tells you that the source
109708 "dw2-compdir-oldgcc42.S", and that makes the test happy.
109743 by adding a constructor that takes it as a parameter, and passing the
109761 Introduce symtab_create_debug_printf and symtab_create_debug_printf_v,
109784 - first printing the value, and then
109789 from convenience variable") and observing the test-case fail.
109791 Tested on x86_64-linux and aarch64-linux.
109800 relax_delete_bytes also modifies relocs and syms, so they should be
109805 (elf32_avr_relax_section): Cache contents, relocs and syms
109817 opcodes/aarch64-dis.c and opcodes/aarch64-opc.c.
109821 and assembler directives (e.g. '.byte', '.word', etc). Some operands,
109829 this function is in aarch64-opc.c, and converts an instruction operand
109834 quite complex, it will include syntax elements, like '[' and ']', in
109835 addition to register names and immediate values. In some cases, a
109851 structure contains a callback function and some state.
109857 aarch64-dis.c we can spot these special style markers and use this to
109858 split the disassembler output up and apply the correct style to each
109863 functions formats a piece of text in a different style, 'register' and
109875 add styling to the assembler output, and so, the callback function
109876 used in the assembler ignores the styling information and just returns
109880 and have manually gone through and checked that the styling looks
109890 …Stop the linker from complaining about unrecognised DW_FORM-rnglistx and DW_FORM_loclistx format a…
109892 * dwarf2.c (read_attribute_value): Handle DW_FORM_rnglistx and
109919 the original change and instead check whether a relocation cannot be
109923 respective testcase) will now be evaluated, and hence relocations
109925 the equates aren't global (and hence can't be overridden). If a need
109943 the change here, the first two relocations are against x and the latter
109944 two against bar.) But this is an issue seen elsewhere as well, and would
109956 .plt section is required to be RWX by the 32-bit SPARC ELF psABI and the
109960 Tested on sparc64-unknown-linux-gnu and sparc-sun-solaris2.11.
109972 On aarch64 (and likewise on arm), I run into:
109986 due to a mismatch between the actual "No such process" line and the expected
109994 Tested on aarch64-linux, and x86_64-linux.
110020 can change these checks to asserts and simplify the code a little.
110024 function and the index; then the registry keys refer to this object.
110025 However, only the index is really useful, and now that registries have
110026 a private implementation, just the index can be stored and we can
110033 This rewrites registry.h, removing all the macros and replacing it
110036 straightforward C++ class, and now manages its own cleanup.
110047 The old "save/free" two-phase process is removed, and replaced with a
110051 object. However, this wasn't truly needed and is removed here as
110063 When an objfile is destroyed, types that are still in use and
110065 during this process, and it is allocated on the destroyed objfile's
110070 destruction, and this won't be possible in the rewritten registry.
110086 Change address_space to use new and delete
110087 This changes address_space to use new and delete, and makes some other
110124 Added the attributes `function`, `fullname` and `thread_groups`
110135 "owner". Now "owner" is the only term used, and the field in the
110157 out of scope (GC'd/dealloced), and the location
110174 and subsequently, can't query any information about them, or
110192 source: file path and line number tuple: (string, long) / None
110202 the online documentation), and that's due to the nature
110214 built up, refreshing the locations is easy and it only comes
110220 Its definition, layout, methods and functions
110224 to enable and disable a bp_location* specifically,
110230 Testsuite: tests the .source attribute and the disabling of
110317 on x86_64, s390x, aarch64, and ppc64le.
110342 Fix some code style issues suggested by Tom Tromey and Andrew Burgess,
110349 (3) Remove globals and pass pointers to locals.
110353 (5) Put two spaces before "{" and "}".
110399 I tried building GDB on GNU/Hurd, and ran into this error:
110443 As Luis pointed out, similar bugs may also appear on FreeBSD and NetBSD,
110444 and I have reproduced them on both systems. This patch fixes them
110447 Tested by rebuilding on GNU/Hurd, FreeBSD/amd64 and NetBSD/amd64.
110493 the gdbarch_tdep function was not templated, and this compiled just
110501 and removes the overloading of the name, which allows GDB to build
110505 typo, and the comment on the 'gdbarch_tdep' function, to mention that
110516 process, and check at this point if some of the previously existing
110520 varobj which reference a global variable), and floating varobj (i.e.
110526 This patches fixes this and adds an assertion to check that if a varobj
110532 valid, the varobj remains invalid and this is wrong. This patch also
110550 variable) and expression. All of those can reference data on an
110551 objfile's obstack. It is possible for this objfile to be deleted (and
110568 being freed, and removes references to blocks belonging to this
110579 gdbarch and language_defn members when the varobj->root->exp is
110583 to initialize the python context with default gdbarch and language_defn
110610 Tweak mi_runto to let it take and pass down arguments.
110719 triggered a call to gdbpy_disassembler::print_address_func, and, as I
110736 and causes the gdb.python/py-disasm.exp test to fail like this:
110757 With this commit the above issue is resolved and
110782 forced, and saw no regressions.
110790 struct packed: Unit tests and more operators
110795 all relational operators. This commit adds said unit tests and
110844 which causes git to show me if I muck up and use spaces instead of
110848 files for the GDB sub-directories (gdb, gdbsupport, and gdbserver)[1],
110859 and
110880 extensions and for other Cortex-M targets, there are 2 different
110881 stack pointers (msp and psp).
110921 converted the fprintf_func calls to fprintf_styled_func calls and
110925 source files in gas/testsuite/gas/ppc and manually checked that the
110966 This commit just adds the new style, and prepares objdump to handle
110967 the style. A later commit will add AArch64 styling, and will actually
111037 from R_LARCH_64 in setction .eh_frame and not generate
111087 opcodes: Replace old insns with news and generate new relocate types
111114 wondering what could have gone wrong, and while I doubt this patch
111121 .branch_lt referencing SIZEOF(.got) and so calling init_os (which
111123 Fix that by ignoring SIZEOF in exp_init_os. Unlike ADDR and LOADADDR
111124 which need to reference section vma and lma respectively, SIZEOF can
111125 and does cope with a missing bfd section by returning zero for its
111156 gdb/testsuite: rename get_maint_bp_addr and move it to gdb-utils.exp
111195 which causes the misleading complaint and the assert.
111199 as we do in create_cus_from_index and create_cus_from_debug_names, and
111212 typically "all" and "minimal". However, they give the same name to both
111214 This makes it difficult and confusing when trying to reproduce problems
111259 we hope to print out GPRs, PC and the registers related to exceptions.
111279 PowerPC: Create new MMA instruction masks and use them
111354 The requirement is that BaseClass and DerivedClass must be
111363 static_cast, and there should be no performance difference.
111374 I built GDB for all targets on a x86-64/GNU-Linux system, and
111375 then (accidentally) passed GDB a RISC-V binary, and asked GDB to "run"
111423 I think that there is something we can do here, and this commit is the
111429 (1) In gdbarch.h and arch-utils.c. In these files I have modified
111459 arm, frv, and mips. In each of these targets the adjust breakpoint
111464 inferior and program space be the one in which the breakpoint will be
111465 placed, and this is not currently always the case.
111469 different architecture. Alternatively, if we consider ARM and
111473 In these cases it is possible, and valid, for a user to have one
111474 inferior selected, and place a breakpoint in the other inferior by
111478 gdbarch_adjust_breakpoint_address is called, the wrong inferior (and
111479 program space) will be selected, and memory reads, and symbol look
111487 case, I believe that the correct inferior and program space will
111489 handling, so I don't think we need to worry about this case, and
111492 is itself called from code_breakpoint::add_location and
111506 switch_to_program_space_and_thread to switch program_space and
111515 AArch64 inferior, and an ARM inferior. The test selected the AArch64
111516 inferior and tries to create a breakpoint in the ARM inferior.
111522 and so, at the end of arm_pc_is_thumb we would call
111528 gdbarch_tdep and casts the result to arm_gdbarch_tdep. This is wrong,
111535 arm_pc_is_thumb, and so we never call arm_frame_is_thumb.
111559 mips-tdep.c, and this function does this:
111566 architecture will be an x86-64 gdbarch, and the tdep field within the
111568 mips_gdbarch_tdep, as a result the cast above was incorrect, and TDEP
111604 All the text is passed through the internationalisation mechanism, and
111627 After these calls we end up in show_fp_model and arm_show_abi
111645 casting the result to the wrong type, and this function will trigger
111718 This code used to DTRT, before we started keeping both CUs and TUs in
111725 the complaint somehow. We start out by creating an exec with .debug_types and
111731 and verify that we don't see any complaints:
111736 We look at the CU and TU table using readelf -w and conclude that we have
111737 nr_cus == 6 and nr_tus == 1.
111740 case to 6, and we have:
111757 Now revert the fix and observe that the complaint disappears, so we've
111763 Tested on x86_64-linux, with native and target board cc-with-debug-names.
111770 A standalone (without SAE) StaticRounding attribute is meaningless, and
111772 assume this was some strange copy-and-paste mistake.
111811 contained in groups. Caching and lookup of processed abbrevs thus
111812 needs to be done by section and offset rather than base and offset.
111817 * dwarf.c (struct abbrev_list): Replace abbrev_base and
111821 (process_abbrev_set): Set list->raw and list->next.
111830 non-zero, and it's easy to decode the raw abbrevs. It's especially
111840 abbrev base, offset and size checking to..
111842 lookup of cached abbrevs here, and calculate start and end
111845 alloc and processing into find_and_process_abbrev_set call.
111852 * dwarf.c: Leading and trailing whitespace fixes.
111878 and/or libraries.
111886 Handle Python 3.11 deprecation of PySys_SetPath and Py_SetProgramName
111887 Python 3.11 deprecates PySys_SetPath and Py_SetProgramName. The
111888 PyConfig API replaces these and other functions. This commit uses the
111893 Fedora 35 and Fedora 36 use Python 3.10, while Fedora 34 still used
111894 Python 3.9. I've tested these changes on Fedora 34, Fedora 36, and
111921 Additionally, both Py_DontWriteBytecodeFlag and Py_IgnoreEnvironmentFlag
111925 gdb builds against 3.10 and higher since those are the versions for
111931 one of the failure paths. I've fixed that problem and also made the
111933 PyConfig_Clear() will always be called, both for success and failure.
111939 initialization and the call to were moved ahead of the ifdefs to avoid
111954 * `<utility>`, to support `std::move` and `std::swap`
111972 ... GDB prematurely stops all threads after the first step, and
111974 the 2nd and subsequent steps, the command was running with
111997 /* We run to this line below, and then issue "next 3". That should
111998 step over the 3 lines below and land on the return statement. If
112000 the 3 nexts (and never resumes it again), then the join won't
112009 The test hangs and times out without the GDB fix:
112018 thread_fsm object and associates it with the stepping thread. For the
112021 finishes, handle_inferior_event calls stop_waiting and returns, and
112024 steps-left counter. If the counter is 0, it returns true and we
112042 threads right after each step finishes, and then re-resume them again.
112049 fetch_inferior_event and wait_for_inferior.
112051 New test included. Tested on x86-64 GNU/Linux native and gdbserver.
112083 protected symbols and non-canonical reference to canonical protected
112132 83c325007c5599fa9b60b8d5f7b84842160e1d1b), and powerpc ports, and other
112133 linkers: gold and ld.lld.
112146 protected-data-1a and protected-data-1b. protected-data-1b can be made
112160 and how to read memory tag data back from a core file generated by GDB
112176 Build-tested with --enable-targets=all and regression tested on aarch64-linux
112185 per mapped range. The format and documentation can be found in the Linux
112188 The following patch adjusts bfd and binutils so they can handle this new
112189 segment type and display it accordingly. It also adds code required so GDB
112194 data. There can be multiple such sections with the same name, and they are not
112195 numbered to simplify GDB's handling and lookup.
112198 and dumping of memory tag segments.
112208 for that fact in the MTE testcases (gdb.arch/aarch64-mte.exp) and define
112214 Pass -nostdlib to compiler with -r to avoid unnecessary .o file and
112256 gprofng: fix regression in build and a race condition in autoreconf
112271 loads a new objfile, and when gdb clears the objfile list. However,
112275 This patch adds a gdb.free_objfile event registry and arranges for an
112301 and:
112317 multi-dimensional array and an array of arrays by looking for an
112331 to use a unique_ptr, and also changes cli_uiout to be a private
112343 This patch removes ui_register_input_event_handler and
112367 The ciphers 5,7, and 9 are missing when parsing an assembly
112395 /usr/bin/python3, and the python-unversioned-command package provides
112396 /usr/bin/python, which picks between python2 and python3.
112405 'python', and then 'python3'. Now, on a system that only has a
112406 python3 executable, GDB will automatically find, and use that in order
112412 a 'python' executable in my $PATH, and then rebuilding GDB from
112425 can now be retrieved by just masking (no shift), and extracting the
112447 Note that there are 4 active threads, and scheduling elts_per_thread on each
112452 That doesn't seem to matter much for this example, but for say 10 threads and
112453 99 elements, you'd have 9 threads handling 9 elements and 1 thread handling 18
112480 Tested on x86_64-linux, by building with -fsanitize=address and running
112481 test-case gdb.dwarf2/gdb-add-index.exp with and without
112498 Fix this by only adding -fcf-protection=none for gcc 8 and later.
112500 Tested on x86_64-linux, with gcc 7.5.0, 8.2.1 and 12.1.1.
112573 resilient to internal errors and such.
112581 When I rebased and updated the print_options patch, I forgot to update
112597 and significand. Also, IBM long double values are passed in a pair of
112617 This adds a 'summary' mode to Value.format_string and to
112649 the Traceback Table version, language, and specific information about the
112652 PowerPC ELF ABI and is intended to support debuggers and exception
112654 by default and is part of the function length. The table is typically
112659 additional_flags-qtable=none and the clang optons
112678 When building gdb with -fsanitize-threads and running test-case
112704 This can be useful when debugging multi-threading behaviour, and you want to
112713 Update NEWS and gdb.texinfo to document floating-point support
112743 When building gdb with -fsanitize=thread and running test-case
112751 and:
112766 With gdb with -fsanitize=thread and test-case gdb.ada/array_bounds.exp, I run
112773 and:
112837 (ppc_parse_name): Add mode param. Search both cr_cond and
112838 pre_defined_registers. Handle absolute and register symbol
112907 The patch has been tested and verified on a Power10 system.
112938 22:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
112941 As stated in the error message the default "-fcf-protection" and
112945 The gcc command line "-mindirect-branch' is an Intel specific and will give
112949 The patch has been tested and verified on Power 10 and Intel X86-64 systems
112965 and then "start" followed by "until 6", GDB currently incorrectly
112991 and then with "start" followed by "until 10", GDB currently
112996 infrun.c fails to find the initiating frame, and so infrun thinks that
113020 /* For Cases 1 and 2, remove the step-resume breakpoint, if it
113072 Tested on x86_64-linux, with native and target board cc-with-dwz-m.
113086 - Describe "step" in terms of "on" and "off".
113089 instead of recording, and also mention how the mode behaves during
113104 parallelized, those have become problematic and sources of race conditions.
113106 Fix this by adding dwarf2_cu::lang () and using it where we can to replace
113125 Tested on x86_64-linux with native and target board unix/-m32.
113184 When building gdb with -fsanitize=thread and gcc 12, and running test-case
113192 and:
113202 and:
113212 and:
113224 and:
113229 Likewise for the write to addresses_seen in cooked_indexer::check_bounds and a
113231 gdb.dwarf2/dw2-dir-file-name.exp and target board cc-with-dwz-m.
113234 the read fields, so executing a read and write in different threads is
113247 unit_type, and likewise for addresses_seen.
113262 When building gdb with -fsanitize=thread and gcc 12, and running test-case
113270 and:
113285 and:
113292 location as the read fields, so executing a read and write in
113313 but to avoid having to write that in several places and add suitable
113321 defined in include/, and shared with other projects, some of those
113331 comparisions between that std::atomic and the type that the wrapped
113363 /* Ensure size and aligment are what we expect. */
113381 PR29355, ld segfaults with -r/-q and custom-named section .rela*
113384 relocations. When counting output relocations SHT_REL and SHT_RELA
113386 sections themselves can't have relocations and some backends use
113403 For csky arch, the correspondence between Dwarf registers and GDB
113411 gdb regs s0~s127 (pseudo regs for float and vector regs)
113518 point the inferior _should_ have pid==0 and no process target. It is
113523 just unpushes, and relies on core_target::close to actually do the
113524 getting rid of the core and exiting the inferior. The problem with
113531 routine called by both core_target::close and core_target::detach. We
113547 explained, and where the fork and vfork stop reasons are detailed,
113558 -msign-return-address and -mbranch-protection before bailing out when
113565 where available, currently this is just i386 based architectures, and
113574 mnemonics, etc, and can style these components differently.
113588 disassembler styling, and then disable libopcode styling so that GDB
113601 The disassembler also makes use of the 'address' and 'function'
113613 respectively, and exist to make it easier for users to discover
113654 will give an error, and the setting will remain "off".
113672 passed as an argument to the fprintf_func and fprintf_styled_func
113692 depend on the state of the gdb_disassemble_info object, and this state
113708 a gdb_printing_disassembler, and then extract the stream.
113711 additional state to the gdb_printing_disassembler, and update the
113719 With gdb build with -fsanitize=thread and test-case
113720 gdb.dwarf2/dw4-sig-types.exp and target board cc-with-dwz-m we run into a data
113728 and this read:
113739 and this read:
113746 needed, and otherwise verifying that the same value is used. [ Note that the
113750 consistenly, and make the field private in order to enforce access through the
113751 member functions, and rename it to m_length.
113807 Cleaning up the subsym_hash memory is a real pain. Keys and values
113809 allocated and thus needs to be freed, in others the key is a const
113810 string. Values are similar, and in some cases not even a string.
113822 (md_begin, subsym_create_or_replace, subsym_lookup): ..and here..
113823 (subsym_substitute): ..and here. Adjust subsym_proc_entry
113845 This also means that the hash table free_f and del_f must be NULL,
113848 free any memory, and will be a little faster. Also, htab_delete won't
113849 do anything (and be quick about it).
113903 free tuples generated by str_hash_insert, and secondly putting the x86
113929 in having multiple copies of hash_string_tuple and eq_string_tuple.
113946 and rename target implementation. The renaming of target functions
113950 either do nothing or deallocate memory, and calls them late.
113987 * as.c (parse_args): Use notes_alloc and notes_strdup.
113989 (main): Init notes obstack, and arrange to be freed on exit.
114005 gas: free sy_hash, macro_hash and po_hash
114017 Use notes obstack for dwcfi_hash entries, and free table. Freeing the
114047 (macro_expand_body): Use str_hash_find and str_hash_delete.
114050 (expand_irp): Use str_htab_create and str_hash_insert.
114058 and str_hash_insert.
114127 should be regenerated with automake-1.15.1 and autoconf-2.69. That's
114128 not because we think those versions are golden, and newer versions are
114130 configury files without trouble, and if someone regenerates files with
114136 configure.ac:26: aclocal.m4 with aclocal and run automake again.
114151 I looked at all uses of GDB_PY_LLU_ARG and fixed these up to use
114155 come from inferior memory, and something like a line number is not too
114204 because we want to support f.i. building against 3.0.6 and then using a shared
114236 and ignore it. */
114251 IWBN to have this working in all use cases, but for now, allow lang () and
114252 unit_type () to return language_unknown and 0 here.
114298 The all_comp_units vector (which get_cu accesses) contains both CUs and TUs,
114335 converted the fprintf_func calls to fprintf_styled_func calls and
114339 source files in gas/testsuite/gas/s390 and manually checked that the
114347 Fix regeneration of ld configure and makefiles
114351 Update version to 2.39.50 and regenerate files
114438 pid to -1 and go to waiting again. Since there are not more children to
114472 returns inferior_ptid - null_ptid - and therefore
114473 aix_thread_target::wait returns null_ptid too, and we still hit the
114476 Fix this by changing pd_activate, pd_update, sync_threadlists and
114506 module, subprogram or type may have DW_AT_decl_file, DW_AT_decl_line and
114580 RISC-V: Added Zfhmin and Zhinxmin.
114581 This commit adds Zfhmin and Zhinxmin extensions (subsets of Zfh and
114582 Zhinx extensions, respectively). In the process supporting Zfhmin and
114584 categorized considering Zfhmin, Zhinx and Zhinxmin extensions.
114590 flh, fsh, fmv.x.h and fmv.h.x.
114608 fcvt.s.h and fcvt.h.s.
114612 fcvt.d.h and fcvt.h.d.
114616 fcvt.q.h and fcvt.h.q.
114621 subsets. Zfh->Zicsr is not needed and Zfh->F is replaced with
114622 Zfh->Zfhmin and Zfhmin->F. Zhinx->Zicsr is not needed and
114623 Zhinx->Zfinx is replaced with Zhinx->Zhinxmin and
114625 (riscv_supported_std_z_ext): Added zfhmin and zhinxmin.
114630 zfh and zfhmin extensions.
114647 and refactored.
114653 INSN_CLASS_D_AND_ZFH_INX and INSN_CLASS_Q_AND_ZFH_INX. Added
114655 INSN_CLASS_ZFHMIN_AND_D and INSN_CLASS_ZFHMIN_AND_Q.
114660 Zfh and Zfhmin instructions. Fix `fcvt.h.lu' instruction
114684 Zfinx extension and -M numeric disassembler option.
114696 fcvt.h.d and fcvt.d.h require ((D&&Zfh)||(Zdinx&&Zhinx)) and
114697 fcvt.h.q and fcvt.q.h require ((Q&&Zfh)||(Zqinx&&Zhinx)).
114734 * gp-display-html/gp-display-html.in: implement first support for x86_64 and C/C++
114756 x86: make D attribute usable for XOP and FMA4 insns
114757 This once again allows to reduce redundancy in (and size of) the opcode
114772 retained (and altered), to make sure the same encoding as before is
114796 introduction of 3-operand patterns with D set (and which perhaps never
114810 re-invoke perhaps many earlier directives and without needing to invoke
114812 saving (pushing) and restoring (popping) present/prior state.
114824 available. Let's not have any "criteria" at all, and simply allow
114875 Sometimes an objfile comes from memory and not from a file. It can be
114903 is added into struct user_pt_regs [1] to match the upstream kernel, and
114909 distros like UOS and Loongnix) don't have it. Inspect
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.
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.
114925 and DW_FORM_rnglistx for .dwo files.
114926 (process_debug_info): Load .debug_loclists.dwo and
114928 (load_separate_debug_files): Load .debug_loclists and
114945 readability, will make subsequent (and likely also future) changes less
114949 converting "skip" to bool and putting it earlier in a group of bitfields
114987 fewer per section processed, since objcopy soon exits and frees all
114989 memory on a bfd objalloc in objcopy and other utils.
115004 Modified changes for split-dwarf and dwarf-5.
115017 (avr_operand): Pass in and fill disassembler_style when
115023 The dwarf2_per_cu_data fields lang and unit_type both have a dont-know
115024 initial value (respectively language_unknown and (dwarf_unit_type)0), which
115030 functions, and add the m_ prefix.
115042 x86: fold Disp32S and Disp32
115047 operand size, and then are still sign-extended, just from 16 bits).
115109 When building gdb with -fsanitize=thread and gcc 12, and running test-case
115110 gdb.dwarf2/dwz.exp, we run into a data race between thread T2 and the main
115130 and this via the PU import:
115157 and make the field private in order to enforce access through the member
115158 functions, and rename it to m_dwarf_version.
115231 (nothing) and:
115261 values and the special `unlimited' keyword:
115277 away rather than showing a choice between `NUMBER' and `unlimited'.
115295 dynamic allocations and tests if GDB can stop in it as well.
115299 Fix implementation of readelf's -wE and -wN options,
115303 * testsuite/binutils-all/debuginfo.exp: Expect -WE and -wE
115309 With gdb build with gcc-12 and -fsanitize=thread, and test-case
115325 and 3 more data races involving handle_sigterm and locations:
115336 A process-directed signal can be delivered to any thread, and what we see
115343 so unfortunately I cannot confirm that the patch fixes the problem. ]
115345 Tested on x86_64-linux, with and without -fsanitize=thread.
115353 compatibility and breaking changes, were overlapping, at least when
115366 Simon reported that the recent change to make GDB and GDBserver avoid
115409 before throwing an error, and in GDBserver, unlike in GDB, mourning
115422 the missing part first, and second with an upcoming change the part in
115439 This is grammatically incorrect, so remove the full stop and adjust the
115468 for AArch64, this will allow objdump and GDB[1] to syntax highlight
115469 the disassembler output, however, having operands and comments
115475 updated to pass an extra buffer, and print any resulting comment.
115547 Unfortunately, to run this test we restart GDB, and when the test has
115554 as part of the break-idempotent.exp script, and store the result in a
115605 For every stop, Linux GDB and GDBserver save the stopped thread's PC,
115607 gdb/linux-nat.c and gdbserver/linux-low.cc. However, while we're
115614 stopped for a breakpoint, and since when going through the shell, no
115626 being nursed through the shell, and when that flag is set,
115629 signals, and exec events, so nothing is lost.
115635 [gdb/build] Fix gdb build with -fsanitize=thread and gcc 7
115674 (DEFAULT_PREPROCESSOR_ARGS): and that.
115680 …Fix the display of the idnex values for DW_FORM_loclistx and DW_FORM_rnglistx. Correct the displa…
115685 displayed for DW_FORM_loclistx and DW_FORM_rnglistx.
115715 * elf64-ppc.c (plt_stub_pad): Simplify parameters and untangle
115723 It made sense before I started using separate fields for main type and
115732 gdb:csky add pseudo regs for float and vector regs
115734 and 16 vector registers. Float registers's count can be configured
115738 The bit width of floating-point register is 64bits, and the bit
115741 Special points: in fr0~fr15 and vr0~vr15, each FRx is the lower
115744 Here, we will split each floating-point and vector register to
115745 32bits wide, add the corresponding pseudo registers, and finally
115749 1. s0 and s1 correspond to fr0, s4 and s5 correspond to fr1, and so on.
115751 2. s0, s1, s2 and s3 correspond to vr0; s4, s5, s6 and s7 correspond to vr1,
115752 and so on. Every four pseudo registers corresponds to a vector register.
115768 RISC-V: Add 'Sstc' extension and its CSRs
115769 This commit adds "stimecmp / vstimecmp" Extension (Sstc) and its CSRs.
115801 This commit adds Count Overflow and Mode-Based Filtering Extension
115802 (Sscofpmf) and its CSRs.
115842 RISC-V: Add 'Smstateen' extension and its CSRs
115843 This commit adds State Enable Extension (Smstateen) and its CSRs.
115890 Re: Disable execstack and rwx segments warnings for MIPS targets.
115905 gdb.base/macscp.exp was referencing bug number 555, and the bug 7660
115906 mentions that it used to be 555 on the Gnats system and seems to relate
115909 gdb.base/annota1.exp was referencing bug number 1270, and bug 8375
115910 mentions being number 1270 on Gnats, and mentions annota1 specifically,
115930 special requirements for both the host libiberty and host zlib, which has the
115933 Fix this by handling libiberty and zlib each in its own case statement.
115935 Build on x86_64-linux, with and without --enable-shared.
115941 * configure.ac: Set extra_host_libiberty_configure_flags and
115959 Since we nowadays have a distinction between development and release
116015 Non-Secure to Secure stack unwinding enablement status and
116020 (Handler -> msp_s, Thread -> psp_s) and then the Secure stack is
116055 TypeError: unsupported operand type(s) for %: 'bytes' and 'str'
116058 Fix this by avoiding the '%' operator in the byte literal, and use instead:
116066 Tested on x86_64-linux, with python 3.4 and 3.6, and a backported version was
116085 Tested on x86_64-linux with target boards unix/-m32 and unix/-m32/-fPIE/-pie.
116136 Skip the test for gfortran 4.8 and earlier. Do this using gcc_major_version,
116137 and update it to be able to handle "gcc_major_version {gfortran-*} f90".
116139 Tested on x86_64-linux, with gfortran 4.8.5, 7.5.0, and 12.1.1.
116145 and gcc-12 (defaulting to DWARF5), I run into:
116154 it's own header, with initial length and version:
116169 at the 2-byte version field and 2 bytes of padding, so we get:
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)
116192 instead we get the wrong strings, like "func2" for DW_AT_producer and
116223 libiberty and therefore requires the pic variant. The gdbserver Makefile is
116243 Disable execstack and rwx segments warnings for MIPS targets.
116247 Move code for CRIS, MIPS and HPPA to block at start of file.
116265 Note that I didn't touch */po/*.po{,t} on the assumption that these
116276 * dwarf.c (fetch_indexed_value): Add base_address as parameter and
116291 usual forward layout of section is done and .got is more aligned than
116300 -z relro relaxation and ld script SIZEOF
116388 Detecting and compensating for this problem would probably be
116389 expensive and, IMO, is better left to some (still hypothetical) DWARF
116408 gdb: LoongArch: Define register numbers and clean up code
116410 we can use them directly in the related code, and also clean up some
116411 code to make them more clear and readable.
116420 For historical reasons, the CLI and the TUI observers are basically
116428 and how they get at the interpreter's ui_out:
116436 interpreter, and, both the CLI and the TUI interpreters inherit from
116438 observers to cast to cli_interp_base instead and use interp_ui_out()
116466 test_compiler_info, and, after recent commits that removed setting up
116467 the gcc_compiled, true, and false globals from get_compiler_info,
116472 redundant, and this commit removes them all.
116498 directly and removed all uses of gcc_compiled.
116502 near the top of the script, and leave the rest of the script
116511 crash while running the GDB testsuite, and you've setup your machine
116518 during teardown, and thus such a crash won't be noticed by looking at
116548 and so I get these core files:
116565 Valgrind's vgdb, and a couple testcase programs. Neither of which is
116575 testcase teardown, and it goes unnoticed (without this commit) by
116600 and note that when GDBserver hits an assertion failure, it exits with
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
116615 done this way so that serial and parallel testing work the same way.
116617 testsuite/lib/check-test-names.exp, where DUPLICATES and PATH are
116632 individual gdb.sum files, and dg-extract-results.sh doesn't know about
116635 something that we want to count many times, once per testcase, and
116639 I considered using the Tcl implementation in serial mode, and the
116641 downside of implementing and maintaining the same thing twice. In the
116647 printed, and then another with. IMO, this isn't an issue; when
116681 gdb.base/annota1.exp, gdb.base/annota3.exp and
116684 At least gdb.base/annota1.exp and gdb.base/annota3.exp have code in
116687 "core.PID", and my core_pattern doesn't match that.
116720 up in build/gdb/testsuite/, and can thus be detected as an unexpected
116729 run_inferior_call that are used to save, and then restore some state,
116736 or ui_register_input_event_handler, and after this commit, the field
116759 patch removes the declaration. Tested by grep and rebuilding.
116778 is the current offset and a new field, id. Check that the build
116783 (stub_hash_newfunc): Init id and symtype.
116804 the error. The new behavior matches gold and ld.lld.
116831 changes it to be a std::string instead, and removes some erroneous
116843 'inited' member, and moves the 'private:' and 'public:' keywords to
116853 shared object uses its own definition directly and the executable
116855 protected visibility as an optimization, and it turns out this never
116874 Binutils support for split-dwarf and dwarf-5
116879 (process_debug_info): While allocating memory and initializing
116906 RISC-V: Use single h extension to control hypervisor CSRs and instructions.
116909 patch fix the implementation, and use the single h to control hypervisor
116910 CSRs and instructions, which we promised to do before.
116923 * config/tc-riscv.c (riscv_csr_class): Added CSR_CLASS_H and CSR_CLASS_H_32 for
116963 contain not just extension names but words like "and" and "or".
116988 will exit the program. Instead use malloc and let the error be
116999 stub and adds a debug dump. Hopefully that will help.
117004 (ppc_build_one_stub): Keep track of previous stub, and dump it
117036 * testsuite/lib/ctf-lib.exp: Prune warnings from compiler and
117039 and ar output too.
117056 and different compilation flags, then arrange to link all of these
117065 Fixing this is multi-pronged. Both inputs and outputs need to be
117067 same cuname and filename need to be considered distinct as long as they
117068 have different associated CTF dicts, and per-CU outputs need to be
117073 output dict (if any), and for output dicts points to the associated
117084 even visible to ctf_link, and even *that* might be the same, because
117087 distinct dictionaries with distinct types in them, and at least this way
117091 (As a side-effect this also fixes a use-after-free and double-free when
117096 (no effect on ld, which doesn't use CU mappings at all), and causing
117113 (ctf_create_per_cu): Use it, and ctf_link_in_out, and set
117121 and blank out ctf_link_in_out on the corresponding inputs.
117130 library, and expected results for the test.
117134 Document how GDB searches for files when using -s, -e, and -se options
117137 If you do not specify a directory and the file is not found in the
117143 and -se.
117149 Binutils support for dwarf-5 (location and range lists related)
117158 …Default to disabling the linker warnings about execstack and RWX segments if the target is the HPP…
117176 is consulted only when deciding whether or not to print a value, and
117178 structure and makes it a static global in infcmd.c instead.
117219 incorrectly assembled "runs" from unsorted entries and inserted them to an
117249 This patch also includes update to the relevant testcase and
117257 Document the new command "print nibbles" and add a NEWS entry.
117340 With gcc 4.8/4.9, we run into this build failure (and other similar
117350 GCC 4.9 and GCC 5 & later uses new rules.
117355 away. The remaining cases are of the form {0, LINE_OFFSET_NONE}, and
117365 and makes the location_spec::as_string field protected, renaming it to
117399 remove it and call clone() directly. This simplifies users, as they
117407 Currently, there's the location_spec hierarchy, and then some
117419 and then these separate types:
117431 This patch eliminates explicit_location and linespec_location,
117444 In the process, initialize_explicit_location is eliminated, and some
117456 an address location), and for actual resolved locations, like the
117464 "location" is the location spec, and "loc" is the resolved locations.
117474 and it is described like this:
117482 and even that is incorrect... Location specs are used for finding
117487 "location_spec" throughout, and then all the variables that hold a
117490 location specs, and currently have just "location" in their name are
117520 and likewise for all the other mpx tests.
117542 EOF before reading anything returns NULL and does not write to buf.
117596 Handle DW_CFA_restore and DW_CFA_restore_extended on second
117649 gdb/arm: Track msp and psp
117652 with earlier Cortex-M derivates, the msp and psp registers are
117692 and just make them global functions, then I'd only need a single
117699 So, instead, I placed the static method into its own class, and had
117700 both the gdb_non_printing_memory_disassembler and gdb_disassembler
117740 I then observed that both ARC and S12Z also create non-printing
117743 from a buffer, the ARC and S12Z disassemblers read from target memory
117747 sub-classes, gdb_non_printing_memory_disassembler and
117766 but this was all I needed, and creating something more complex would,
117776 properties: address, architecture, and progspace. And has methods:
117777 __init__, read_memory, and is_valid.
117781 reading the properties, and calling the methods (and other support
117782 methods in the gdb.disassembler module) the user can perform and
117789 __init__ and __call__ which the user written disassembler should
117796 of the disassembled instruction) and a length (in bytes). The user
117828 This command is defined in the Python gdb.disassemblers module, and
117838 disassembling, and printing one instruction. After the next commit it
117848 and Guile.
117864 new disassembler like class that contains a disassemble_info and a
117870 between its constructor, and its print_insn method. In the
117872 variable string_file*, and then in print_insn, the contents of the
117876 coupling between its constructor and print_insn; the class just isn't
117881 disassemble_info and gdbarch into a new gdb_disassemble_info class,
117882 and make this class a parent of gdb_disassembler.
117884 In arm-tdep.c and mips-tdep.c, where we used to cast the
117890 things to an output stream, and so we will want access to the
117907 gdb_buffered_insn_length, and to do this I will be creating yet more
117919 removes the need for manual reference count management, and allows the
117925 commit I will want to copy instances of gdbpy_err_fetch, and switching
117960 gcc 11, and we can only tell gcc to ignore if it knows about it.
117974 sanity checks in the recently committed read_indexed_address and
117986 Just like on s390x with g++ 11.2.1 and ppc64le with g++ 11.3.1 g++ 11
118011 The HTML and PDF formats are described in the gprofng tutorial (info
118013 README because: they are important; they are easily searchable; and the
118026 * src/src/Print.h: Remove unused functions and variables.
118051 is a dictionary, and only starting version 3.6 are dictionaries insertion
118100 Finally, I think the FP registers are actually named V0-V31, and the
118115 handling based on features determined, GPR regset support, and software
118119 and PTRACE_PEEKUSR in the arch_ptrace function, so srv_linux_usrregs is
118139 With gcc-12 and target board unix/-m32, we run into:
118170 the variable is not yet initialized, and with target board unix we
118185 > > With an --enable-targets=all build and target board unix/-m32 I run into a
118198 > > The warning is there because of this mismatch between core and exec:
118227 > time and is a bit rotted. I suspect that all of changes made in commit 0aabe54e6222
118244 C++/Fortran imported declaration (type alias, namespace alias and
118264 file relocation, and thus .half, .hword, .short and .dc.w must be
118280 (md_apply_fix): Handle BFD_RELOC_16 and BFD_RELOC_MIPS_16 when fx_done.
118298 and "end" after checking for missing section.
118305 than const char *. Free a few missed cases in dwarf2dbg.c, and free
118307 initialisation of variables and initialise in dwarf2_init instead,
118387 so look for the end of the sequence and put the breakpoint there.
118430 including those with fixed names and those with default register names.
118441 whether the register description file contains SP, LR and PC.
118473 With its movement to the stack, and with the subsequent desire to
118476 they need, and in a number of cases going through an intermediate buffer
118485 bool. And while altering (and moving) oappend_immediate(), fold
118506 we can fit all segment register masks in a byte and hence shrink
118522 just a single central point), and make use of C99 dedicated initializers
118532 inside print_insn() (and, as befoe, having just their 1st char filled
118560 stack-allocating them, and have a destructor to make the needed call.
118588 virtual methods rather than a table of function pointers, and it
118660 tmpulongest and the tdep->ioctl_* values.
118666 This patch has been tested on Power 10 and Intel with no test failures.
118670 PowerPC, correct the gdb ioctl values for TCGETS, TCSETS, TCSETSW and TCSETSF.
118675 The current PowerPC values for TCGETS, TCSETS, TCSETSW and TCSETSF are
118691 in the ioctl values for TCGETS, TCSETS, TCSETSW and TCSETSF to 0x2c.
118701 # Most compilers will evaluate comparisons and other boolean
118706 These define global variables true (to 1) and false (to 0).
118711 and define true/false differently.
118746 and explains how to use it.
118758 Fix this by limiting the xfailing to gcc-11 and earlier. Also, limit the
118850 fetch_registers and store_registers functions.
118861 and the addition of the above check allows us to easily avoid the
118864 For fetch_registers and store_registers I made the decision to split
118865 each of the functions into two new helper functions, and so
118867 aarch64_fetch_registers or aarch32_fetch_registers, and there's a
118876 and aarch64-linux-nat.c, this generic code to support 32-bit ARM
118881 shouldn't be called from arm-linux-nat.c at all, and so, if we places
118892 gdb/arm: Document and fix exception stack offsets
118893 Add a description of exception entry context stacking and fix next
118899 once before the loop and reuse it to avoid fetching at every
118941 language, C and C++. Calling get_compiler_info would set the global
118943 get_compiler_info, and, in theory, compiler_info would not be updated
118953 environment then in most cases the C and C++ compiler would be the
118965 gdb_setup_known_globals and gdb_cleanup_globals. All known globals
118966 are recorded before a test script starts, and then, when the test
118972 will exist when the test script end, and so, the compiler_info
118978 be correct and the user will get the behaviour they expect.
118980 However, if a single test script tries to check both the C and C++
118991 then the global will not be redefined and would be missing for later
119005 preserved, and adds it to the gdb_persistent_globals array.
119013 supported languages, and the values will be the compiler version for
119017 the specific language has not been computed, then we do that, and add
119050 that the user will be trying to match 'version' against something, and
119068 get_compiler_info and test_compiler_info.
119070 Instead of using the empty string as the default language, and just
119072 language argument now defaults to "c" if not specified, and the if
119074 handles "c" and gives an error for unknown languages.
119082 error rather than just using the C compiler and leaving the user
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
119111 compiler_info to retrieve gcc's major version. This is discouraged and
119113 local to get_compiler_info and test_compiler_info.
119131 skip_python_tests results in a call to 'unsupported', and this causes
119134 After this commit we now call skip_python_tests just once and place
119182 The perror_with_name function take a string, and adds ': <message>' to
119226 up, and instead have each operand be a list of "parts", where each
119227 part is some text and a style. Then, when we eventually print the
119228 operand we would loop over the parts and print each part with the
119253 is currently true, and hopefully will remain true for the foreseeable
119259 characters would be stripped from the output, and the wrong styling
119265 like register names, and other syntax elements (brackets, commas,
119275 that contain addresses and (possibly) symbol names. It is quite
119279 I don't think it is, we don't actually print address and symbol
119281 back to the user (objdump, gdb, etc) to print the address and symbol
119313 semantics as BA and BB fields, so this should keep the same flags and
119336 on Power 7, Power 8, Power 9 and Power 10.
119341 The patch has been tested on Power 7 and Power 10 to verify the patch fixes
119348 compiler to use when testing gdb.multi/multi-arch.exp and
119354 This commit adds a fallback. If ARM_CC_FOR_TARGET is not set, and
119374 (bfd_get_reloc_size): Adjust, and make it an inline function.
119379 using bfd_log2 and bfd_get_reloc_size.
119386 use bfd_get_reloc_size instead and adjust switch cases.
119441 unchanged in .data and .rodata.
119542 callbacks, and then changes the two clients of this code to subclass
119557 supports Cygwin and gdbserver does not, and because I don't have a way
119570 This patch adds code to do this, and hooks it up to gdb's existing
119573 CreateProcess wrapper function is updated to make the attempt, and
119622 preserve the second one, first because it is longer, and second
119628 valid value, and so it had logic to handle this situation. However,
119629 at some point this was changed to be a std::string, and so the code
119637 implemented, and is not documented -- though it is mentioned in a
119638 comment in the documentation. This patch removes the test and the doc
119709 Enable some of these, and document in more detail why they're enabled or
119733 The insn is written to gdb_stdout, and there is code in the selftest to add a
119740 Fix this by using gdb_stdlog and debug_printf (which is what the unit test
119821 [gdb/m2] Fix UB and literal truncation
119851 the same fix is needed for pascal, take the conservative approach and keep
119863 the same fix is needed for go, take the conservative approach and keep
119899 [gdb/c] Fix type of 2147483648 and literal truncation
119931 and keep type "unsigned long", and make this explicit in parser and test-case.
119946 Test more interesting values, both in decimal and hex format, as well as
120008 trying to pass on some order and fail on another order.
120010 Fix this by rewriting the regexps to match one line at most, and detecting
120011 invalid order by setting and checking state variables.
120046 intopt.size and remaining bytes in section for reginfo.
120068 and likewise for execute_cfa_program::i8086 and
120075 and can be prevented by first doing "set osabi none".
120083 The problem is pre-existing, and can be demonstrated (already without this
120114 which needs access to memory, and will consequently fail.
120133 and while investigating those I realized that the commit fc18b1c5afd
120143 Like TBM and LWP, XOP and FMA4 also shouldn't be included in v3.
120152 this file, and should only be needed by *-nat.c files.
120206 Fix this by first initializing to 0, and then changing the value to 12:
120212 and detecting that change.
120220 Rearrange and slightly reword the "Location Specification" section
120221 This rearranges and changes the wording of the "Location
120246 ODR warnings. This patch renames the types, and removes the use of
120340 (depending on the particular .c file) -- and this declares it in a
120361 branch instruction and determine the address of the next instruction on
120370 objfile, which are collected by update_section_map () and passed to
120379 Filter them (and all the other empty sections) out in
120404 gdb/nat/windows-nat.c, but doesn't add the required typedefs and
120417 Fix the signed overflows by using unsigned variables and detect
120439 text through do_scrub_chars twice, directly in read_a_source_file and
120440 again via the input_scrub_include_sb call. That's silly, and since
120445 So, get rid of the do_scrub_chars call and support functions, leaving
120448 happen if the string starts in one file and finishes in another.
120462 avoiding another do_scrub_chars bug where empty input and single char
120486 Also wrap some overlong lines, and fix some formatting errors.
120507 and likewise for execute_cfa_program::i8086 and
120514 and can be prevented by first doing "set osabi none".
120523 Add gdb.current_language and gdb.Frame.language
120560 and another breakpoint in the interrupt handler was used to check
120568 manual terminology and keep coherency with the rest of the code.
120572 gdb:csky save fpu and vdsp info to struct csky_gdbarch_tdep
120573 First, add three variables fpu_abi, fpu_hardfp and vdsp_version
120580 Later, they will be used in gdbarch_return_value and gdbarch_push_dummy_call
120672 cache in the background, and this would let gdb keep a reference alive
120673 to do so. However, since then we've rewritten the DWARF reader, and
120685 The order in which the variables in info common and info locals are
120686 displayed is compiler (and dwarf) dependent. While all symbols should
120689 I added a gdb_test_multiple that lets ifx and ifort pass in cases where
120728 stack will keep the variable locally on the stack and not define a
120751 ==2503051== For lists of detected and suppressed errors, rerun with: -s
120757 since derived_type contains a heap allocated string and the copy
120760 other hand the d'tor of derived_type actually is implemented and calls
120769 For ifort, ifx, and flang the tests "complete modm" and "complete
120778 Since modmany_mp_var_a can be completed from modm and also modmany they
120779 will get displayed, while gfortran's symbol starts with "__" and thus will
120782 Similar things happen in flang and ifort. Some example output is shown
120815 I want to emphasize: for Fortran (and also C/C++) the complete command
120865 compiler and its emitted symbols).
120867 This, I'd consider all three outputs as valid and expected - one is just
120872 by allowing additional suggested completions inbetween and after
120875 and there should normally not appear any additional symbols there.
120880 As a side note and since I mentioned C++ in the beginning: I also tried
120882 mainly since C++ actually has a demangler in place and linkage symbols
120915 (compiled with gcc/g++ and breaking at main).
120919 confusing and maybe one wants to change this at some point but this
120934 argc and argv arguments for command line argument passing and the argv
120971 Ifx and flang do not emit any debug info for a wrapper main method so
120973 a character*1 type variable to the Fortran executable, but both, ifx and
120986 As adding a type would have a) not solved the problem for ifx and would
120989 check_optional_entry to allow for the symbols's absence and to allow
120990 flang and ifx to pass this test as well.
120995 check for 41 and a gfortran bug has been filed here
121014 flang and ifx on the other hand this is not the case. The two compilers
121025 check once the scoping issue is resolved (and it starts to fail with
121033 later commit to make a testcase less GNU specific and more flexible for
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
121043 and
121054 In order for ifx and ifort to emit all debug entries, even for unused
121064 performance for different compilers. For ifx and gfortran I do not see
121073 a bug and there is an open gcc ticket for this here:
121092 The name for icx and icpx in the testsuite was earlier set to 'intel-*'
121104 change, the options and version for the Fortran compiler specified when
121114 would use the gcc compiler inside the procedures get_compiler_info and
121115 test_compiler_info to identify compiler flags and the compiler version.
121117 testsuite execution to combinations where C and Fortran compiler would
121119 clang/flang ..). This commit enables GDB to detect C and Fortran
121125 Fortran preprocessor and evaluate the preprocessor defined macros in that
121128 This enables GDB to properly run heterogeneous combinations of C and
121131 CC_FOR_TARGET='gcc' and F90_FOR_TARGET='ifort'
121141 We added identification for GFORTRAN, FLANG (CLASSIC and LLVM) IFX,
121142 IFORT, and ARMFLANG for now.
121144 Classic and LLVM flang were each tested with their latest releases on
121146 identification and we introduced the two names flang-classic and
121172 preprocess some test input to try and figure out the actual compiler
121181 which was set to the result of the 'lsearch' query and used instead of
121182 again and again looking for getting_compiler_info in the procedure
121187 I found this inconsistent and instead moved the variable
121190 procedure's options (just as before) and queried instead of doing an
121205 The '-J' option is not supported in Intel compilers (ifx and ifort).
121365 "linespecs", "explicit location", and "address location" input
121366 formats. GDB parses these and then finds the actual code locations
121370 all the functions named "func" in all the loaded programs and shared
121376 "location", actually end up working with multiple locations, and the
121381 arbitrarily and silently picks whatever is the first resolved code
121402 incomplete, and that may match multiple code locations in the
121404 pre-existing examples were moved from the "Set Breaks" section, and
121410 - Goes through the manual, and where "@var{location}" was used for a
121417 accepts a "location", suggesting it can accept address and explicit
121422 "line specification", but it can accept address and explicit
121425 Special thanks goes to Eli Zaretskii for reviews and rewording
121457 This patch accomplishes this and enables a 32-bit build with
121460 Moving the bpf, tilegx and loongarch files to the correct list means GDB can
121479 and object pointers is not guaranteed. They can even be different
121513 This also removes some unused variables, and deletes support for the
121514 "var" keyword which isn't used and was broken. (No means to set
121515 variables, and add_var used push_number inconsistent with its use
121532 This patch expanded the zfh insn class define, since zfh and zhinx
121535 changelog in V2: Add missing classes of 'zfh' and 'zhinx' in
121598 2. The trailing blank line, and
121609 In this commit I aim to improve the "help" output for commands and
121617 2. Trailing blank lines are removed, and
121702 and before the instruction operands.
121744 for 'nop', and adjust the buffer to this:
121769 spot instructions that have zero operands and just not emit any
121785 include/coff/internal.h struct internal_syment and union
121787 comparison with include/coff/external.h and other code reveals that
121792 This patch removes the definition of bfd_uint64_t and bfd_int64_t as
121795 Remove use of bfd_uint64_t and similar
121797 uint64_t, and similarly for bfd_int64_t, BFD_HOST_U_64_BIT, and
121799 and tidies a few places that print 64-bit values.
121817 documentation, allow both that and the SDM mandated form where the
121832 operand form. While retaining properties (and in a few cases perhaps
121838 MASM doesn't consider {sae} and alike a separate operand; it is attached
121848 DWORD PTR) and alike are to be used there instead. Accept these forms
121852 backwards compatibility and to disambiguate VFPCLASSP{S,D,H} and vector
121862 DWORD PTR) and alike are to be used there instead. Make the disassembler
121866 For VFPCLASSP{S,D,H} and vector conversions with shrinking element sizes
121894 configure.tgt (cris-*-*, crisv32-*-* sans *-aout and *-linux): Unless
121904 was no-exec as in "#define DEFAULT_STACK_PERMS (PF_R|PF_W)", and the
121907 mismatches. It doesn't matter much, except being confusing and
121933 serves this exact purpose, and does not need to do it anymore.
121935 This patch renames this method to partial_symbols and makes it an accessor
121947 is enough and this one mimics the situation we encountered). Consider a
121948 program which forks, and the child loads a shared library and calls a
122098 - quick_functions::can_lazily_read_symbols and quick_functions::has_symbols
122114 This patch fixes the bug and further merges some code into
122125 index entries into a single master list, canonicalizes C++ names, and
122129 results in some situations, and it turns out that this step can be
122145 For performance testing, using "maint time 1" and "file" will not show
122147 because the patch only affects background work, this shouldn't (and
122173 ba951afb999 2022-05-03 changed behaviour on arm and score regarding
122177 warn_execstack, no_warn_rwx_segments and default_execstack.
122181 true for arm and nacl.
122190 could be rewritten without using it and also reworked to remove a lot
122191 of unnecessary iterations steps. So this patch does that (and also
122204 an error and return -1, linux_proc_xfer_memory_partial return
122209 that the address space is gone and the whole process has exited or
122222 if the question and response parameters are given to gdb_test, the
122236 bfd: Add Support for DW_FORM_strx* and DW_FORM_addrx*
122244 If the jansson library is available at build time (and it is explicitly
122245 enabled), link ld to it, and use it to validate that the input is
122295 gdb: Fix DUPLICATE and PATH regressions throughout
122319 gdb_test being passed both no message and empty command. E.g., this
122332 Tested on x86_64 GNU/Linux, native and native-extended-gdbserver. I
122361 Thus, this patch preserves the current behavior, and, instead, adds a
122362 new "-nopass" option to gdb_test and gdb_test_no_output. Compared to
122365 the command string, and, it's also more explicit.
122401 semantics as BA and BB fields, so this should keep the same flags and
122464 called, and
122468 Adding noclone and noipa alongside the noinline attribute doesn't fix this.
122472 test-case, and it would work only for clang and not other compilers that
122475 Fix this by moving functions start_sequence and gen_movsd into their own
122494 The problem is that starting gcc-12, the assignments to x and y in main are
122506 Fix this by making x and y volatile.
122539 aapcs_is_vfp_call_or_return_candidate_1 and pass_in_v_vfp_candidate,
122540 so that GDB for AArch64 knows how to pass DFP parameters and how to
122600 and use this with register_size to compute the size of the
122613 there exist the following unsupported and failed testcases:
122618 FAIL: gdb.base/auxv.exp: matching auxv data from live and core
122620 UNSUPPORTED: gdb.base/auxv.exp: matching auxv data from live and gcore
122632 and gdb.base/gcore.exp can also be fixed.
122724 and with gcc 7:
122748 and for gcc 7:
122766 changed in GNAT 19.0w 20171023: since then, C++ and Ada
122790 Likewise, skip language auto and its alias local in the $::all_languages
122814 DW_AT_name and having DW_AT_linkage_name instead should be fine.
122835 surprising, as we have "breakpoint" as the superclass, and then
122856 Just flipping the names of breakpoint and base_breakpoint around
122912 "set multiple-symbols ask" and then select multiple options from the
122982 Add/tweak intro comments of struct breakpoint and several subclasses
123001 This requires a few casts here and there, but always at spots where
123015 Move common bits of catchpoint and exception_catchpoint to
123030 init_raw_breakpoint uses add_location under the hood, and with a dummy
123049 software_watchpoint_add_no_memory_location, and then
123054 Introduce a new bp_loc_software_watchpoint location kind, and make
123064 add_dummy_location, and simplify it. This will be used by catchpoints
123091 type without relying on set_raw_breakpoint, and similarly,
123105 to internal_breakpoint's ctor, and stops using
123117 should be in ada-lang.c, and describe_other_breakpoints, a core
123152 new_breakpoint_from_type, and manually passing them down to the
123161 None of init_breakpoint_sal, create_breakpoint_sal, and
123180 tracepoint::re_set and tracepoint::decode_location, as they are doing
123184 are code breakpoints, i.e., base_breakpoint subclasses, and thus we
123246 on BE gets messed up since GDB fetches the suffix first and interprets it
123269 The patch has been tested on Power 10 and Power 7 BE and LE to verify
123276 7.0 and may change -- that's long enough ago that I think we can say
123281 Stop readekf and objdump from aggressively following links.
123296 * testsuite/binutils-all/debuginfo.exp: Expect -WE and -wE
123322 As fmv.x.q and fmv.q.x instructions are RV128-only (not RV64-only),
123358 (for inline-detection purposes) for each and every sample. In Chromium
123369 linked list over ranges uses about 10 MB, and the entire perf job uses
123376 Make ld and bfd values consistent by swapping values 0 and 2 in
123388 * bfdlink.h (warn_execstack): Swap 0 and 2 meaning.
123403 arm: Fix system register fpcxt_ns and fpcxt_s naming convention.
123404 The current assembler accepts system registers FPCXTNS and FPCXTS for Armv8.1-M
123405 Mainline Instructions VSTR, VLDR, VMRS and VMSR.
123407 and fpcxts. This patch fixes the issue.
123418 The 'info pretty-printers' example is pretty long and consists of many
123419 commands and their output.
123426 each group is a single GDB command and all its output.
123429 the output of one GDB command, and before the subsequent command, this
123440 filter based on object-regexp, and in the other, to remove the
123441 object-regexp from the command and leave all the output.
123493 gdbsupport: fix path_join crash with -std=c++17 and -D_GLIBCXX_DEBUG
123494 When building GDB with -std=c++17 and -D_GLIBCXX_DEBUG=1, I get:
123532 Otherwise the string table may grow and hence e.g. change a final binary
123534 in fact reduces the overall amount of code, and in particular the number
123566 This involves first of all clearing D_PAGED for images when section and
123582 anymore, and hence a binary could change in that 2nd step for no actual
123594 RISC-V: Fix canonical extension order (K and J)
123613 Add std::hash<> specialization and operator== so that aarch64_features
123633 two copy-and-paste mistakes, passing the wrong type to
123681 Such usage, although uncommon, is valid and useful for signal frames.
123692 variables' types can simply be bool and there's no masking to 32 bits
123711 Support -prompt and -lbl in gdb_test
123712 This teaches gdb_test to forward the -prompt and -lbl options to
123717 As a cleanup, instead of using llength and lindex to get at the
123718 positional arguments, use lassign, and check whether the corresponding
123721 Convert gdb.base/ui-redirect.exp and gdb.xml/tdesc-reload.exp to use
123729 The AARCH64_DWARF_PAUTH_DMASK and AARCH64_DWARF_PAUTH_CMASK DWARF registers
123731 constants and their use.
123783 Update *-linux.xml.in and *-linux.xml using linux kernel tag v5.18-rc6.
123788 In Armv9-A SVE is mandatory, and for SVE FP16 is mandatory. This fixes a disconnect
123789 between GCC and binutils where GCC has FP16 on by default and gas doesn't.
123834 simply be moved (and the then redundant sb_new() be avoided). Along with
123841 constructs. If we skip these, line numbers (and possibly even file
123842 names) will be off / wrong in both diagnostics and debug info.
123850 gas: tweak .irp and alike file/line handling for M68K/MRI
123852 and alike") I neglected the need to omit the leading . in M68K/MRI mode.
123892 Tested with --target_board unix, native-gdbserver, and native-extended-gdbserver.
123919 I think that this is a misfeature. If GDB regresses and stops asking
123950 the file that have the same pattern, and they're actually in a
123954 I don't have gcc 9.2 handy, but I do have gcc 6.5, and that one is
123971 loop, and the first time around, there's a loaded file, so "file" asks
123991 the next gdb_test being interpreted as message, question and
124030 and zicsr for zfh.
124033 INSN_CLASS_D_AND_ZFH and INSN_CLASS_Q_AND_ZFH.
124036 (macro): Expand Pseudo M_FLH and M_FSH.
124044 * opcode/riscv-opc.h: Added MASK and MATCH encodings for zfh.
124045 * opcode/riscv.h: Added INSN_CLASS and pseudo macros for zfh.
124056 s390_insert_operand ()'s val, min and max are encoded PCRel32 values
124057 and need to be left-shifted by 1 before being shown to the user.
124068 blocks, presumably because they were originally if blocks, and the
124071 Remove the unnecessary blocks, and reindent.
124085 too, and remove the internal_error calls. Like, from:
124132 it caused "catch exception" and related commands to fail on Windows.
124167 cooked_index::m_start is unused and can be removed. I think this was
124169 and then when rewriting it I forgot to remove it.
124182 I noticed that windows_process_info::id is only used by gdbserver, and
124186 This changes target_pid_to_exec_file and target_ops::pid_to_exec_file
124189 return type, it's normally pretty safe. This brings gdb and gdbserver
124190 a bit closer, and allows for the removal of a const_cast as well.
124211 write on" (equivalent), and then poke memory expecting it to patch the
124239 ... and 'hdr->sh_offset' is zero, so we seek to just OFFSET, which is
124243 feature), and indeed elf_core_file_p doesn't even try to read sections
124252 register set) and the floating point register set are stored in a
124254 that allow standard bfd access to the general registers (.reg) and the
124274 and patching a core file. Patching an executable already works
124279 Tested on x86-64 GNU/Linux, gdb, ld, binutils, and gas.
124301 PTR will disappear from ansidecl.h and libiberty on the next import
124335 due to gcc commit 33b43b0d8cd ("Define std::string and related typedefs
124353 (pe_process_import_defs): ..instead set up dll_filename and
124391 different architectures and so it works with different long double
124401 Tested on x86_64 (16 PASS), i686 (16 PASS), aarch64 (12 PASS) and arm (9 PASS).
124431 test-case uses 'main_label' as the address of the first and only valid entry
124432 in the line table, and:
124433 - on aarch64-linux, there's no prologue, so main_label and main coincide,
124438 - eliminating the use of "DW_LNS_advance_pc 1", and using
124439 "DW_LNE_set_address $main_end" instead, and
124443 Tested on both x86_64-linux and aarch64-linux.
124455 PR29142, segv in ar with empty archive and libdeps specified
124543 - once for exec maint, and
124546 the "Symtabs:" string, and consequently the corresponding
124547 clause does not trigger and $symtabs remains 0.
124551 Tested on x86_64-linux and powerpcle-linux.
124573 Rewrite the proc to iterate over all cases, and check if the test is supported
124574 by trying "set arch $arch1" and "set arch $arch2".
124577 - a gdb build with --enable-targets=all, and
124590 Process record and replay target doesn't support syscall number 383^M
124611 and statx is not supported.
124665 "daddu $gp,$gp,$t9" and "daddu $gp,$t9,$gp" to the mips32_scan_prologue
124685 gdb: LoongArch: Use GDB style to check readbuf and writebuf
124686 The GDB style is to write 'if (readbuf != nullptr)', and the same for
124712 f(std::string)", and the current language is C, the breakpoint fails
124746 "std::...", and then the "f(class std::..." symbol doesn't exist.
124757 breakpoint at "f(std::string)" in both C and C++.
124769 overloads of c_print_type, one that takes a language, and one that
124774 language, and adjusts the codebase throughout to always pass down a
124777 this->la_language. In a couple spots, like in ada-typeprint.c and
124782 here, and we don't have an enum language handy, so I made it use the
124820 Itanium ABI mangling scheme has a shorthand form for std::string (and
124842 etc. as documented in the Itanium ABI, and pasted above. You can see
124847 DMGL_VERBOSE, and others that did not, leading to mismatches. The
124854 GDB first replaces "uint32_t" for its underlying type, and then sets a
124879 std::char_traits<char>, std::allocator<char> >)", and that would fail,
124884 names has an exception for std::string (and other standard
124894 and this symbol naturally mangles differently, as:
124898 and then because this doesn't use the shorthand mangling abbreviation
124903 Now, when using the C++11 ABI, and you set a breakpoint at
124905 exception for "std::string" and doesn't expand it, so the breakpoint
124917 However, if we do _just_ that, and nothing else, then we break
124924 std::char_traits<char>, std::allocator<char> >" and letting GDB expand
124928 DMGL_VERBOSE and others not, this patch adds wrappers around the
124929 demangler's entry points that GDB uses, and makes those force
124943 exercises both pre-C++11 ABI and C++11 ABI.
124958 behavior is compiler dependent and can differ for different compiler
124965 result, an overflow is expected. This was done for 1, 2, and 4
124977 4 byte overflow tests in the compiled tests of size.f90 and
124987 With this patch both test run fine with the unix/-m32 board and
124992 with Fortran 2008 and removing tests would have decreased coverage.
124994 A last change that happened with this patch was due to gfortran's and
125077 and codesize by some 0.5%.
125123 and PARAMS.
125148 and not [-(1 << 31), (1 << 31) - 1].
125167 a single write, and then checks that both commands are executed.
125189 - Add a script syscalls/update-linux.sh (alongside update-freebsd.sh and
125258 was waiting at a prompt, and that is the case the occurs most often,
125260 ignore the Ctrl-D, and the test will fail.
125294 With test-case gdb.base/catch-syscall.exp and target board unix/-m32, we run
125303 - adding a pipe2 entry in gdb/syscalls/i386-linux.xml.in, and
125307 Tested on x86_64-linux with native and unix/-m32.
125326 "linux: Implement pipe in terms of __NR_pipe2", and consequently syscall pipe2
125333 - openSUSE Tumbleweed (with glibc 2.35), and
125353 Process record and replay target doesn't support syscall number 293^M
125362 "linux: Implement pipe in terms of __NR_pipe2", and consequently syscall pipe2
125371 - openSUSE Tumbleweed (with glibc 2.35), and
125410 The "p 19" command is handled by Term::command, which sends the command and then
125412 - matches the line with "(gdb) p 19", and
125416 19", and the second matching triggers on that. Consequently, wait_for no
125417 longer translates gdb output into screen actions, and the screen does not
125423 Tested on x86_64-linux with make targets check and check-read1.
125463 Tested on x86_64-linux with native and target board unix/-m32.
125516 Tested on x86_64-linux with native and target board
125539 Tested on x86_64-linux with native, check-read1 and check-readmore.
125551 and fixes the bug.
125555 gdb/readline: fix extra 'quit' message problem
125566 gdb: handle bracketed-paste-mode and EOF correctly
125570 accepted (by pressing return) an unexpected 'quit' message will be
125576 quit
125604 and tests that I have not included in this commit.
125606 With this commit in place the unexpected 'quit' messages are resolved.
125649 The test has been run on a Power 10 system and and Intel x86_64 system.
125671 However, this will change in the next patch, and anyway it is clearer
125676 constructor on 'breakpoint' itself. The subclasses and callers are
125684 This adds a constructor to exception_catchpoint and simplifies the
125688 This adds a constructor to syscall_catchpoint and simplifies the
125692 This adds a constructor to signal_catchpoint and simplifies the
125696 This adds a constructor to solib_catchpoint and simplifies the caller.
125699 This adds a constructor to fork_catchpoint and simplifies the caller.
125720 moves it from breakpoint to watchpoint, and changes it to return bool.
125754 The bp-permanent.exp and kill-after-signal tests run fine on PowerPC with an
125793 the Power 9 and Power 10 systems with out any failures.
125848 capture, and eliminating the need for the untyped pointer.
125892 to a GDBserver on startup, and therefore pushes a remote target on the
125914 Various packages (glib and gtk4 for example) produces data-only objects
125933 * s390-opc.txt: Use RRF_R0RER for mgrk and RXY_RERRD for mg.
125984 leftover comments and code from when check_relocs was called as each
125996 and introduced a crash. This can be seen by trying to add an index to
126000 This patch fixes the crash by introducing a new virtual method and
126029 process and threads independently regressed a few gdb.multi/*.exp
126070 current thread's register cache, and the current thread pointer
126111 remote_check_symbols sets the "general thread", if needed, and sends one
126113 process on initial connection, and this would send a qSymbol for only
126116 Change it to iterate on all the target's inferiors and send a qSymbol
126136 disconnecting from GDBserver (with the disconnect command), and
126200 1 and try to resume it.
126272 a VFORK_DONE event. The core ignores it and resumes inferior 1.
126275 event and resumed inferior 1.
126278 which calls the new_objfile observable and remote_new_objfile
126285 remote target is working in all-stop / sync mode and is currently
126286 resumed. It has sent a vCont packet to resume the target and is waiting
126353 removing leftover comments and code from when check_relocs was called
126357 * elf32-ppc.c (ppc_elf_check_relocs): Set isym and ifunc earlier.
126383 NEWS: Add a note for TLS support on FreeBSD/arm and FreeBSD/Aarch64.
126412 FreeBSD's kernel has recently added PT_GETREGSET and PT_SETREGSET
126415 existence, fetch registers for a register set, and store registers to
126437 and GDB, without knowing the thread is gone, tries to write to memory,
126440 GDBserver's GDB-facing memory access routines, gdb_read_memory and
126443 is gone, set_desired_thread returns false, and the memory access
126448 thread that GDB previously selected is gone, and GDB does not yet know
126456 read and write routines, to avoid failing if the selected thread is
126478 -no-connection, and then runto_main does "run", which fails like so:
126507 rewrite this as a separate patch and move the code into a new function
126515 … potentially dangerous executable segments. Add tests, options to disabke and configure switches …
126547 arguments and using 'args' to gather these into a list, though clever,
126591 which means we should have a CLI tty and an MI tty, however, this is
126592 not happening. Instead GDB is just started in MI mode and there is no
126595 The test script tries to switch between the CLI an MI terminals and
126597 terminal the expected output never arrives, and the test times out.
126605 the special 'args' parameter name, and then iterates over this list to
126621 boards/native-extended-gdbserver.exp is loaded, and this file replaces
126664 but that is a completely different issue, and is not being addressed
126669 gdbserver, and one from gdb. We're looking for one output pattern
126670 from each spawn-id, and for the test to pass we need to see both
126678 execute the binary (the test binary is set non-executable), and so we
126679 get an error message from gdbserver (which matches the pattern), and
126685 the pattern from gdb, and fail the test.
126688 variable, and then use this global variable as the -i option within
126693 checks the gdbserver spawn-id for additional output, and so never sees
126695 pattern from gdb to be seen, and for the test to pass.
126715 Tested on x86_64-linux, with gcc 7.5.0, gcc 12.1 and clang 12.0.1.
126826 the '$gdb_prompt $' regexp, and this does not handle the case that '(gdb) ' is
126832 Tested on x86_64-linux with native, check-read1 and check-readmore.
126841 Currently, the get_disassembler() implementations for riscv, csky, and
126842 rl78--and mep_print_insn() for mep--access ELF variants of union fields
126844 causes undefined behavior and crashes when disassembling non-ELF files
126874 we can now remove most function pointers from breakpoint_ops and
126888 Merge probe and ordinary tracepoints
126891 and furthermore can be distinguished by their event location.
126897 Merge probe and ordinary breakpoints
126900 and furthermore can be distinguished by their "probe" object.
126903 new bp_ constant (which can be quite subtle to do correctly) and a new
126920 bp_static_marker_tracepoint and updates various spots to recognize it.
126937 by users, and also a base class used by other classes.
126941 except it's written out explicitly -- and, importantly, there's
126943 This changes dprintf to simply inherit directly, and updates struct
126968 inverted way in which create_breakpoint works; and in particular later
126977 This converts watchpoints and masked watchpoints. to use
126979 introduced, and watch_command_1 is changed to create one.
127001 exceptions of create_sals_from_location and create_breakpoints_sal,
127005 Then, this adds a new vtable_breakpoint_ops structure and populates it
127014 This changes breakpoint_ops::print_one to return bool, and updates all
127015 the implementations and the caller. The caller is changed so that a
127031 Change print_solib_event to accept a bool parameter and update the
127035 The "catch load" code is reasonably self-contained, and so this patch
127036 moves it out of breakpoint.c and into a new file, break-catch-load.c.
127053 This de-duplicates variables and types in .gdb_index, making the new
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
127196 and after, it's inferior 1. Then, back in fetch_inferior_event, the
127212 So in the end, inferior 1 stays current, and inferior 2 gets wrongfully
127219 and ecs->event_thread is not set, so the current inferior isn't
127224 inferior, and that's what we want.
127240 Slightly tweak and clarify target_resume's interface
127250 process), the step/signal request is for inferior_ptid, and PTID
127260 Still not ideal, but it's a minimal change and at least there are no
127264 SCOPE_PTID, adds some assertions to target_resume, and tweaks
127266 SCOPE_PTID in the remote and linux-nat targets, and simplifies their
127299 to allow function pointer reference and make sure that PLT entry isn't
127331 exceptions being in some nat-* code I can't compile, and
127373 And so, we see that the nullptr check has been lost, and we might end
127376 My proposed fix is to move the nullptr check into block::ranges, and
127416 When two types conflict and they are not types which can have forwards
127424 we end up picking the first we run across and promoting it, and
127432 appeared earlier on the link line (and if there is somehow still a tie,
127435 Add a testcase -- and since this emerged when trying out extern arrays,
127452 * testsuite/ld-ctf/array-char-conflicting-2.c: ... and this.
127462 section content, since it's fairly involved and easy to get wrong.
127496 gdb: remove BLOCKVECTOR_BLOCK and BLOCKVECTOR_NBLOCKS macros
127497 Replace with calls to blockvector::blocks, and the appropriate method
127598 of a "long" type, and this isn't currently accounted for in
127618 architectures show "unsigned int" for both 32-bit and 64-bit integers
127619 and 64-bit architectures show "unsigned int" and "unsigned long" for
127620 32-bit and 64-bit integers.
127634 quit
127646 quit
127649 quit
127652 quit
127664 * Adjusts the expected values and types based on the sizes of long
127665 long, long and int.
127668 long, and thus no way to represent 64-bit integers in C-like
127705 It has been tested using an STM32L5 board (with cortex-m33) and the
127710 The test consisted in setting breakpoints in various places and check
127712 __gnu_cmse_nonsecure_call (before and after the vpush instruction),
127722 to handle Secure and Non-secure modes.
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
127735 gdb/arm: Define MSP and PSP registers for M-Profile
127737 arm_m_exception_cache() and relies on the definition with the XML
127753 Tom and Simon feedback that there is a test failing in this commit:
127760 Then, I reproduced the same fail with Ubuntu 20.04 as Simon said, and I
127765 in some methods, so this patch fixes this issue and some other
127768 Tested on x86_64 ubuntu 20.04.4 and openSUSE Tumbleweed(VERSION_ID="20220425").
127779 * pe-dll.c (make_head): Use asprintf to allocate and populate a
127790 supported for non-ELF targets, and isn't needed since we now prune the
127809 GDB PowerPC record test cases for ISA 2.06 and ISA 3.1
127813 it checks the word and prefixed instructions and some of the Matrix
127816 The patch has been run on both Power 10 and Power 9 to verify the ISA
127818 runs without errors on Power 10 and is skipped as expected on Power 9.
127847 is confusing and not useful; it's better to recognize such errors and
127855 and property-6.
127860 Convert bsd_kvm_corefile and the local filename in bsd_kvm_open to
127876 …PowerPC: Update expected floating point output for gdb.arch/altivec-regs.exp and gdb.arch/vsx-regs…
127897 the hexadecimal format for both big endian and little endian systems. The
127906 The patch has been tested on Power 10, Power 8 LE and Power 8 BE.
127931 because of a missing .note.GNU-stack section is deprecated and
127946 for assumed rank 0 and updates the testcase as well.
127976 enforce this, and got one regression in the testsuite:
127995 start_step_over return immediately, and there is no point in restarting
128001 to help enforce this precondition, and state it explicitly.
128003 I have also checked all other places which call restart_threads, and
128008 something. So as usual, all feedback and thoughts are very welcome.
128075 and then try again.^M
128080 - Connect to a remote target with inferior 2, continue and stop on the
128083 continue and (expect to) stop on the all_started function
128105 This target is working in "remote all-stop" mode, and it is currently
128112 condition where some target reports a breakpoint hit for a thread and
128115 want to ignore the "no resumed" and carry on.
128135 gdbserver/linux: free process_info_private and arch_process_info when failing to attach
128142 tied to the process_info (process_info_private and arch_process_info):
128175 (which calls remove_process), and call that instead of remove_process in
128183 gdb: handle bracketed-paste-mode and EOF correctly
128202 Please read that commit for a full description of the bug, and why is
128207 new function we can now print the 'quit' message, this replaces the
128208 old printing of 'quit' in command_line_handler. Of course, we only
128209 print 'quit' in gdb_rl_deprep_term_function when we are handling EOF,
128221 gdb_rl_deprep_term_function function, we could simply print "quit" and
128226 "quit" when bracketed paste mode is on, and "quit\n" when bracketed
128232 from rl_deprep_terminal, and so in gdb_rl_deprep_term_function, we can
128233 now always print "quit\n" and this works for all cases.
128239 the fixes needed to support correctly printing the 'quit' string.
128242 command_line_handler for printing 'quit', however, this code is only
128245 readline, and they have bracketed paste mode on, then they will see
128246 the 'quit' sting printed on the line below the prompt, like this:
128249 quit
128257 (gdb) quit
128278 rl_eof_found global, and the RL_STATE_EOF state flag. These changes
128279 are needed in order to fix PR cli/28833, and are discussed in this
128311 enabled in readline, and GDB is quit by sending EOF, then the output
128315 quit
128320 (gdb) quit
128328 of readline (this fix is back-ported from upstream readline), and then
128333 done, and the system readline is version 8, then we will still have to
128336 But, if GDB is built against the system readline, and the system
128347 '--with-system-readline' flag, and build GDB on a system that uses
128378 given by the kernel, and what could be considered a bug in GDB.
128381 Most of the time, GDB will get and process the exit event for inferior 1
128383 After the last child exits and is waited by the parent, the parent can
128385 the parent and that child at the same time. It then chooses one event
128413 there's no reason why in one case inferior 11 would be deleted and not
128432 definitely built and tested the series on Windows, and I didn't change
128434 build, but I don't know what. I'll investigate and and re-test to be
128439 More const use and alloca avoidance in coff-pe-read.c
128441 and to avoid the use of alloca by instead using std::string.
128444 coff-pe-read.c uses xsnprintf and alloca, but using std::string is
128445 better, and just as easy. In general I think alloca is something to
128446 be avoided, and unbounded uses especially so.
128456 removal of helper functions and types.
128487 lib1_func3 and lib2_func4 to occur at different address in the wrong and
128490 With RIGHT defined correctly, functions lib1_func3 and lib2_func4 occur
128493 The test needs the lib2 addresses to be different in the right and
128503 defined to get the lib2_spacer function on Intel and Powerpc.
128533 In one case the backtrace is correct and the other it
128536 believe it has to do with the default size of the data and code
128549 for both the good and bad libraries.
128551 The patch fixes defining RIGHT in solib-search-lib1.c and solib-search-
128552 lib2.c. Note, without the patch the lib1_spacer and lib2_spacer
128580 the dynamic linker works and what the default size is for the data and
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
128596 move because lib1_spacer and lib2_spacer are now defined
128597 before lib1_func3 and lib2_func4.
128599 Without the patch, the lib1_spacer and lib2_spacer function doesn't show
128602 both architectures and lib1_spacer and lib2_spacer function show up in the
128618 that's what the field in called in DWARF 4 and 5. It's always easier to
128645 not crucial, just remove it, and adjust all callers.
128662 is careful to re-use the per-BFD data, other readers are not, and
128667 safe and easy for all symbol readers to reuse the per-BFD data when
128670 This patch implements this idea, simplifying dwarf2_build_psymtabs and
128671 making it private, and then switching to dwarf2_initialize_objfile as
128691 gdb/gdbsupport: make xstrprintf and xstrvprintf return a unique_ptr
128715 naively concatenating "/" and "foo/bar" would give "//foo/bar", which
128724 paths, since they might end up visible to the user and look a bit
128742 Regression-tested on Ubuntu 18.04. Built-tested on Windows, and I also
128752 In a previous commit (b750766ac96: gdb/testsuite: Introduce and use
128765 We currently only test decimal and hexadecimal for the
128778 Also, by using "confirm off", the message GDB prints if Debuginfod
128792 …(gdb) with confirm off -- file testsuite/outputs/gdb.debuginfod/fetch_src_and_symbols/fetch_src_an…
128815 (run_dump_test): Call prune_warnings for ld and objcopy output.
128850 gdb/testsuite: Introduce and use gdb_spawn_attach_cmdline
128853 introduce the gdb_spawn_attach_cmdline helper and use it in
128856 This helper starts GDB and adds the "--pid=$PID" argument.
128858 Also note that both the original and new implementation use
128903 obvious that only a single index can be active at a time, and also
128917 Introduce and use dwarf_scanner_base
128920 and cooked_index_vector to derive from this new base class.
128924 dwarf2_base_index_functions, and changes the DWARF reader to use it.
128942 This moves mapped_index_base and the helper struct name_component to a
129002 table and params fields.
129036 (_create_output_section_statements): Allocate stub file and
129053 build the loader section (this function) and one that only size
129063 * coff/xcoff.h (struct xcoff_loader_info): Add ldrel_count and
129118 Because the call is done during GDB's initialization, and because there
129142 architectures are registered and we do not have a dependency on the
129164 Remove the callback-based selftests::for_each_selftest function and use
129177 the need for separate templates in the first place), and expressing the
129195 cloned or used as reference here, and instead the bogus legacy forms of
129200 x86: correct and simplify NOP disassembly
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
129219 the first user-provided directory and the first user-provided files and
129220 make them elements at indices 0 in the directory and file name tables.
129225 table with just a single file and a single directory.
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
129232 Adjust dw2-lines.exp and dw2-prologue-end.exp accordingly. Their produced
129234 directory and file, where they had two before. But it doesn't change
129327 mi_tbreak and mi_continue_to_line to avoid that.
129375 The clear command shouldn't delete momentary and internal breakpoints,
129378 This patch fixes this issue and adds a testcase.
129415 prompt. This patch takes a simple and expedient approach to a fix:
129454 stable, current beta, and current nightly.
129463 code wasn't always dead -- it fixed a real bug, and a test case was
129482 With test-case gdb.ada/float-bits.exp and native we get:
129492 unsigned integer (must be between 0 and 79228162514264337593543950335)^M
129506 Tested on x86_64-linux with native and unix/-m32.
129576 and subsequently reworked in these commits:
129614 memory reads and writes, like this:
129677 when threads are running, and thus will also make
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
129690 scenario, gdb assumes the entries are terminated and then proceeds to
129695 .debug_aranges CU, it's better to simply ignore 0,0 entries and simply
129703 Windows 10 introduced SetThreadDescription and GetThreadDescription, a
129704 simpler way to set a thread's name. This changes gdb and gdbserver to
129723 (AdaCore uses it, and sent it upstream, but it did not land, I don't
129743 target/target.c, and updates both gdb and gdbserver to build this.
129791 Fix by using gdb_test to send the "n" answer and match the confirmation
129792 and consume all output to the prompt.
129839 After some debugging and bisecting, to my surprise the bug was
129866 seemed harmless), and removes the fall-through in the
129876 missing commas, and fixes an incorrect reference to NewInferiorEvent.
129880 gdb: remove move constructor and move assignment operator from cooked_index
129908 We explicitly make cooked_index have a default move constructor and
129926 ... which adds mingw support to GCC's gthreads implementation, and
129929 This configure change fixes this problem and enables threading for
129966 and eventually into all sort of fails in this and other mpx test-cases.
129970 Tested on x86_64-linux with target boards unix and unix/-m32.
130053 intrusive_list_iterator, intrusive_list_reverse_iterator, and
130118 pointer to the last linetable entry, pop it from the vector, and then
130123 Instead, record just the line number in an optional and use it.
130149 Reduce manual memory management and make the code a bit easier to read.
130158 gdb: change subfile::name and buildsym_compunit::m_comp_dir to strings
130176 of subfile (and therefore owned by the buildsym_compunit.
130213 result_of and result_of_t have been removed in C++20 though, so I think
130225 dwarf2_per_cu_data and remove the "quick" object entirely.
130241 parallelization and background finalization patches.
130267 a bit more generic. Now, it can handle multiple maps, and it can work
130284 this patch changes the key type in psym_index_map (and renames that
130308 0.668923; and psymbol reader does this in 1.598869. That is, at the
130315 designed so that each storage object and each indexer is fully
130319 This patch creates a new cooked index storage object per thread, and
130348 collects complaints, and then prints them all when the object is
130355 complaints, and because the complaint macro handle this case already
130372 I did a bit of performance testing for this patch and a few others. I
130380 This patch is the baseline and on one machine came in at 1.598869 wall
130387 This is the code that interfaces between the new index and the rest of
130399 reads the DWARF and constructs the index, but nothing calls it yet.
130401 The indexer is split into two parts: a storage object and an indexer
130415 is performed and the entries are added to a sorted vector.
130420 These two facets -- the short name and the deferred canonicalization
130425 ("encoded", in the Ada lingo) names, and so we reconstruct the
130452 abbrevs imply a static size for the DIE data, and additionally that
130456 This patch changes the abbrev reader to analyze each abbrev and stash
130460 be done without reading any attributes; and in some other cases, the
130467 different way. The current reader reads and stores all the DIEs that
130469 CU and reads them all. This approach is used for both intra- and
130480 That is, most DIEs are never used, and some are looked up twice -- but
130493 This changes the file_and_directory object to be able to compute and
130511 just a single CU. This patch parameterizes this, and updates the one
130518 because it is easy to review in isolation and it helps make the later
130530 and "c" will be stored separately.
130550 a psymtab or psymtabs_addrmap. Instead, both the addrmap and the
130571 and a worker function. The worker function is then used in a later
130578 However, there's no deep reason for this, and during review we found
130588 (mingw, before my recent configure patch) and verified that the result
130602 run into this and similar:
130638 tests to detect this situation and stop with "untested".
130654 gas: drop .appfile and .appline
130660 anymore and can hence be dropped.
130666 and alike blocks"), while dealing okay with actual assembly source files
130667 not using .file/.line and alike outside but not inside of .macro, has
130677 reason. While renaming the variable and changing its type, also change
130690 gas: further adjust file/line handling for .irp and alike
130692 and alike blocks"), while dealing okay with actual assembly source files
130693 not using .file/.line and alike outside but not inside of .irp et al,
130699 Diagnostics (and debug info) would be associated with the directive
130702 Handle this automatically by simply latching the present line and then
130705 state stack, and hence can be taken from there by using a new flavor of
130709 only be seen and processed afterwards.)
130759 Remove MSYMBOL_HAS_SIZE, MSYMBOL_SIZE and SET_MSYMBOL_SIZE, replace them
130767 Add a getter and a setter for a minimal symbol's type. Remove the
130768 corresponding macro and adjust all callers.
130775 Remove all macros related to getting and setting some symbol value:
130798 gdb/doc: add section about Fortran intrinsic functions and types
130802 I added two sections 'Fortran intrinsics' and 'Fortran types' to
130814 gdb/fortran: rewrite intrinsic handling and add some missing overloads
130815 The operators FLOOR, CEILING, CMPLX, LBOUND, UBOUND, and SIZE accept
130829 fortran_wrap2_kind and fortran_wrap3_kind have been added as equivalents
130830 to the existing wrap and wrap2 methods.
130836 one, two, or three arguments to the Fortran parser and the
130857 For LOGICAL and COMPLEX it would return the actual underlying types
130876 This is inconsistent and a bit confusing. Both options somehow indicate
130890 wrong. Consider debugging Fortran code compiled with GNU and e.g. the
130923 This patch changes the outputs for the REAL and INTEGER default types to
130939 tokens and their parsing. While still not all Fortran type kinds are
130943 keywords "integer" and "integer_2" but missed "integer_4" and "integer_8"
130945 the Fortran builtin types builtin_integer and builtin_integer_s8.
130946 Similar problems applied to LOGICAL, REAL, and COMPLEX. This patch adds
130947 all missing tokens and their parsing. Whenever a section containing the
130950 together and ordered ascending in their size making a missing one more
130976 With this patch all keywords are available and the GDB prints:
130999 and LOGICAL. Existing testcases have been adapted to reflect the
131006 'single numeric storage unit' (just like real and integer). For
131007 gfortran, flang and ifx/ifort this storage unit (or the default
131009 storage, and so the default type for logical expressions in
131010 Fortran should probably also be Logical*4 and not Logical*2. I
131015 Add a few newlines after the type definitions and remove some
131037 size of the type. This is confusing and I renamed the types (e.g.
131039 common useage) and their printed names to their language equivalent.
131041 as a COMPLEX*4 (as is normally the case) and removed the latter. I added
131067 The problem is that the commit makes the number and order of matched
131068 annotations fixed, while between target boards unix and unix/-fPIE/-pie there
131104 - the synthetic debug info is incomplete and doesn't provide line info
131111 Tested on x86_64-linux with target boards unix, unix/-m32, unix/-fPIE/-pie and
131132 * section.c (struct bfd_section): Move next and prev field earlier.
131158 gas: Port "copy st_size only if unset" to aarch64 and riscv
131178 * src/Makefile.am: Add $(ZLIBINC) and $(ZLIB).
131201 lhs, which is signed. This actually became defined in C++20, and if
131206 (and are still undefined in C++20) and result in GDB dying: shifting
131223 arithmetic right shift, and it may be we don't support any host or
131260 too-large shift). So for that language GDB does the shift and
131310 Fix undefined behavior in the Fortran, Go and Pascal number parsers
131323 ... to the Fortran, Go, and Fortran number parsers, fixing the same
131348 [Sending to binutils, gdb-patches and gcc-patches, since it touches the
131364 Then PKG_CONFIG_PATH is only present (and ignored) during the top-level
131365 configure. When running make (which runs gdb's and binutils'
131373 passed when configuring the top-level and pass it down to
131419 the binary, reloads it in GDB, runs the program, and then tries to place
131465 This patch fixes PR22497 and PR26373 on GDB side.
131489 and running this with GDB and setting a BP at 17:
131513 and my_type which gfortran and flang currently do not de. The
131569 In the patches that were originally merged, this was not the case, and
131573 wrong (undefined) memory, and returning garbage results.
131577 value, and extended some comments, and added or adjusted some asserts
131586 redundant code, and make it easier to add support for a new compiler.
131588 Right now it only handles clang specially (using -fdebug-macro) and
131595 compilers to notice something is wrong and maybe add support for their
131634 starting with \r\n\032\032 and ending with \r\n
131636 output, and use it as a separator in the first part of the regexp
131705 gdb/testsuite: make gdb_breakpoint and runto take a linespec
131708 name and documentation. Change runto as well, since the two are so
131722 clear, and where we had comments duplicated between .c and .h files,
131731 reggroup_name and reggroup_type accessor functions, and just use the
131741 and getter methods.
131748 Convert the 7 global, pre-defined, register groups const, and fix the
131756 Convert the reggroup_new and reggroup_gdbarch_new functions to return
131757 a 'const regggroup *', and fix up all the fallout.
131763 gdb: remove reggroup_next and reggroup_prev
131768 reggroup_next and reggroup_prev functions.
131770 Finally, delete the reggroup_next and reggroup_prev functions.
131778 just fetch the register group vector from the gdbarch when needed, and
131782 In gdb/tui/tui-regs.c the tui_reg_next and tui_reg_prev functions are
131783 just wrappers around reggroup_next and reggroup_prev respectively.
131794 change the reggroup_next and reggroup_prev API, but that will change
131808 when we iterate over the register groups using reggroup_next and
131823 default groups are not used, and instead, the groups from the target
131831 riscv_add_reggroups, xtensa_add_reggroups, and others.
131862 This prints all the registers, and the groups they are in. If the
131881 contain the message 'Register Values Unavailable', and at the console
131887 At this point you can continue to use 'tui reg next' and/or 'tui reg
131888 prev' and you'll keep getting the error message.
131892 tui_reg_next and tui_reg_prev (tui/tui-regs.c) will always just return
131895 In this commit I change tui_reg_next and tui_reg_prev so that they
131896 instead return the first and last register group respectively if the
131915 ambiguous register name, and refuse to switch groups.
131921 be able to select the group directly, the 'prev' and 'next' names will
131956 script, regeneration of gdbarch.{c,h}, and then updates to all the
131987 and can see the following issue.
131989 I start GDB and immediately hit the assert, the output is as you'd
132040 I provide an answer and press return GDB immediately crashes.
132043 field within the current_ui structure is not initialized, and this
132055 and setting up the interpreter. I'm sure there is a solution hiding
132070 After this change GDB prints the error message, the backtrace, and
132074 quit the debug session" (I think).
132125 information for functions marked as such and having their size
132134 its return type can only ever be one object format's type (and this
132166 * doc/as.texi: Add z16 and arch14 to CPU string list.
132197 function is a complex type and len <= 2 * MIPS64_REGSIZE, the return value
132198 will be passed through $f0 and $f2, so fix the corresponding processing
132220 Use new and delete in jit.c
132221 This changes jit.c to use new and delete, rather than XCNEW. This
132223 working on, and I thought it would make sense to send it separately.
132231 value causes an internal error. The original bug report involves MI and
132232 some Python pretty printer, and is quite difficult to reproduce, but
132257 the entire value as optimized out, and then clears the lazy flag. But
132270 1. respect the documented invariant that contents is nullptr only and
132276 allocated, it depends on how they were created) and adjust
132287 result in an optimized out value without allocated contents (and the
132294 direction than choice #1. #1 would be a pessimization, and if we go
132315 turns into 4294967291 and naturally that changes the result of our division.
132368 source, and it too has moved over to using interp_factory_register.
132378 * dwarf.c (fetch_indexed_value): Rename to fecth_indexed_addr and
132383 and DW_FORM_rnglistx.
132384 (process_debug_info): Load the loclists and rnglists sections.
132386 DW_LLE_startx_endx, DW_LLE_startx_length and
132392 DW_RLE_base_addressx, DW_RLE_startx_endx and DW_RLE_startx_length.
132414 from ARMv8.1-m PACBTI: pac, aut, pacg, autg and bti. Also keep track of
132418 ARMv8.1-m PACBTI (Tag_PAC_extension, Tag_BTI_extension, Tag_PACRET_use and
132435 ….arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentic…
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
132457 includes in mep-tdep.c and python/py-registers.c are no longer needed,
132474 files. It also converts timestamped_file and pager_file to use it.
132509 Here, we continue both the vfork parent and child, since
132511 and makes an exit event available to GDB. We expect GDB to consume this
132512 exit event and present it to the user. Here, we see that GDB shows the
132518 and exit quickly, such that when GDB pulls events out of the kernel,
132562 child_function). That one is always printed, and is also a good check
132587 thread to make progress and eventually hit the breakpoint.
132589 I copied user-selected-context-sync.c to a new mi-cmd-user-context.c and
132606 Update the function to use isxdigit instead and also update the documentation.
132621 fork/vfork. With "debug infrun" and "debug remote", it looks like this
132653 step-resume breakpoint, and it's ok to continue freely the stepping
132662 called vfork, and keep the others stopped (see patch "gdb: fix handling of
132730 native-gdbserver and native-extended-gdbserver boards.)
132734 target to stop a thread and wait() reports that this thread stopped with
132737 While running this test, I attached to GDBserver and stopped at
132764 if/else between lines 3562 and 3583 (in the original code) makes sure
132785 signal" and non "syscall signal" cases, we would ideally skip over all
132810 - W does not represent a SIGSTOP that have sent to stop the thread and
132836 Let's suppose GDB is handling a vfork and the user's desire is to detach
132849 2. Remove breakpoints from the (shared) address space and set
132853 5. Wait for and receive "vfork done" event for the parent
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
132872 The problem is present with all-stop and non-stop targets. The only
132874 stopped by the target when it reports the vfork event and are resumed by
132885 "default" case, where we detach the child and keep debugging the
132887 The code paths and behaviors for when we don't detach the child are
132921 Note that when resuming multiple inferiors, one vforking and one not
132931 missed breakpoint and the program exiting.
132944 gdb/infrun: add inferior parameters to stop_all_threads and restart_threads
132946 opposed to all threads of all inferiors) while handling a vfork, and
132948 stop_all_threads and restart_threads. This is done as a separate patch
132949 to make sure this doesn't cause regressions on its own, and to keep the
132975 Since the new field points to a thread_info object, and those are
132979 infrun_inferior_exit and infrun_inferior_execd.
133011 libraries are no longer copied over the remote protocol, and I no
133112 this information and not try to rely on architecture dependent logic to
133116 Testcases have been compiled with both gcc/g++ (verison 9.4.0) and
133155 see it in action by setting "set debug auto-load 1" and running a
133209 It contains a single type, and it is skipped by ctf_add_type_cb, because
133238 instead, the styled print routines just ignore the style and print the
133245 with its clients (gdb and gdbserver). However, if we ever want the
133262 windows_thread_info declares and defines a destructor, but this
133281 this are not needed, and furthermore I found this quite confusing at
133282 first -- Windows actually uses solib-target and so the use of so_list
133286 and a new type that holds exactly what's needed for the Windows code.
133300 Fix this by parsing the user/guile input as plain int, and cast to
133329 in any production in ada-exp.y, and removing it here helps the
133335 The Ada parser has a DOT_ALL token to represent ".all", and another
133341 processId in ada-lex.l is a bit funny -- it uses an "if" and a
133342 "switch", and a nested loop. This patch cleans it up a bit, changing
133343 it to use a boolean flag and a simpler "if".
133360 "expr_completion_state", and handled explicitly by
133367 The structop completer is moved into structop_base_operation, and new
133377 Because this is rarely useful, and pretty much only for maintainers, I
133383 The Ada lexer allows whitespace between the apostrophe and the
133385 fixes the problem and introduces a regression test.
133401 It's a bit confusing because we have both "compunit_symtab" and "symtab"
133402 types, and many methods and functions containing "start_symtab" or
133442 (generally directives on the new symbol should win) and is relied upon by glibc
133464 To fix the inconsistency and improve robustness, make bar2/bar3/bar4 match bar1,
133497 of strings, and then loops over the array printing the arguments out
133507 some immediates, and comments. Everything else will be printed as
133551 use of --visualize-jumps, a basic 8-color mode ("color"), and an
133561 must provide two functions, the current non-styled print function, and
133570 completely, and also do a partial conversion of the x86 disassembler.
133572 allow more people to try this out easily and provide feedback.
133583 objdump_print_addr_with_sym, where we print an address and a symbol
133584 name, these are now printed with styling information, and so will have
133589 people to suggest new colors, or wait for this commit to land, and
133614 (disassemble_jumps): Use disassemble_set_printf, and reset
133617 (disassemble_bytes): Use disassemble_set_printf, and reset
133625 (struct disassemble_info): Add fprintf_styled_func field, and
133634 initialize the new fprintf_styled_func and created_styled_output
133668 Tested on x86_64-linux, specifically openSUSE Leap 15.3 and Fedora 34.
133678 read from the DW_AT_rank attribute and stored within the type just
133691 array rank (which might require resolving a dynamic property) and then
133704 range isn't part of an array with dynamic rank, and so the range
133710 dwarf2_evaluate_property, and handling the 'rank - 1' in
133777 function, which is declared in gdb/dwarf/loc.h and defined in
133781 type property_addr_info called addr_stack and a boolean called
133788 address (what the top of addr_stack represents), and the case where
133799 and using this to decide if we should push the object address or not,
133870 The reason for this is the ordering of build rules and make variables
133872 rules, and the ALLDEPFILES variable. The ordering is like this:
133885 undefined, and so expands to the empty string. As a result TAGS does
133892 The ALLDEPFILES references three files, arm.c, arm-get-next-pcs.c, and
133909 including their arch/ prefix, and removed the incorrect (missing arch/
133934 These are caused by a separate issue, and will be addressed in the
133945 Add mi/ and testsuite/gdb.mi/ subdirectories.
133947 But as far as I can tell was not used at the time it was added, and is
133958 limits are just "the terminal size", and so, we end up placing the
134002 gdb/tui: relax restrictions on window max height and width
134004 tui_cmd_window::max_height, tui_win_info::max_height, and
134009 little and can see no real reason why these adjustments should be
134024 complete terminal height, and the layout is done correctly.
134051 winheight and recheck are just extras. All of these test pass both
134052 before and after this commit.
134112 understand this though, and tried to retain the full width for the cmd
134124 character. The series of 'V' and 'H' characters represent the
134142 And so, when switching between example1 and example2, gdb knows that
134144 layout, and will retain the cmd window size.
134147 the position of the cmd window is different, and does not try to
134154 function to reapply the layout, and recalculate all the window sizes.
134161 want the cmd window to reduce in size, and in the other, we want the
134172 and that the cmd window has been placed over the border of the asm
134183 border overlap between the src and asm windows, this is still 2 lines
134188 window to reduce in height so that the src and asm windows can occupy
134193 correctly, and the 'info win' output is:
134218 the first 8 lines, and the rest of the terminal is unused!
134250 we find that we have tried every window, and still have space either
134253 to a non-fixed-size window, and proceed to either give, or take space
134278 Notice the weird split between the src and regs windows, the original
134280 problem is that, with rounding, both the regs and src windows are
134287 and so, we now get this result:
134300 This is obviously a change in behaviour, and so, lots of the existing
134324 and, when we move into step 2, where we attempt to size the windows,
134325 we perform a divide by zero, and crash.
134327 After this commit we avoid the divide by zero, and just directly set
134340 list of test descriptions, and a loop to check each description in
134343 In future commits I plan to add additional tests to this file, and
134349 gdb/tui: add left_boxed_p and right_boxed_p member functions
134361 So checking bottom_boxed_p and top_boxed_p is clearly wrong.
134364 bottom_boxed_p is equivalent to an imagined right_boxed_p, and
134367 In this commit I've renamed both top_boxed_p and bottom_boxed_p to
134368 first_edge_has_border_p and last_edge_has_border_p respectively, and
134370 handle both horizontal and vertical layouts.
134380 This commit adds 'set debug tui on|off' and 'show debug tui'. This
134381 commit adds the control variable, and the printing macros in
134382 tui/tui.h. I've then added some uses of these in tui.c and
134386 some helper member functions in the class tui_layout_split, and also
134402 redirect and switching interpreters. Thus, the above only really
134403 works if the logging is enabled after the tui is enabled, and disabled
134406 Enabling logging and switching interpreters can cause undefined
134407 results, including crashes. This is an existing bug in gdb[1], and
134415 gdb/tui: add new 'tui window width' command and 'winwidth' alias
134416 This commit adds a new command 'tui window width', and an alias
134421 namespace, and I would strongly encourage all new tui commands to be
134423 if they want), I'm breaking that suggestion here, and adding a
134426 Given that we already have 'winheight' and have done for years, it
134430 work right. I setup a horizontal layout, then grow and shrink the
134435 is a little ... temperamental, and is prone to getting things slightly
134453 adjustment, and added a boolean flag to indicate if we are adjusting
134466 set_weights_from_sizes, and makes the function use either the height,
134482 and makes it easier for a later commit to add a new
134502 more easily discovered by typing 'tui ' and then tab-completing. Also
134523 I've added a NEWS entry and updated the docs to mention the new and
134538 * section.c (struct bfd_section): Delete relax and relax_count.
134547 relax and relax_count.
134549 relax and relax_count. Make some variables size_t.
134564 Regen bfd po/SRC-POTFILES.in
134574 to reflect the reality, and then we can clean up the related code.
134578 These files are maintained in gcc and then imported into the
134612 needs to support both 64-bit and 32-bit arches needs to use
134617 the base addresses of the %fs and %gs segments (corresponding to the
134618 %fsbase and %gsbase registers). Parse this note to permit inspecting
134641 and %gs segments for both i386 and amd64 core dumps. It is primarily
134682 x86: Remove bfd_arch_l1om and bfd_arch_k1om
134683 Remove bfd_arch_l1om and bfd_arch_k1om since L1OM/K1OM support has been
134684 removed from gas, ld and opcodes.
134688 * Makefile.am (ALL_MACHINES): Remove cpu-l1om.lo and cpu-k1om.lo.
134689 (ALL_MACHINES_CFILES): Remove cpu-l1om.c and cpu-k1om.c.
134696 (bfd_archures_list): Remove bfd_k1om_arch and bfd_l1om_arch
134699 l1om_elf64_fbsd_vec, k1om_elf64_vec and k1om_elf64_fbsd_vec.
134700 (targ_archs): Remove bfd_l1om_arch and bfd_k1om_arch.
134715 k1om_elf64_fbsd_vec, l1om_elf64_vec and l1om_elf64_fbsd_vec.
134793 contains information that has been factored out of all CUs and is at the
134795 partial symtab and an artificial CU that's named after the objfile.
134806 it is for debugging purposes (and "maint info symtabs" exists for
134865 buildsym_compunit and starts a subfile. But that buildsym_compunit is
134920 and we'll continue with ccx->builder equal to 0xbebebebebebebebe.
134944 gdb: Consolidate 32bit-pkeys.xml and 64bit-pkeys.xml
134945 1. Since 32bit-pkeys.xml and 64bit-pkeys.xml are identical, consolidate
134961 When debugging multiple inferiors with the Linux native target and
134967 is never cleared, and breakpoints are never reinserted. However,
134972 events and let infrun's logic decide if it should be ignored. We don't
134983 I see some failures, at least in gdb.multi/multi-re-run.exp and
135065 some logging I added and that are part of this patch.
135111 failure can be explained by the LWP becoming zombie, and swallows the
135118 - check_zombie_leaders detects that the leader is zombie and deletes
135120 there's none since the leader (that was resumed) is now deleted, and
135126 availability of the process' exit notification and the call to wait_1
135230 conditional on having both armv8.5-a and +rng, but only +rng should be
135306 control characters and control sequences of our toy terminal
135311 control sequences and characters are tested, except _csi_m (the one that
135312 handles colors and stuff). _csi_m should probably be tested too, but it
135320 implementation to match the doc (and the test).
135347 worker thread (and I don't think the existing minsym threading code
135354 Use gdb_printf and gdb_vprintf in more places
135361 I noticed that both gdbserver and gdb define current_directory.
135369 In Ada, if a class implements an interface and has a dynamic
135375 Because this only touches Ada code, and because Joel already reviewed
135395 entirely. I checked the Insight sources, and these aren't mentioned
135400 Remove unnecessary calls to wrap_here and gdb_flush
135401 Various spots in gdb currently know about the wrap buffer, and so are
135405 Now that the pager is just an ordinary stream, this isn't needed, and
135425 and it uses the puts_unfiltered method. This patch removes the flag
135426 and the dead code.
135431 isn't a great name (the first "f" doesn't mean much and the second one
135437 pretty weird, and should probably be rewritten to avoid using the
135438 chars_printed global, and moved into objc-lang.c. However, I haven't
135446 Now that filtered and unfiltered output can be treated identically, we
135451 Now that filtered and unfiltered output can be treated identically, we
135456 Now that filtered and unfiltered output can be treated identically, we
135461 Now that filtered and unfiltered output can be treated identically, we
135463 vprintf_unfiltered, vfprintf_filtered and vfprintf_unfiltered. (For
135465 unfiltered output at this point.) This removes one such function and
135500 * The breakpoint _print_recreate family, and
135502 and so are fine.
135518 they are using gdb_stdout, then filtering will still apply; and if
135519 not, then filtering never applied and still will not.
135522 all the other _filtered and _unfiltered calls, and they can be
135525 In this patch, take special note of the vfprintf_maybe_filtered and
135527 erasing the distinction between filtered and unfiltered -- in this
135533 against gdb_stdout or gdb_stderr was always a bit of a hack; and now
135551 This adds emit_style_escape and reset_style methods to ui_file. These
135575 cases are all handled by infrun's blanket ban on paging, and so can be
135633 After attaching to a process and reading some library files, GDB
135690 GDB tried to stop Thread 42000.26253.0, which does not exist, and we
135709 specified PID. Furthermore, inferior_ptid == null_ptid, and
135747 readline 7 and 8 the escape sequence used to disable bracketed paste
135755 present, and this is only true for readline 8+. With readline 7 the
135788 inferiors ('foo' in inferior 1 and 'bar' in inferior 2) and the tests
135791 What we're checking for is that symbols 'foo' and 'bar' show up in the
135792 correct inferior, and that (as this test is for a Python API feature),
135794 inferior, and see the correct symbol in the result.
135797 compiler, and that 'foo' and 'bar' will be at the same address. This
135804 inferior 1 will have been, and so the two addresses we use in the
135835 changed, that commit grabs a frame_info pointer before and after an MI
135836 command has executed, and compares the pointers to see if the frame
135842 pointer captured before the command started, is no longer valid, and
135850 instead store the frame_id and frame_level, this is safe even when the
135862 checks function->is_linkage and, if set, uses function->name. The
135863 comment in patch context precedes (and explains) the setting
135885 rounding mode: "Note FCVT.D.W[U] always produces an exact result and is
135927 might have gdb_stdout==gdb_stdlog and so, conceivably, wind up with
135934 where appropriate, and removes the special case from
135971 (nothing ever uses raw_stdlog, and nothing ever sets
135979 and cold parts. A variable in a callee of this function is described
136004 would be too expensive. However, I doubt this is so expensive; and
136006 both to understand and to modify. This patch changes this code to use
136048 Change call_site_target to use custom type and enum
136049 call_site_target reuses field_loc_kind and field_location. However,
136052 to avoid this reuse and instead introduce new types here.
136080 e.g. if NM was set to "nm --blargle", and nm was found in /usr/bin, the
136086 contains a path, and in that case avoid doing a path search itself.
136089 "nm -B../prev-gcc nm" which rarely works well (and indeed it looks
136090 to see whether that nm exists, finds it doesn't, and wrongly concludes
136094 including and after the first " -") before deciding whether nm
136096 and then removing all options from the path-modified nm before
136099 NM=my-nm now does a path search and runs e.g.
136102 NM=/usr/bin/my-nm now avoids a path search and runs e.g.
136105 NM="my-nm -p../wombat" now does a path search and runs e.g.
136125 Re: gas/Dwarf: improve debug info generation from .irp and alike blocks
136232 failures that I was seeing, and this change did fix some problems,
136238 how quickly the characters are echoed and how quickly GDB decides to
136242 command, but sometimes this is not the case, and GDB can execute the
136247 This mixing of the command echoing and the first command output is
136265 foreign-endian CTF dicts on the input and endian-flipping them: dicts
136270 actually in fixed endianness, and even they only test the foreign-
136282 which duplicates the maybe-gzip-and-write-out code three times (once
136283 for ctf_write_mem, with thresholding, and once each for
136284 ctf_compress_write and ctf_write just so those can avoid thresholding
136285 and/or compression). Instead, have the latter two call the former
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
136307 (ctf_compress_write): Move below ctf_write_mem and reimplement
136318 the next field, cth_strlen, and the two added together are taken as the
136320 header offsets exceed this size, and we check when uncompressing a
136322 but CTF dicts need not be compressed, and short ones are not.
136330 swap it, and we use ctf_size when doing that. When the cth_strlen is
136367 all have names that are unlikely to appear in the ELF symtab and because
136373 really doesn't: functions are symbols too, and a C program can look them
136380 symtypetab as an indexed symbol and once into the variable section.
136384 symtab and add them to the variable section ourselves. While we're at
136386 because the compiler does it, but it costs very little time and lets the
136387 compiler drop this kludge and save a little space in .o files.
136410 run the ld-ctf tests and most of those in libctf. Unfortunately,
136411 because it uses check_compiler_available and compile_one_cc, it will
136415 So, instead, ask the compiler to emit assembler output and grep it for
136439 work with both Python 2 and 3. Remove them and adjust the code to use
136454 Python support. Among others, the differences between Python 2 and 3
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
136479 check the Python version and reject it if that version is not
136509 x86: don't attempt to resolve equates and alike from i386_parse_name()
136541 other if() and clarifies that subsequently only entry 0 is dealt with
136543 a usable name in slot 1, files_in_use needs to be larger than 1 and slot
136560 gas/Dwarf: improve debug info generation from .irp and alike blocks
136573 At least x86-64's x32 sub-mode and RISC-V's 32-bit mode calculate
136623 (and in particular in the [relatively] generic tests under all/).
136629 and *.a libraries.
136648 proc should return a value to indicate whether it worked, and the callers
136670 and then we can do the following processes to test:
136700 This shares aarch64-nat.c and nat/aarch64-hw-point.c with the Linux
136727 breakpoints and watchpoints using routines from
136747 - aarch64_linux_region_ok_for_watchpoint and
136761 - Pass down ptid into aarch64_handle_breakpoint and
136781 and amd64 native targets.
136795 This replaces a manual linked list which used O(n) lookup and removal.
136820 This method takes an address, and returns a string with the format:
136825 SYMBOL is a symbol with an address lower than ADDRESS, and OFFSET is
136836 SYMBOL, and whether the file name and line number should be included
136841 inferiors program space, and address is formatted using the
136843 explicitly pass a program space and architecture like this:
136858 gdb.Architecture, and this is checked with the assert. And in order
136865 gdb.Progspace to the associated program_space pointer, and
136908 Add debuginfod support to core_target::build_file_mappings and
136910 missing executables and shared libraries referenced in core files.
136919 build and print a warning if unsuccessful:
136930 Since commit aa2d5a422 gdb has been able to read executable and shared
136937 libraries for core files and to facilitate downloading shared libaries via
136943 If GDB reports a watchpoint hit, and then the next event is not
136982 wraps bpstat_stop_status and calls watchpoint_triggered, and then
137025 On x86 machines with xmm register, and with recent versions of
137026 systemtap (and gcc?), it can occur that stap probe arguments will be
137131 not supporting in C/C++, and as a consequence GDB's expression
137135 and make use of gdbarch_stap_adjust_register. We already have a
137144 operation_up, and would take the register name, and the type we are
137145 trying to read from the register, and return the operation that
137149 user_reg_map_name_to_regnum, and then create a register_operation,
137154 and, based on the type being pulled from the register, would extract
137173 unop_extract_operation. This new expression takes a value and a type,
137174 during evaluation the value contents are fetched, and then a new value
137185 shared across all architectures, and it doesn't care about sub-field
137198 script we use readelf to check if the probe exists, and is using the
137211 was able to run this test and have the probe argument be placed in an
137262 there's no wrapping at the 32-bit boundary here, and hence overflow
137285 backtrace, up, down, finish, step and continue. Since the failure happens
137292 then calls the pretty printer, and uses the saved pointer for different
137329 wasn't overridable, and was a bit misnamed for the new purpose.
137374 Move the csr-check and arch items inside the table for the .option directive.
137401 This commit a new section for the next release branch, and renames
137421 ld:LoongArch: Add test cases to adapt to LoongArch32 and LoongArch64
137424 * ld-loongarch-elf.exp: Test LoongArch32 and LoongArch64 testcases respectively.
137510 Replace the magic numbers in gas(tc-loongarch.c) and
137575 swap_python_object, and make them gdb_asserts.
137587 Holding the objects in global C++ data structures and not doing anything
137590 it and it indeed segfaults.
137611 Fix crash with stepi, no debug info, and "set debug infrun 1"
137645 and the extra stop is reported just before a return, when the ldp
137651 This instruction modifies the frame base calculation, and so the test
137661 configurations -- I don't know what causes one to fail and another to
137667 Find and fix more places where clock_gettime() and CLOCK_MONOTONIC_RAW are used.
137723 classes INSN_CLASS_ZICBOM and INSN_CLASS_ZICBOZ.
137732 RISC-V: Prefetch hint instructions and operand set
137799 Set GPROFNG_BROKEN_JAVAC to "yes" only with a broken javac and skip the
137815 The cases for TARGET_OBJECT_LIBRARIES and TARGET_OBJECT_LIBRARIES_AIX
137920 * po/SRC-POTFILES.in: Regenerate.
137937 the field set and one with the field clear.
137940 differently anyway and hence shouldn't be set anywhere by default.
137943 only for documentation purposes (and slight reducing of overhead), as
137950 recognize the leading ~ and process everything else the same, merely
137954 override cpu_arch_flags anyway when -march=iamcu is passed, and there's
137961 Now that {L,K}1OM support is gone, and with it the brokenness in
137963 extensions can be enabled via .arch for IAMCU, and that the base
137975 be enabled / disabled. In order to achieve this (and to prevent
137976 regressions when L1OM and K1OM support are removed)
138009 quit)
138010 ... gdb terminates, and we return to the shell ...
138012 Notice the 'quit' was printed over the prompt.
138023 mode. Bracketed paste mode is a terminal feature that is enabled and
138032 disable bracketed paste mode was introduced between readline 7.0 and
138040 the user has entered a complete command and pressed return, or, if the
138044 when the user has entered a command and pressed return, the cursor
138061 GDB prints the 'quit' message from command_line_handler (in
138069 the cursor at the start of the prompt line (in the EOF case), and
138070 command_line_handler then prints 'quit', which overwrites the prompt.
138072 The solution to this problem is to print the 'quit' message earlier,
138076 we can print the 'quit' string, and then call rl_deprep_terminal
138077 ourselves. This allows the 'quit' to be printed before
138081 if readline is processing EOF or not, and as a result, we don't know
138082 when we should print 'quit'. This is the second readline bug that
138093 copy of readline, and then change GDB to make use of these fixes to
138094 correctly print the 'quit' string.
138096 However, we are just about to branch GDB 12, and there is concern from
138106 In this commit I change GDB to print the 'quit' string on the line
138111 quit
138112 ... gdb terminates, and returns to the shell ...
138115 GDB 12 has branched, we can backport the readline fix, and apply a
138131 Reimplement array concatenation for Ada and D
138135 concat_operation: Ada and D. So, in addition to implementing this for
138137 or repeat" semantics, which were completely unused. As Ada and D both
138145 binop_types_user_defined_p rejects this case right at the start, and
138147 dead for a very long time. This patch removes it and hoists the
138154 This adds some basic support for Wide_String and Wide_Wide_String to
138238 The patch has been tested on a Power 10 system and an Intel
138258 Consider GDB debugging a multi-threaded inferior with both CLI and GDB/MI
138261 Assuming inferior is stopped and thread 1 is selected, when a thread
138268 and on CLI terminal we get the notification (as expected):
138291 mi_cmd_execute () where --thread option is processed and notify
138299 between mi_command::invoke() and mi_command::do_invoke() unnecessary
138301 do_invoke(). So this patches removes do_invoke() and moves the command
138371 Use -Wno-format-truncation and -Wno-switch only if they are supported.
138380 and -Wno-switch with GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS and
138446 The AMDGPU HSA OS ABI (code object v3 and above) defines the
138449 and how to call them.
138458 [2]. Add There is a new --with{,out}-msgpack configure flag, and the actual
138496 * configure.ac: Add --with-msgpack flag and check for msgpack
138533 Decode and print the AMDGPU-specific fields of e_flags, as documented
138541 - Whether the xnack and sramecc features are enabled
138548 The flags for the "HSA" OS ABI are properly versioned and documented on
138549 that page. But the NONE, PAL and MESA3D OS ABIs are not well documented
138565 * elf/amdgcn.h: Add EF_AMDGPU_MACH_AMDGCN_* and
138635 The flags for the "HSA" OS ABI are properly versioned and documented on
138636 that page. But the NONE, PAL and MESA3D OS ABIs are not well documented
138655 * archures.c (bfd_architecture): Add bfd_arch_amdgcn and related
138676 Updated Serbian (for binutils/) and Russian (for gprof/) translations
138681 gdb.fortran/array-slices.exp and gdb.fortran/lbound-ubound.exp were
138734 and "evdotpwsssia"..
138740 This moves VLE insn out of the macro table. "e_slwi" and "e_srwi"
138747 "e_clrrwi", "e_extlwi", "e_extrwi", and "e_clrlslwi".
138748 (powerpc_macros): Delete same. Delete "e_slwi" and "e_srwi" too.
138764 (RRWn, SLWn, SRWn): Define and add powerpc_operands entries.
138767 "slwi", "srwi", "extlwi", "extrwi", "sli", "sri" and corresponding
138785 rotrdi, extrdi, extldi, clrlsldi, and insrdi would replace all
138786 occurrences of rotldi, rldicl, rldicr, rldic and rldimi. (Or many
138801 Define and add associated powerpc_operands entries.
138803 "sldi", "extldi", "clrlsldi", "insrdi" and corresponding record
138850 to reliably reproduce this today and learned that a process sentinel
138866 gdb/testsuite: rename a proc and fix a typo
138886 gprofng: Add a configure test for clock_gettime and a use of the test in getthrtime.c
138959 command (--thread and --frame are handled before the Python code is
138960 called, and removed from the args list). This list can be empty if
138995 sensible to me, and we can always loosen this rule later if it proves
138996 to be a problem. Much harder to try and add a restriction later, once
139012 at this point was causing GDB to try and invoke Python code after
139013 finalising the Python interpreter, and we would crash.
139016 python/python.c that would search the mi command table, and delete the
139021 data stores related to pretty printers, and frame unwinders.
139024 dictionary, and it is this reference that keeps the objects alive.
139026 and any MICommand objects within it are deleted at this point.
139028 This change avoids having to make the mi_cmd_table global, and walk
139049 This feels like a pretty weird edge case, and I'm happy to live with
139058 In this patch, I leave the mi_command class unchanged, and instead
139062 leaves the mi_command class nice and simple.
139066 and a read-write MICommand.installed attribute that can be used to
139067 install (make the command available for use) and uninstall (remove the
139072 This patch adds additional error handling, and makes more use the
139111 being set to 0, and
139118 After doing this, I re-generated the gdbarch files and saw that the
139149 didn't provide this would fail when creating its register cache, and I
139157 anywhere in GDB, and the gdbarch_register_type function is called
139163 every architecture, and GDB will not work if this function is not
139167 gdbarch-components.py for the 'register_type' field, and regenerate
139198 the case. In Ada, for example, one has subranges of character and
139209 both aarch64-linux and armhf-linux:
139222 fetch a pointer to the memory location from X8 for aarch64 and r0 for armhf.
139225 aarch64-linux and armhf-linux on Ubuntu 20.04/18.04.
139228 works correctly and displays the correct return value.
139231 (https://sourceware.org/bugzilla/show_bug.cgi?id=28681) and fixes FAIL's in
139234 A new testcase is provided, and it exercises GDB's ability to "finish" a
139235 function that returns a large struct (> 16 bytes) and display the
139249 depending on cpu, such as mftb which has pre- and post-power4
139270 unsized array looks right, this patch relaxes the regexp and changes
139272 also works with nightly. I also tested stable and 1.48.
139296 libraries. These aren't available via the solib search path, and so
139312 ... and does not crash gdb.
139322 places (rather than using the command as the test name), and in
139375 Regard the bits of the value as an integer, and print the integer
139379 was incorrectly implemented (or maybe correctly implemented and then
139412 process exit with a different exit code, and ensures that GDB reports
139415 exit code of some other thread, and thus fail.
139417 Tested on Linux-x86_64, native and gdbserver.
139457 collect the exit event of the non-leader threads, and once we see
139464 threads, and then waits for two stop or exit events, one for each
139465 thread. If the whole process exits, and check_zombie_leaders hits
139483 (or exec) event for the leader, and when the race triggers, we're not
139500 stop and wait for the stop for each of the non-leader threads. For
139507 thread in the list, and so we delete the leader lwp. I got this
139508 working and polished, and it was only after staring at the kernel code
139509 to convince myself that this would really work (and it would, for the
139513 stopped and then resume just one thread with scheduler-locking or
139514 non-stop, and that thread exits the process. I also played with
139516 and I couldn't find a way that it would result in any practical
139540 This helps make a following patch clearer. The comments and debug
139551 helps make a following patch clearer. The comments and debug messages
139573 indeed exited, and that's the thread that has the right exit code to
139578 clone, and the new clones are put in their own thread group.
139612 may exit before the second thread is scheduled and reports its
139638 indeed exited, and that's the thread that has the right exit code to
139643 clone, and the new clones are put in their own thread group.
139674 (dwarf_select_sections_by_names): Add do-not-use-debuginfod and
139676 (dwarf_select_sections_by_letters): Add D and E options.
139738 properly pick up the in-tree readline build, and you'll see:
139798 If an auto-load script cannot be found and objfile is a separate
139804 For example if the parent's filename is "/usr/lib/libxyz.so" and the
139821 and the actual location of the source file in the debuginfod client cache.
139832 gdb/mi: preserve user selected thread and frame when invoking MI commands
139833 Fix for PR gdb/20684. When invoking MI commands with --thread and/or
139834 --frame, the user selected thread and frame was not preserved:
139883 This commit fixes the problem by restoring thread and frame in
139885 that can change user selected context: -thread-select and -stack-select-frame.
139886 This allows us to remove all and rather complicated logic of notifying
139910 There's an interesting property of the 'char' type in C and C++, the
139911 three types 'char', 'unsigned char', and 'signed char', are all
139914 In contrast, and 'int' is signed by default, and so 'int' and 'signed
139922 or unsigned; it has to be one or the other, and a user can access this
139925 considered distinct from the signed and unsigned variants.
139934 types, and False otherwise.
139964 which includes the connection number and short name. I haven't
140003 GDB has a dbx emulation mode that adds a few aliases and helper
140004 commands. This mode is barely documented and is very superficial
140005 besides. I suspect it is rarely used, and I would like to propose
140006 deprecating it for GDB 12, and then removing it in GDB 13.
140012 already have a thread pointer handy, and the thread has a pointer to
140028 this error case, and proceeds to modify the error text.
140047 to allow "l" and "f" suffixes in a based literal. The "f" indicates a
140048 floating-point literal, and the "l"s control the size of the
140074 This patch fixes the bugs and adds tests.
140083 tried this with the Fedora 34 system gcc (GCC 11) and with a GCC 12
140091 Ada allows non-ASCII identifiers, and GNAT supports several such
140102 Shift-JIS and EUC can be used), in practice recent versions only
140104 using "Wxxxx" and characters outside the base plane using
140107 GNAT has some further quirks here. Ada is case-insensitive, and GNAT
140109 and for all characters in non-Unicode character sets, lower case is
140114 in the case of "Y WITH DIAERESIS" (and potentially others, I did not
140117 out the logic, and anyway if the bug is ever fixed, we'll regret
140125 read memory from the inferior and interpret it -- and this caused an
140130 host platform quirks, and is relatively simple. A short Python
140135 Test cases for UTF-8, Latin-1, and Latin-3 are included. This
140148 Let phex and phex_nz handle sizeof_l==1
140161 characters. However, it's a bit simpler and more flexible to let
140162 std::string do the work here, and simply append characters to the
140178 - regular MIPS BEQZ/L and BNEZ/L assembly instructions are idioms for
140179 BEQ/L and BNE/L respectively with the `rs' operand equal to $0,
140181 - microMIPS 32-bit BEQZ and BNEZ assembly instructions are idioms for
140182 BEQ and BNE respectively with the `rt' operand equal to $0,
140185 levels of up to the MIPSr5 ISA and a machine instruction on its own
140188 Add missing annotation to BEQZ/L and BNEZ/L accordingly then and add a
140204 Parts for regular MIPS BEQZ/L and BNEZ/L instructions from Sagar Patel.
140231 for "bal", "beqz", "beqzl", "bnez" and "bnezl" instructions.
140232 * micromips-opc.c (micromips_opcodes): Likewise for "beqz" and
140238 This changes iterate_over_block_local_vars and
140240 function pointer and a user-data. In one spot, this allows us to
140241 remove a helper structure and helper function. In another spot, this
140248 I happened to notice a couple of unnecessary casts in hppa-tdep.c, and
140250 some code and using the default deleter rather than noop_deleter.
140266 and either:
140331 type of a typedef and not its scoped name.
140420 Eliminate the UB and extend the respective testcase.
140426 to this one, and is run uniformly for all ELF targets anyway.
140440 and/or close as macros to replace the POSIX C functions. This
140457 powerpc-linux, and I suspect other 32-bit targets, report "aligned at
140504 Section addresses can change between ppc64_elf_size_stubs and
140525 released since mid-2006), and the *BSD/i386 targets now assume it is
140569 input file to scan and it creates the output file itself.
140595 source distribution, these are included in the tarball, and if the
140600 delete the entire build directory and start over.
140608 -- in one example, the command and its output are obviously out of
140663 and try to attach to it.
140666 and then we can do the following processes to test:
140731 # and so on
140745 the two variables, saw_mi_error and saw_perm_error (and updated the log output
140752 assume that it was intentionally written this way, and I've modified the code with
140753 that assumption. I have tested a version using gdb_test_multiple, and that appears
140813 This patch changes gdb to print the decimal value here as well, and to
140846 the attribute can be accessed, and that the return value is either
140853 patch, which attempted to use gdb_is_target_native. This proc and
140857 This patch adds appropriate warning comments to these procs and
140865 When running the gdb.fortran tests array-slices.exp and lbound-ubound.exp,
140867 and native-extended-gdbsever/-m{32,64}:
140965 symbol file is given as an argument and should already be present
140972 gdb: add operator+= and operator+ overload for std::string
140973 This commit adds operator+= and operator+ overloads for adding
140975 places in GDB where this was useful right now, and these all make use
140979 makes use of both operator+= and operator+, so they are both getting
140989 you can simulate this by using "continue" and then killing gdbserver
141014 surely removed for MI3, and may be removed even earlier. */
141019 is that this prompt is sufficient, and MI clients must be ready to
141023 Anyway, the CLI and the TUI handle emitting the prompt here by hooking
141027 This patch adds the missing observer and arranges to show the MI
141137 space, C++ ABI tags, and several other topics. However, one area
141145 find_toplevel_char is being used more and more outside of linespec.c, so
141161 This patch fixes the crash by making this function (and the
141177 1. One remote inferior is started, and now sits stopped at a breakpoint.
141211 and we would have consumed the native target's event.
141233 MACH_NOTIFY_DEAD_NAME message can be received, and which was not
141235 debuggee. In that case the debuggee is not dead yet (and in fact,
141239 - Read and ignore such messages (counting on the next exception message
141243 something else), and warn in the last case
141261 (I think that `Flags` and the flags not being aligned is not
141265 in a row and ignores the rest:
141271 between OSes, and we don't have to touch the test.
141281 and after, it looks like:
141293 and device) to be gdb::string_view, since that's what string_view is
141321 Fixes #28914 and so it adds a 'Perms' (permissions) column to the
141327 Below I am also showing how an example output looks like before and
141451 RISC-V: Updated CSRs to privileged spec v1.12 and debug spec v1.0.
141453 ustatus, uie, utvec, uscratch, uepc, ucause, utval and uip.
141456 sedeleg and sideleg.
141463 mscontext (0x7aa), mcontrol6 (0x7a1, tdata1) and tmexttrigger ((0x7a1, tdata1).
141468 * opcode/riscv-opc.h: Updated CSRs to privileged spec v1.12 and
141472 and debug spec v1.0.
141491 version 1.12 (except scontext and mscontext).
141494 Architecture, version 1.12 (except moved "scontext" and
141535 This commit reorganizes and adds some CSRs to csr-dw-regnums.[sd] to
141540 * testsuite/gas/riscv/csr-dw-regnums.s: Reorganize and add
141556 by implementing the can_async_p and async methods. For subclasses
141558 and closes the pipe in the close target method.
141561 (async_file_open, async_file_close, async_file_flush, and
141573 ptrace on FreeBSD cannot be used against running processes and instead
141584 since it is helpful for debugging async target support and not just
141587 Use target_pid_to_str to format the ptid and log the step and signo
141601 WNOHANG and uses sigsuspend() for synchronous operation.
141604 handle and writes to the pipe when SIGCHLD is raised. TARGET_WNOHANG
141610 - Handle TARGET_WNOHANG by passing WNOHANG to waitpid and returning
141694 target async support in both linux-low.cc (gdbserver) and linux-nat.c
141698 and linux-nat.c in future commits.
141704 gdb: fix detection of compilation and linking flags for source-highlight
141720 configure and build using source-highlight installed into a custom
141729 disable pagination, and in aae1c79a03a (PR python/12227..., 2010-12-07)
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
141744 support `b` and `k` extensions.
141777 we can move this breakpoint call to runtime and let gdb detect whether
141796 is that the gdb console sees both commands arrive and echos the text
141798 prints the result, and then processes the second command, and prints
141803 terminal. Then gdb started processing the first command, and started
141806 finish printing the first command output, and would read and handle
141872 read_dbx_symtab) at the handling of N_PC entries of type 'F' and 'f',
141874 complaint. However, for whatever reason, in both 'f' and 'F'
141878 In this commit, I guard these two locations (in 'f' and 'F' handling)
141882 read_dbx_symtab, and in every potentially dangerous case I added a
141883 nullptr check, and issue a suitable complaint if pst is found to be
141887 see a debug symbol outside of an N_SO entry, and if anyone wanted to
141889 preventing the nullptr access, and the subsequent GDB crash.
141899 gdb: make use of std::string in dbxread.c and xcoffread.c
141902 memory allocation and memcpy.
141922 … gdb_readline_wrapper (prompt=0x7ffd907712d0 "--Type <RET> for more, q to quit, c to continue with…
141962 and a80b95ba67e2 from the 2008-2009 era, but fails to answer the
141979 and to change one use of push_back to emplace_back, as suggested by
141999 Updated Serbian translations for the bfd, gold, ld and opcodes directories
142040 gas local label and dollar label handling
142041 Much of the gas source and older BFD source use "long" for function
142042 parameters and variables, when other types would be more appropriate.
142043 This patch fixes one of those cases. Dollar labels and numeric local
142046 fb_label_name and dollar_label_name to overflow their buffers.
142084 alignment, and ELF sh_addralign is required to be an integral power of
142086 and because bfd_log2 rounds up, we can end up with alignment_power
142154 sim/testsuite: Default global_cc_os and global_cc_works properly
142161 pru-elf and doing "make check-sim". Better initializing
142169 global_cc_os and global_cc_works properly, before if-chain.
142174 Add has_sib to struct instr_info and use SIB info only if ins->has_sib
142194 > conventions, and it may not be safe for the debugger to call this
142199 returned, and so on. For this reason, it is unsafe for GDB to try to do
142208 prints an appropriate message to the user and does not proceed with the
142214 prevent this, and target dependent code can be adjusted if one wanted to
142304 in contrast to C and assembler tests run by calling
142318 * c/openpf1.c: Correct basename-related change and update related
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
142365 Note that all tools still have to be installed and present in
142371 (SIM_TOOLCHAIN_VARS): Call it using AC_REQUIRE, and use variables
142372 AS_FOR_TARGET, LD_FOR_TARGET and CC_FOR_TARGET instead of hard-coded
142426 need, so here's a generic predicate machinery and a (first)
142468 recognized option and will cause a dejagnu error and further testing
142475 But, save and restore CFLAGS_FOR_TARGET around the modification and
142482 and restore CFLAGS_FOR_TARGET in saved_CFLAGS_FOR_TARGET such
142489 If we don't set this variable, it doesn't exist, and using "#progos:"
142510 for e.g. an always-false predicate and in expressions in
142523 people who test using just the assembler and linker.
142531 an additional introduction of PRIx32 and PRIu32 but just in
142585 The motivation for this change is purely to try and reduce the clutter
142586 in the top-level gdb module, and encapsulate related functions into
142588 Python API, however, doing so would effectively "fix" the API, and I'm
142598 fixing this breakage is trivial, and, as these functions were never
142614 Pygments; only some mnemonics were highlighted, and highlighting of
142615 register names such as r9d and r8d (on x86-64) was incorrect.
142631 require access to the gdb.Architecture, and so I decided to add this
142642 disassembler output, and, I guess, how pygments is configured.
142648 back into GDB, and GDB prints the address value using the `address`
142649 styling, and the symbol name using `function` styling. After this
142651 through pygments, and this include the address and symbol name parts
142662 unstyled, but the address and symbols are styled using the `address`
142663 and `function` styles, as they are today.
142754 There are constraints on layout of binaries to meet demand paging and
142761 In a typical basic executable with two memory segments, text (RE) and
142763 last text segment page. For example, with 64k pages and a small
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
142795 with 4k (COMMPAGESIZE) memory pages, and therefore using a larger
142796 MAXPAGESIZE on x86 is for reasons other than the demand paging and
142835 I am checking this into master and will backport it to 2.38 branch.
142840 reference to protected function and disable copy relocation. With
142842 be accessed via canonical reference and the protected data symbols in
142848 and copy relocations against the non-copyable protected symbols will get
142859 and copy relocation against the non-copyable protected symbol:
142880 canonical protected function and check copy relocation against
142891 to canonical protected function and check copy relocation against
142902 gdb/fortran: support ptype and print commands for namelist variables
142904 DW_TAG_namelist and DW_TAG_namelist_item dies. But gdb does not
142905 process these dies and does not support 'print' or 'ptype' commands on
142914 This commit is to make the print and ptype commands work for namelist
142915 variables and its items. Sample output of these commands is shared
142944 If we transform this to pseudo-assembler, and generate a line table,
142958 The problem is that when we reach address 0x108 and use 'until',
142965 that the new location is not a statement, and that the new location is
142968 0x114, and continues stepping forward.
142970 Within that stepping range the inferior hits the goto (at 0x110) and
142974 the new address is marked as a statement, and that the new address is
142975 for a different source line. As a result, GDB stops and returns
142980 'until' command, and GDB sets up the initial stepping range, GDB will
142986 In our example above, the user is at 0x108 and uses 'until', GDB now
142992 range, and the stepping finishes at address 0x114.
143007 the jit_code_entry address, but also the symfile address, and the
143030 gdb: LoongArch: Add Makefile, configure and NEWS
143031 This commit adds Makefile, configure and NEWS for LoongArch.
143049 and the info pages still generate fine without it.
143057 linux-nat.c and nat/linux-ptrace.c.
143073 PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK, PTRACE_O_TRACEEXEC and
143089 calls, and I thought these might be useful to others.
143097 Update the obsolete list and how-to-make-a-release documentation now that the 2.38 release is out.
143144 This removes the checks and the associated tests, leaving the logic to
143150 riscv_update_subset_version, and stop reporting warnings on
143211 Tested on glibc 2.35 build with GCC 11.2 and -Os.
143258 order to signify this ownership relationship and slightly ease resource
143267 call_thread_fsm and installs it in it in a thread_info instance. Also
143282 pretty involved, and there's still a bit of the story that I don't
143296 gdb/event-top.c, where we can (sometimes) perform calls to fgetc, and
143306 without waiting for and answer to each command, eclipse plans to
143313 The next bit of the story gets a little involved, and this is where my
143315 observe, and (for me at least) I'm happy that what I'm seeing, if a
143332 where we call fgetc, glibc will do a single big read, and get back
143339 returned from the fgetc call, and within gdb we accumulate characters,
143341 character, and dispatches the whole 'command_1' into gdb's command
143342 handler, which processes the command and prints the result. We then
143347 on the input stream, drop out of the select, and call back into
143357 and then exit the select, and call back to the function
143365 like before, we copy this to gdb's buffer and handle the command, then
143381 and just adding more and more 'x' characters as needed. What I'm
143395 fgetc again, and now glibc will get 'ij\n', that is, just like before,
143399 Now we call fgetc, and glibc will get 'kl\n', which is then handled in
143413 As there's no newline gdb calls fgetc again, and glibc does another
143422 newline. Now gdb has a complete command, and so the command is
143423 handled. We then return to the event loop and enter the select.
143426 more input pending, it's all been read into glibc's buffer, and so the
143432 gdb_readline_no_editing_callback, and now gdb sees the second
143440 for mi commands, and is a consequence of this commit:
143448 times, once each for stdin, stderr, and stdout. After this commit we
143449 open the tty just once and reuse the FILE object for all three roles.
143457 and output streams, so, when gdb tries to write to the FILE object,
143458 glibc spots that there is input pending within the input buffer, and
143462 it. However, as the output stream is a tty, and seeking is not
143467 the gdb crash in the original bug report), and we also understand that
143472 We could revert the commit mentioned above (and implement its
143475 output stream would have no buffered input, and so glibc would never
143476 try to lseek, and so we'd never get the ESPIPE error.
143489 the kernel, so the select will immediately return, and the second
143493 input stream out of gdb_readline_no_editing_callback and do it
143504 once per call to gdb_readline_no_editing_callback, and, if the input
143508 3. Tom is currently doing lots of gdb stream management changes and
143520 The original bug was reported when using a virtual machine, and in
143554 same FILE for in, err, and out streams. In contrast, in a vanilla C
143557 Still, I'm reluctant to revert the above commit (and provide the same
143559 and, now that the streams are unbuffered, I expect a lot of the read
143560 and write calls are going straight to the kernel with minimal glibc
143575 callback, the stub function is identical in each case, and just does
143579 that doesn't print anything, and have all three locations use this new
143588 as thread and inferior context switches, on the CLI. This is used
143593 you want to add and set up a new inferior using the commands below,
143623 GDB's Python API make it possible to capture and return GDB's output,
143710 Merge do_val_print and common_val_print
143712 the call. This patch merges the two functions, and removes an
143718 Add a getter and a setter for a symbol's line. Remove the corresponding macro
143719 and adjust all callers.
143726 Add a getter and a setter for a symbol's type. Remove the corresponding
143727 macro and adjust all callers.
143735 the corresponding macro and adjust all callers.
143742 Add a getter and a setter for whether a symbol is inlined. Remove the
143743 corresponding macro and adjust all callers.
143750 Add a getter and a setter for whether a symbol is an argument. Remove
143751 the corresponding macro and adjust all callers.
143758 Add a getter and a setter for whether a symbol is objfile owned. Remove
143759 the corresponding macro and adjust all callers.
143766 Add a getter and a setter for a symbol's domain. Remove the
143767 corresponding macro and adjust all callers.
143779 Add a getter for a symbol's "impl". Remove the corresponding macro and
143787 Add a getter and a setter for a symbol's aclass index. Remove the
143788 corresponding macro and adjust all callers.
143831 Add a getter and a setter for a symtab's language. Remove the
143832 corresponding macro and adjust all callers.
143839 Add a getter and a setter for a symtab's linetable. Remove the
143840 corresponding macro and adjust all callers.
143847 Add a getter and a setter for a symtab's compunit_symtab. Remove the
143848 corresponding macro and adjust all callers.
143851 the the field, getter and setter names. Since we are already in symtab
143859 Add a getter and a setter for a compunit_symtab's macro table. Remove the
143860 corresponding macro and adjust all callers.
143867 Add a getter and a setter for a compunit_symtab's epilogue unwind valid flag.
143868 Remove the corresponding macro and adjust all callers.
143875 Add a getter and a setter for a compunit_symtab's locations valid flag.
143876 Remove the corresponding macro and adjust all callers.
143883 Add a getter and a setter for a compunit_symtab's block line section. Remove
143884 the corresponding macro and adjust all callers.
143891 Add a getter and a setter for a compunit_symtab's blockvector. Remove
143892 the corresponding macro and adjust all callers.
143899 Add a getter and a setter for a compunit_symtab's dirname. Remove the
143900 corresponding macro and adjust all callers.
143907 Add a getter and a setter for a compunit_symtab's producer. Remove the
143908 corresponding macro and adjust all callers.
143915 Add a getter and a setter for a compunit_symtab's debugformat. Remove
143916 the corresponding macro and adjust all callers.
143924 primary filetab of the compunit_symtab specifically (and not to iterate
143930 returned by allocate_symtab and use it, it makes things simpler.
143983 Rename the field to m_objfile, and add a getter and a setter. Update
143999 and character literals as well. The latter also required a bit of
144011 The expression and Rust parser rewrites made this simple to fix --
144189 gdb/doc: update docs for 'info win' and 'winheight' commands
144197 and the fact that gdb provides tab-completion of the name at the
144252 for PR28743 (commit 2f83249c13d8 and c804c6f98d34).
144264 global SIZE and SIZEFLAGS.
144266 * testsuite/config/default.exp: Define SIZE and SIZEFLAGS.
144300 * configure.ac: Support mipsisa32r6 and mipsisa64r6.
144319 (sll): Split nop and ssnop cases into ...
144327 li, addu, and, andi, bgez, bgtz, blez, bltz, bne, break, dadd,
144415 (pre-R6) MIPS goes the other way and treats it as signalling NaN.
144419 semantics of the NaN bit and allows differentiation between older
144420 (pre-R6) and and newer MIPS cores.
144450 Remove arm-aout and arm-coff support
144452 This also removes arm-netbsd (not arm-netbsdelf!), arm-openbsd, and
144454 all aout, and it doesn't make all that much sense to remove arm-aout
144468 jit_code_entry::symfile_addr, and that the JIT reader's read function
144469 receives. As we can see in gdb.base/jit-reader-host.c and
144472 engine and the JIT reader, so including this value in the objfile name
144496 As this is Ada-specific, and Joel already reviewed it internally, I am
144511 addresses these days, to avoid leaking ASLR secrets and to handle
144515 looking up the symbol first using nm and then manually compute the
144516 offset, and then pass it to addr2line.
144519 by looking up the symbol (with demangling if needed) and computing
144539 Add R_X86_64_GOT32, R_X86_64_GOT64, R_X86_64_GOTPCREL64 and
144544 R_X86_64_GOT64, R_X86_64_GOTPCREL64 and R_X86_64_GOTPLT64.
144560 Change how Python architecture and language are handled
144655 absolute symbols. Don't optimise got and toc code sequences
144685 The formatting of the help text for 'help set extended-prompt' and
144715 Notice the closing """ are in a line of their own, and include some
144734 tested gdb, and saw no regressions.
144737 handles this case (spec_string being nullptr), and spotted that in
144742 nullptr case is (a) not an oversight, and (b) is required. Then I add
144746 This test passes on current gdb, but with my modified (and broken)
144762 and throwing, a junk at the end of the line error earlier, before
144781 breakpoint conditions, and so, will stop parsing when it sees
144795 'task 123' and decides that there's nothing there that describes a
144801 spec_string we found earlier, and tries to converts this into a list
144811 when the first thing in the linespec is a condition keyword, and so,
144820 condition 'task 123', and changing linespec_lex_to_end breaks this
144844 consistency, and added a few tests to cover this issue.
144853 two arguments separated by a comma, and the first argument can be
144859 the two commas), and, like above, this results in the spec_string
144866 the same "junk at the end of the line" error, and all is good.
144909 and PR gdb/28797. The actual fixes for these two issues will be in a
144912 invalid memory and crashing. The '\0' check is not currently ever
144935 the source of the memory allocation is irrelevant, and so, shouldn't
144942 Updated French translation for the ld/ and gold/ sub-directories
144972 tree. This will cause a cascade of errors, and requires the manual
145008 The last updates of MIG introduced qualifying strings and arrays with
145060 can compile) and fix them.
145075 For gfortran (and maybe others) these names currently have the form
145076 XXXX.NUMBER where XXXX is the symbol name and NUMBER a compiler
145087 This mangled name gets recognized by the Ada demangler/decoder and decoded as
145091 For ifort and ifx the generated linkage names have the form
145093 other demangler for that matter) and thus printed as is.
145120 behavior as is and modify the test to reflect ifx and ifort mangled
145131 entry and exit. Fail if the counter exceeds a fixed limit.
145157 i386-fbsd-tdep.c and amd64-fbsd-tdep.c failed to build on my x86-64
145175 The previous patch wasn't quite correct. The size and padding depends
145176 on offset used in the current iteration, and if we're fudging the
145194 2. If ISEC and OSEC share the same section flags,
145233 $fs, and $gs) for both 32-bit and 64-bit processes.
145237 handling (for $fs_base, $gs_base, and XSAVE state) from these files.
145242 Probe the ptrace op once in the target read_description method and
145250 fbsd-nat: Return a bool from fetch_register_set and store_register_set.
145258 permits fetching the fsbase and gsbase register values from the signal
145259 frame for both amd64 and i386 and permits fetching additional segment
145264 existing x86 signal frame uwinders do not support these registers, and
145267 tempory regcache, collect floating point registers, and then supply
145274 and $gs segment registers from amd64 core dumps since they are stored
145286 regcache::raw_supply_part and did not initialize the upper bytes of a
145301 FreeBSD release is 10.1 released in November 2014 and EOLed in
145302 December 2016. The fallback only works for native processes and would
145354 added later. I assumed that the rules were the same for GDB and the
145388 binary, and symbols on these expressions cannot be overridden. Make
145420 pathological case where one stub shrinks and another expands in such a
145642 those ABIs, it is vital that this and other relocation code use the
145686 Change this to thread_info * to avoid translating back and forth between
145692 In remote_btrace_maybe_reopen() we iterate over threads and use
145714 and found by
145749 utf-8 characters would cause GDB to print a Python exception, and then
145756 the problematic source file was evicted from the source cache, and
145775 should not be treated as utf-8, but that's what we do, and that's why
145779 PyString_FromString call failed with a UnicodeDecodeError and silently
145794 We could try and make GDB smarter when it comes to converting C
145800 for us, and the colorize API is not part of the documented external
145806 So, currently, the colorize API receives a unicode object, and returns
145808 object, and return a bytes object.
145832 output streams to be relatively self-contained objects, and having a
145839 wrap_here method to ui_file and changes ui_out implementations to use
145858 sources: the class documentation string, and the set_doc/show_doc
145911 user drops the set_doc and show_doc attributes:
145919 keep the set_doc and show_doc:
145947 # Only the set_doc and show_doc are provided, this case is unchanged
145998 close to what deprecated_show_value_hack does, and the results are
146034 history list by trying to fetch the items, and then catching the
146046 gdb: convert maintenance target-async and target-non-stop settings to callbacks
146047 This simplifies things a bit, as we don't need two variables and think
146048 about reverting target_async_permitted_1 and target_non_stop_enabled_1
146071 This is simlpy allocating a new array and copying it. However, for
146113 have a dedicated method for that instead and make string_file::string
146127 Python. Now that the 'endian' crash is fixed, and now that the
146173 nat-* files, or in remote-sim.c; and I was trying a build with all
146174 targets, Python, and Guile enabled.
146180 Change how Python architecture and language are handled
146181 Currently, gdb's Python layer captures the current architecture and
146183 effects, and so this series changes how this is handled.
146207 cases where a non-default value is computed or needed; and the
146224 1. Compute the desired PT_GNU_RELRO segment base and find the maximum
146227 3. Don't add the 1-page gap between the first preceding load section and
146272 always print this; and this is the only spot in gdb where we
146286 This patch makes this change. I went ahead and converted all the
146316 by Simon in d0ac1c44885daf68f631befa37e ("Bump to autoconf 2.69 and
146322 ("Bump to autoconf 2.69 and automake 1.15.1"). So delete it here.
146362 Update Bulgarian, French, Romaniam and Ukranian translation for some of the sub-directories
146372 and then call another function -- but are also the only caller. This
146386 bfd: Properly install library and header files
146389 * Makefile.am: Revert bfdlib_LTLIBRARIES and bfdinclude_HEADERS
146395 bfd: Properly install library and header files
146396 Rename bfdlib_LTLIBRARIES and bfdinclude_HEADERS to lib_LTLIBRARIES and
146397 include_HEADERS to fix the missing installed library and header files in
146493 This avoids a recursive make into the doc subdir and speeds up the
146519 Change version number to 2.38.50 and regenerate files
146609 the setting is ignored and indices are never shown.
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
146641 the setting is ignored and always treated as if no limit was set.
146648 the innermost one and letting the specialization class call the `walk_1'
146650 and the next inner dimension recursed into as a need arises only, or
146685 behavior and explicitly request that there be no limit for printing
146700 allocate_dynrelocs and ppc64_elf_size_dynamic_sections changes, and
146701 since we are doing ifunc, opd and SYMBOL_REFERENCES_LOCAL tests later,
146704 * elf64-ppc.c (ppc64_elf_check_relocs): Remove opd and ifunc
146707 (allocate_dynrelocs): Test for opd and ifunc when allocating
146756 Add remote_debug_printf, and use it for all debug messages controlled by
146766 Add the threads_debug_printf and THREADS_SCOPED_DEBUG_ENTER_EXIT, which
146769 threads_dethreads_debug_printf. Replace uses of the debug_enter and
146772 enter and the exit in an indented form.
146776 up and separated logically as is done in GDB, but that's out of the
146784 debug_threads is always used as a boolean. Except in ax.cc and
146786 debug_threads, and have a concept of verbosity level. But they both
146792 Change debug_threads to bool and adjust some users that were treating it
146805 The "catch exec" code is reasonably self-contained, and so this patch
146807 and into a new file, break-catch-exec.c.
146810 The "catch fork" code is reasonably self-contained, and so this patch
146812 and into a new file, break-catch-fork.c.
146814 Unify "catch fork" and "catch vfork"
146815 I noticed that "catch fork" and "catch vfork" are nearly identical.
146822 gdb has some extensions and helpers for working with the libiberty
146823 hash table. This patch consolidates these and moves them to
146828 obconcat and obstack_strdup, and things like auto_obstack -- to
146836 needs one. This patch simplifies it and removes some unnecessary
146841 memory management, and an unnecessary string copy.
146846 clearer and removes some chances for error. This also enables future
146847 cleanups to avoid manual memory management and copies.
146900 This commit makes this change. Currently the '|' is detected and
146911 displaying the two fields I mention above, and in pipe_open (from
146912 gdb/ser-pipe.c), and in pipe_open, we now know to skip over the `|`.
146922 this target, there is no binary file dfp-test, and also there is no
146962 function has side-effects and we want to make sure both calls are made,
146973 file and the separate debuginfo file *will* be displayed. This is because in
146983 (dump_dwarf): Add is_mainfile parameter and pass to
146986 !is_mainfile and !process_links.
147008 relative relocs in check_relocs, allocate space for them and output in
147020 (struct ppc_link_hash_table): Add relr_alloc, relr_count and
147023 (ppc64_elf_check_relocs): Init rel_count for global and local syms.
147051 tweak __ehdr_start visibility and flags for check_relocs
147056 local and hidden here..
147057 * ldlang.c (lang_symbol_tweaks): ..do so here instead and set
147058 def_regular and linker_def for check_relocs. New function
147067 Update the config.guess and config.sub files from the master repository and regenerate files.
147077 gdb/infrun: rename variable and move to more specific scope
147078 Move the "started" variable to the scope it's needed, and rename it to
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
147102 32-bit / 64-bit index pointers. Fold them into a single "indexes" and
147163 Intel Next Gen compiler defines preprocessor __INTEL_LLVM_COMPILER and provides
147196 decoding of EVEX.L'L for VMOV{L,H}P{S,D} and VMOV{LH,HL}PS.
147208 with VMOV{H,L}PD and VMOVDDUP, and only in AT&T mode, but not checked
147219 and %XD more to eliminate a fair number of table entries.
147235 cheaper than using suitable macros. Utilize %XH more and introduce
147236 similar %XS and %XD (which subsequently can be used for further table
147264 Reapply libiberty: Pass --plugin to AR and RANLIB
147272 * configure.ac: AC_SUBST AR_PLUGIN_OPTION and
147280 and align the end of the RELRO segment to the page size:
147300 and may not be moved, the RELRO segment size may be increased:
147362 + * configure.ac: AC_SUBST AR_PLUGIN_OPTION and
147372 + * configure.ac: AC_SUBST AR_PLUGIN_OPTION and
147415 + around lhs and rhs of assignments.
147484 Unfortunately, g++ doesn't accept this flag, and will give this
147496 line, and so -Wmissing-prototypes is seen before -Werror. Usually
147498 valid) is issued before the -Werror flag is processed, and so is not
147507 flag is valid, the proposal was to both compile and link. As linking
147509 reordering problem, and the link phase will correctly fail when using
147513 This approach was rejected, and the suggestion was to only add the
147516 The second attempt, attempts this approach, and can be found here:
147537 I've tested this with both gcc and clang and see the expected results,
147550 The new debug might be useful to others, and the state to string
147573 and thus correctly have no version reference added. Causing failure
147586 Tidy, and fix "FAIL: Build dt-relr-glibc-1b.so" on all non-x86
147626 * elflink.c (bfd_elf_final_link): Set up DT_RELR tags and sh_entsize.
147643 char is signed, then both 'A' and ebcdic_us_string[7] will yield
147645 is unsigned, then both 'A' and ebcdic_us_string[7] will yield 193,
147699 The patch has been tested on Power 9, processor revesions 2.2 and 2.3. The
147706 We already have gdb.target_charset and gdb.target_wide_charset. This
147752 It seems to me that this text could be a bit clearer; and furthermore
147754 remote_target::files_info doesn't really add much and can simply be
147811 * testsuite/ld-i386/i386.exp: Run dt-relr-1a and dt-relr-1b.
147813 dt-relr-1b and dt-relr-1b-x32.
147822 be generated and save the relative relocation candidate information for
147829 DT_RELR section size and tell ldelf_map_segments to layout sections
147842 elf_write_addend and elf_write_addend_in_got.
147857 tags to DT_RELR, DT_RELRSZ and for compact relative relocation.
147876 elf_append_reloc, elf_write_addend, elf_write_addend_in_got and
147895 Allow eabling and disabling DT_RELR in linker tests. Disable DT_RELR in
147901 DT_RELR_LDFLAGS and NO_DT_RELR_LDFLAGS global.
147956 elf: Add size_relative_relocs and finish_relative_relocs
147959 size before mapping sections to segments and set the final DT_RELR section
147962 * elf-bfd.h (elf_backend_data): Add size_relative_relocs and
147970 (elfNN_bed): Add elf_backend_size_relative_relocs and
147976 Add a -z pack-relative-relocs option to enable DT_RELR and create a
147999 * News: Mention -z pack-relative-relocs and
148001 * ld.texi: Document -z pack-relative-relocs and
148005 DT_RELRSZ and DT_RELRENT.
148020 section and set need_layout to true if the DT_RELR section size is changed.
148073 stores the file contents, and m_offset_cache, which stores offsets
148081 m_source_map, and if it's found then this implies the file is also in
148082 m_offset_cache, and we're done.
148085 source_cache::get_plain_source_lines to open the file and read its
148104 will ends up loading and caching the file contents.
148125 in that it modifies a source file after compilation, and makes use of
148132 cache, and then get the file contents re-highlighted using the new
148138 Rename 'set debug lin-lwp' to 'set debug linux-nat' and 'show debug
148141 I've updated the documentation and help text to match, as well as
148146 The boundary between general "native" target debug, and the lwp
148148 debug variable inside GDB is debug_linux_nat, and the print routine
148154 ld: add hidden and internal visibility support for XCOFF
148155 This patch adds a primary support for hidden and internal visibility in
148164 and internal visibility support.
148185 ld-elfvsb is renamed ld-vsb and a suffix is added to files targeting only
148191 * testsuite/ld-elfvsb/hidden0.d: move to ld-vsb and rename with
148203 In order to ease port of GNU assembly code and especially ld testsuite,
148220 on several pseudo-ops: .globl, .weak, .extern and .comm.
148221 This implies that .globl and .weak syntax is different than the
148266 and I believe people have run into getting testsuite failures for
148268 since that time. Enough. I grepped the gas, binutils and ld
148275 Tested for cris-elf and native x86_64-pc-linux-gnu.
148309 when call fill_run() in EBCDIC-US and IBM1047, but the type of string[] is
148365 I had cause to regenerate gdbsupport/Makefile.in, and noticed some
148376 generated file, and so, now runs up to 2022.
148389 In gas, TLS relocations, except R_TLSM and R_TLMSL, must keep the value
148448 v2 of this patch uses warning rather than prints to gdb_stderr, and
148494 that exited, as obtained from the wait event, and this is what this
148543 offset table) and data sections in a compact format:
148547 On some targets, R_*_RELATIVE relocations are counted and the GOT offsets
148556 For x86 targets, the old check_relocs is renamed to scan_relocs and a
148557 new check_relocs is added to chek input sections and create dynamic
148561 Since relocations are scanned after __start, __stop, .startof. and
148639 and in a setup where the test fails to setup.
148652 test name and let the command be used as default test name. Also remove
148732 DUPLICATE: gdb.base/call-signal-resume.exp: set confirm off
148739 Fix by removing the redundant tests ('set confirm off' only needs to be
148740 used once) and adjusting the test names where appropriate.
148753 This removes the duplication and gives a better organization the file.
148807 Fix by adjusting the test names when required, and by removing
148850 DUPLICATE: gdb.base/readline.exp: Simple operate-and-get-next - final prompt
148881 sense and does not change the sequence of commands in the test file.
148910 The current approach is that in such situation, the input and expected
148918 is almost equivalent to (again, omitting few details and arguments):
148941 We see that the lines 2 and 4 are now the same, and for this reason the
148945 input and expected outputs, only the expected output is trimmed.
149118 This is due to the fact that the test restarts GDB twice and each time
149121 breakpoints between the two tests and updates the breakpoints number as
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.
149238 former and keeps the latter. This is PR remote/14976 (filed by me in
149247 gdb/doc: shorten some source lines, and prevent some line breaks
149252 I have also wrapped keyword and argument name pairs in @w{...} to
149272 wrote there declarations, and they use the first style too.
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
149282 arguments, and this was true for both of the procedures I am changing
149284 lines, and keep them under 80 characters in the texi source. This
149298 will place a line break between the keyword-name and the
149305 Notice the line break after '#:command-class' and after '#:doc',
149308 breaks between the keyword-name and the argument-name. Now the pdf
149332 version of i from 2.0 to 2.1. Since zicsr and zifencei are separated
149334 fence.i and csr instructions. Besides, we also allow old ISA spec can
149335 recognize zicsr and zifencei, but we won't output them since they are
149340 recognize zicsr and zifencei.
149370 earlier and call elf_backend_always_size_sections at the start
149394 ADDSVL and RDSVL. They behave like ADDPL, ADDVL and RDVL, but read
149398 * aarch64-tbl.h (aarch64_opcode_table): Add ADDSPL, ADDSVL and RDSVL.
149403 for ADDSPL, ADDSVL and RDSVL.
149413 did that, and those targets want to continue printing differently,
149416 It seems to me that the differences aren't very big, and in some cases
149436 "manually", that is, we call add_prefix_cmd, and assign a set and show
149449 set/show prefix commands, and the new behaviour is more informative.
149459 For testing I've build GDB on GNU/Hurd, and manually tested these
149460 functions. I did a grep over the testsuite, and don't believe the
149474 initially removed this dead check, but then went a bit further and
149475 modified the code so that some "goto"s and explicit memory management
149497 'verbose' is on and when switching the "expected" language in auto
149516 check to PCLMULQDQ, AES, and GFNI insns"), base the check on opcode
149517 attributes and operand types.
149554 Drop the sim-specific unsignedXX types and move to the standard uintXX_t
149558 Drop the sim-specific unsignedXX types and move to the standard uintXX_t
149562 Move off the custom local 64-bit types and to the standard uintXX_t
149566 Move off the sim-specific unsignedXX types and to the standard uintXX_t
149570 Move off the sim-specific unsignedXX types and to the standard uintXX_t
149574 Move off the sim-specific unsignedXX types and to the standard uintXX_t
149578 Move off the sim-specific unsignedXX types and to the standard uintXX_t
149582 Move off the sim-specific unsignedXX types and to the standard uintXX_t
149586 Move off the sim-specific unsignedXX types and to the standard uintXX_t
149590 Move off the sim-specific unsignedXX types and to the standard uintXX_t
149595 now, we can assume the standard uintXX_t types exist and use them.
149599 now, we can assume the standard uintXX_t types exist and use them.
149603 now, we can assume the standard uintXX_t types exist and use them.
149607 now, we can assume the standard uintXX_t types exist and use them.
149613 now, we can assume the standard uintXX_t types exist and use them.
149621 now, we can assume the standard uintXX_t types exist and use them.
149629 now, we can assume the standard uintXX_t types exist and use them.
149651 Improve thread safety in print_insn_i386_att, print_insn_i386_intel and
149659 and print_insn_i386 thread-safe
149664 The actual objdump and readelf option name is =frames-interp, not
149680 RETURN_VALUE_ABI_PRESERVES_ADDRESS is more correct here, and fixes the
149683 I tested this for both 32- and 64-bit RISC-V using the AdaCore
149684 internal test suite, and Andrew Burgess tested it using
149701 This changes one terminal_info implementation, and
149721 This changes btrace.c and record-btrace.c to use filtered output in
149726 file -- they take an optional filename argument and open a file. This
149729 it is, and should be, the default for all commands. And, when writing
149754 sole caller uses filtered output elsewhere, and because this function
149771 and because the output can be voluminous, so it may be nice to stop in
149776 Implement putstr and putstrn in ui_file
149777 In my tour of the ui_file subsystem, I found that fputstr and fputstrn
149778 can be simplified. The _filtered forms are never used (and IMO
149779 unlikely to ever be used) and so can be removed. And, the interface
149780 can be simplified by removing a callback function and moving the
149844 bt-utils.h, and it protects the definitions of
149863 ok, and flushing the wrap buffer doesn't really work properly. Also,
149880 Currently, on 32-bit and 64-bit ARM, it seems that ld generates p_align
149882 The issue is more general and probably affects other targets with multiple
149927 ignored and the maximum page size will be used to align the ouput
149988 linker to build mbind2a and mbind2b.
150064 argument for struct bfd_link_info and pass it to
150106 Tested on x86_64-linux with native-extende-gdbserver and unix boards.
150117 I tried building GDB on GNU/Hurd, and ran into this warning:
150136 that nullptr is not OK, and, if I change the '#ifdef
150137 HAVE_SIGTIMEDWAIT' introduced by the above patch to '#if 0', and
150141 sigwait, and instead pass a valid int pointer. The value returned in
150145 above, compiled GDB, and ran the usual tests, this meant I was using
150171 Build and tested on x86_64-linux.
150193 character '\' in mnemonic" and further "end of file inside conditional".
150199 backslash in the resulting symbol name) and \" (meaning an embedded
150206 and re-opening quotes can be useful to delimit such sequences.
150209 .set, as that would now also mean excluding nios2 and pru. By using
150233 Output will be logged and displayed.
150234 Debug output will be logged and displayed.
150239 Output will be logged and displayed.
150240 Debug output will be logged and displayed.
150281 Debug output will go to both the screen and the log file.
150285 logging redirect: off: Output will go to both the screen and the log file.
150299 Simon and Tom pointed out that page-logging.exp failed on their
150326 Tested on x86_64-linux, both with gcc 4.8.5 and gcc 7.5.0.
150355 out */po/*.pot which we don't update frequently.
150388 Move the 64-bit bfd logic out of bfd/configure.ac and into bfd64.m4
150406 The copyright year and holder line is slight malformed, missing
150407 a space after a comma, and this is sufficient for gdb's
150425 and thus are not included in gdb's copyright.py script.
150438 Update Copyright Year in gdb, gdbserver and gdbreplay version output
150440 and gdbreplay when printing the tool's version.
150502 avr_io_reg_read_command is an ordinary gdb command, and so should not
150519 GENERATE_DYNAMIC_RELOCATION_P and COPY_INPUT_RELOC_P.
150524 and X86_PCREL_TYPE_P.
150526 X86_SIZE_TYPE_P, GENERATE_DYNAMIC_RELOCATION_P and
150535 (NEED_DYNAMIC_RELOCATION_P): Add IS_X86_64 and pass it to
150539 X86_PCREL_TYPE_P and X86_SIZE_TYPE_P.
150544 COFF_WITH_pex64 and COFF_WITH_peAArch64 can't be true at the same time.
150548 The testsuite doesn't catch this because the linker does the sorting and to link
150579 through all such callbacks and fixed them to consistently use the
150655 cases, the output is guarded by a logging variable and so ought to go
150686 implementations are changed so that only the stdout implementation and
150695 Remove unusual use of core_addr_eq and core_addr_hash
150696 gdbtypes.h uses core_addr_eq and core_addr_hash in a weird way: taking
150697 the address of a member and then passing this (as a void*) to these
150701 a scalar so it can be directly compared, and the identity hash
150704 After this, core_addr_eq and core_addr_hash are unused, so this patch
150718 (-args and -tty), so one could expect the clone-inferior to respect
150738 The other properties this commit copies on clone (i.e. CWD and the
150832 various i386-aout and i386-coff target removal
150853 combination of %s and call to host_address_to_string. This also
150864 this out of util.[ch] and into the BFD-related file instead.
150873 more easily understand what these test cases are testing, and easier to
150894 * testsuite/gas/riscv/csr.s: Renamed from priv-reg.s, and then
150919 - Hypervisor Virtual Machine Load and Store Instructions
150948 * opcode/riscv-opc.h: Added encodings for hypervisor csrs and
151012 there is no thread-id and so has to "guess" which thread the stop
151028 too, it finds no threads in the processes marked resumed, and so an
151036 actions (i.e. calling remote_thread_info::set_resumed and set_running)
151044 actions (listed above) will now be performed, and the thread will be
151061 nullptr. This is the cause of the segfault, and is resolved by moving
151068 reported in the original bug. I also run the test in all-stop and
151070 target-async enabled, and disabled.
151145 constructor), and the sys-v specification for argument and return
151147 allocated for it by the caller, and the address of this space is
151191 This solved the example from the bug, and my small example above. So
151193 and I ran into a problem. I hit this error:
151261 Now, if we have a class with virtual bases we will fail quicker, and
151270 executing and resumed state, I spotted the following code in
151295 set_executing, and this is the same call to set_executing that we need
151327 -gdb-show, and as -gdb-set/-gdb-show are just the MI equivalent for
151329 using -gdb-set/-gdbshow, and so, I've tried to keep the index
151336 LINUX_NAT_SCOPED_DEBUG_ENTER_EXIT macro, and makes use of it in one
151340 exactly what arguments this command takes, and the description talks
151341 about turning debug on and off, so I don't think there's any updates
151361 Prints additional debug information relating to thread creation and
151373 debug sub-systems are turned on (especially things like `infrun` and
151424 Obsolete m32c-rtems and m32r-rtems
151479 ... and this commit mentions that the code being removed here probably
151523 gdb: add "exit" command as an alias for "quit"
151524 This command adds the "exit" command as an alias for the "quit"
151566 non-async mode, and in all-stop mode. Here's my GDB session showing
151584 1. The user runs 'attach PID' and this sends GDB into attach_command
151589 and get the first reply (which is a stop packet). We put off
151591 inferior and thread to represent the process we attached to, and
151595 If '!target_is_non_stop_p ()' and '!target_can_async_p ()', which is
151601 stop replies, or request that the target stops, and process the stop
151607 remote target, and replies received, the first path I hit is the
151616 remote_state::buf, and then in step #4 we reuse the remote_state::buf
151623 remote_target::putpkt_binary and remote_target::getpkt_or_notif_sane_1
151629 that there was nothing between where the stop was cached, and where
151631 where we ended up in putpkt_binary or getpkt_or_notif_sane_1 and
151637 instances of 'rs->cached_wait_status = 0;' in ::putpkt_binary and
151640 dangerous, and indeed, this assert is now hit in my test case above.
151642 I did play with using some kind of scoped restore to backup, and
151654 data, and I think it would be too easy for new corruptions of the
151664 ::stop_reply_queue, the stop packets are processed upon receipt and
151666 solution, the unprocessed stop reply is cached in the ::buf, and
151670 remote_state::cached_wait_status flag and to stop using the ::buf to
151675 reply, the first is in the ::attach method, and the second is in
151685 for async-mode, and so, in remote_target::push_stop_reply, where we
151705 process_stop_reply and immediately return. However, when handling
151706 ::cached_wait_status we run through the whole of ::wait_as, and return
151743 For testing I've been running test on x86-64/GNU Linux, and run with
151744 target boards unix, native-gdbserver, and native-extended-gdbserver.
151751 both before and after my patch, I'm not seeing any consistent new
151755 unresolved go down by 49, the number of passes goes up by 446, and the
151791 This patch runs gdbarch.py and removes gdbarch.sh.
151797 "components.py" that was created in the previous patch, and generates
151798 gdbarch.c and gdbarch-gen.h.
151830 actually unused, and so is ignored by this new generator.
151837 and this simplifies the new generator a little bit.
151847 editable and hand-maintained, and the new gdbarch-gen.h file is the
151862 This patch moves this sort of code out of gdbarch.sh and gdbarch.c and
151870 each iteration, so there is no point in redoing it for each element and
151921 is done by tui_initialize_win), and then if gdb_stdout is a TTY it
151924 rl_instream stays NULL, and when GDB receives a SIGWINCH it calls its
151925 handler and in fine tries to access rl_instream leading to the crash.
151944 and check that entry in elf_section_syms for sec is non-NULL.
151972 range checking, and thus bfd_reloc_offset_in_range can't be used.
151997 …dwarf.c:11300:3: error: format not a string literal and no format arguments [-Werror=format-securi…
152040 combination of existing feature flags and tables.
152042 The cpu_arch_ver entries for ARM_ARCH_V9_2A and ARM_ARCH_V9_3A
152051 * doc/c-arm.texi: Add armv9.1-a, armv9.2-a and armv9.3-a.
152054 (arm_archs): Add armv9.1-a, armv9.2-a and armv9.3-a.
152055 (cpu_arch_ver): Add ARM_ARCH_V9_1A, ARM_ARCH_V9_2A and ARM_ARCH_V9_3A.
152069 arm: Add support for Armv8.7-A and Armv8.8-A
152072 combination of existing feature flags and tables.
152081 * doc/c-arm.texi: Add armv8.7-a and armv8.8-a.
152083 (arm_archs): Add armv8.7-a and armv8.8-a.
152084 (cpu_arch_ver): Add ARM_ARCH_V8_7A and ARM_ARCH_V8_8A.
152102 Armv8.6-A, and so on.
152131 * doc/c-aarch64.texi: Add armv9.1-a, armv9-2-a and armv9.3-a.
152154 svinval extension. Two of them (HINVAL.VVMA and HINVAL.GVMA) need to
152168 of hinval.vvma and hinval.gvma, from 0x0011011 and 0x0111011 to 0x0010011
152169 and 0x0110011.
152194 into a single variable by leveraging make $@ and $< variables.
152203 is because the callback struct in the headers has an "open" member and
152209 In a cross toolchain for nios2-elf target and x86_64-w64-mingw32 host
152258 per run" with PIEs and/or different compilers. I've closed similar
152262 DW_FORM. The bfd reader doesn't support indexed strings and returns
152264 runs and/or compiler, and we allow that address to appear in output.
152346 This test was failing here and on another similar symbol:
152352 when stored into a 64-bit bfd_vma, and then that value not being
152353 trimmed back to 32 bits when used. The following belt-and-braces
152354 patch fixes both the store and subsequent reads.
152383 Before that, snprintf would return a value bigger that UNIX_PATH_MAX and
152384 the "if" after would catch it and emit a warning, which is exactly what
152401 When building gdb with on AArch64 with g++ 11.1.0 (and some preceding
152402 versions too), -O2 and -fsanitize=address, I get this error.
152424 I am pretty sure it's spurious and might be related to this GCC bug:
152434 destination buffer (including space for the NULL byte) and use strcpy.
152446 Clang 13 and 14 produce some -Wunused-but-set-{variable,parameter} for
152447 situations where gcc doesn't. In particular, when a variable is set and
152459 that these variables can indeed be deleted, and that there a no cases
152460 where it's a bug, and the variable should actually be used.
152491 sub-classes are then created and added into mi_cmd_table.
152494 invoke method and takes care of the suppress notifications handling,
152499 and a second for MI commands that delegate to CLI commands.
152509 and add an assert, if we are not using the argument string then the
152531 the comments in the header and source files.
152537 RISC-V: Added ld testcases for the medlow and medany code models.
152538 There are two linker scripts, code-model-01.ld and code-model-02.ld,
152548 We use the two linker scripts, to test the current medlow and medany behaviors
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.
152636 to end up accessing almost all of the contents of val, and so I wanted
152644 goes and fetches the value of this element from the remote target.
152647 languages, we always end up treating the array value as a pointer, and
152648 then doing value_ptradd, and value_ind, the second of these calls
152658 However, for cases where we do have the array contents loaded, and we
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.
152673 additional memory accesses, and its performance increases about 10x!
152678 This commit updates uses of 'loc' and 'loc_kind' to 'm_loc' and
152685 gdb: add accessors for field (and call site) location
152700 Handle bit offset and bit size in base types
152708 Use scoped_restore_current_thread and switch_to_thread in
152719 Regression-tested on X86-64 Linux using the native-gdbserver and
152724 gdbserver: introduce scoped_restore_current_thread and switch_to_thread
152725 Introduce a class for restoring the current thread and a function to
152771 ::post_startup_inferior from the target_ops API, and instead make this
152775 the inf_child_target class, and add a new empty implementation to the
152779 implementation of this method and so don't need to change beyond
152801 mips-netbsd-nat.c, and noticed that the class mips_nbsd_nat_target
152806 ppc_nbsd_nat_target, sh_nbsd_nat_target, and vax_bsd_nat_target all
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
152888 gdb: only include mips and riscv targets if building with 64-bit bfd
152890 configurations of GDB, and, during one test build I ran into a
152892 --host=i686-w64-mingw32` and saw this error while linking GDB:
152899 So the `disassembler_options_mips` and `disassembler_options_riscv`
152902 This turns out to be because mips-dis.c and riscv-dis.c, in which
152909 the elf*-mips.lo files, and (I know because I tried), the two
152913 So, though we can build most of GDB just fine for riscv and mips with
152919 So, in this commit, I move the riscv and mips targets into GDB's list
152928 and it is agreed, that it is unfortunate that the 32-bit riscv and
152932 GDB to build when configured with --enable-targets=all, and when using
152943 C++-ifying struct substitute_path_rule both simplifies the code and
153024 GDBSERVER variable. However, this variable was ignored and /usr/bin/gdbserver
153027 This commit updates the code to respect GDBSERVER if set and fall back to
153064 binutils-all/strip-13 and binutils-all/strip-14 tests create
153076 I suppose this code was copied from GDBserver and this ifndef was left
153127 that tests failing to run to main just fail silently, and that's bad.
153167 with ELFv2 and other architectures.
153172 With test-case gdb.base/maint.exp and target board -readnow, I run into:
153177 The problem is that this and other regexps anchored using '^':
153187 Tested on x86_64-linux with native and target board readnow, as well as
153188 check-read1 and check-readmore.
153193 With test-case gdb.base/include-main.exp and target board readnow, I run into:
153207 Tested on x86_64-linux, with native and target board readnow.
153264 would expect it to be detached and run.
153270 GDB-side, make the linux-nat and remote targets detach of fork children
153278 - thread_info::pending_follow: if we ran to a "catch fork" and we
153283 - For linux-nat, they can be in lwp_info::status and
153293 Update the gdb.threads/pending-fork-event.exp test (and rename it to
153296 the fork child process is correctly detached and resumes execution
153298 output directory, and make the test wait $timeout seconds for that file
153308 TARGET_WAITKIND_STOPPED, and this is now enforced using assertions (iit
153312 wait status is of kind TARGET_WAITKIND_STOPPED, and use GDB_SIGNAL_0
153317 target. This test has many threads constantly forking, and we detach
153321 the parent to exit by sending it a SIGUSR1 signal and have it write a
153323 joins the forking threads, and the forking threads wait for their fork
153325 will not write the file, and the test will time out. If I remove the
153331 instruction after being detached and crash. I know this is wrong, and
153354 Then, suppose we run to a fork catchpoint and the user types "detach".
153361 then see that tp->pending_follow contains TARGET_WAITKIND_SPURIOUS, and
153372 find a bit awkward, and to make them a bit more reusable.
153375 allows iterating on only this inferior's threads and avoid further
153380 thread_pending_fork_status and check for nullptr.
153390 Move the stop_reply and a few functions up. Some code above them in the
153400 a given PID. Factor out the code that does this and put it in its own
153409 created when a fork happens at the same time as another event, and that
153410 other event is reported to GDB first (and the fork event stays pending
153411 in GDBserver). This happens for example when we step a thread and
153432 - We have two threads, thread A that we single-step and thread B that
153435 complete SIGTRAP" and the "fork" events from the kernel. It
153445 inferior, and things go downhill from there.
153449 will be reported, we'll go through follow_fork, and that process will be
153485 without the fix applied on the native-gdbserver and
153488 At some point I suspected that which thread called fork and which thread
153489 did the step influenced the order in which the events were reported, and
153491 combinations: main thread forks while other thread steps, and vice
153525 .debug_names -- this was failing before, and now it works.
153583 is not great, and the benefit - being able to easily sub-class
153598 and still support the default argument, it is easier to write:
153655 gdb_pretty_print_disassembler::pretty_print_insn, and is only done if
153723 (gdbarch_program_breakpoint_here_p) recognizing all tw, twi, td and tdi
153726 Tested on Linux on PowerPC e500 and on QEMU PPC64le.
153732 and section C.6 "Trap Mnemonics" specify "tw, 31, 0, 0" (encoded as
153772 This simplifies the code, we don't need to manually allocate and delete
153773 the vectors and there's no pointer that can be NULL.
153776 NULL pointer to vector and an empty vector. So all NULL checks are
153788 This removes a temporary \0 assignment and an xfree from add_path,
153803 Functions agent_eval_command and agent_command are used to implement
153818 Support AT_FXRNG and AT_KPRELOAD on FreeBSD.
153825 This change displays the proper name and description of these entries
153865 Fixing this gets us twice the -DMAIN=jit_dl_main bit, once from a caller, and
153912 and ends at 0x4004ab <main+4>.
153914 and on aarch64 instead:
153918 and ends at 0x4005f8 <main+4>.
153927 Tested on x86_64-linux and aarch64-linux.
154025 Tested on x86_64-linux, with target board unix/-m32 and unix/-m32/-fPIE/-pie.
154085 errors and "FAIL: Check if efi app format is recognized". I also
154115 and elfV2.
154117 The patch has been successfully tested on both PowerPC BE, Powerpc LE and
154124 the memory operands to be aligned to a certain boundary, and the test-cases
154131 - run the test-case and observe a PASS
154133 and well-tested
154135 where reproduction and investigation is more difficult and time-consuming),
154136 and find out that the specified alignment was incorrect and should have been
154145 precise_aligned_alloc and precise_aligned_dup, to support precise alignment.
154152 Tested on x86_64-linux, with both gcc and clang.
154171 address, and it's only 16-byte aligned:
154183 Tested on x86_64-linux, with both gcc and clang.
154191 linking by correcting get_reference_flags, and for static linking by
154226 overriden features between shared objects and mains than ELF,
154246 a CU, and then discarding it. However, this name was preserved in the
154283 ended up creating a new std::string object and overwriting the
154287 delete, and making file_handler::name not a pointer.
154302 These were moved to the common configure script a while ago and have
154321 Move file_and_directory to new file and C++-ize
154322 This moves file_and_directory to a new file, and then C++-izes it --
154323 replacing direct assignments with methods, and arranging for it to own
154336 of tests it contains. By splitting it up and running in parallel, the
154418 in the doc subdir easily enough. This makes the code simpler and
154438 A header now looks like this, with the compunit_symtab name added (and
154477 and extract_unsigned_integer to take an array_view. This way, when we
154483 - Add overloads of extract_signed_integer and extract_unsigned_integer
154512 array view to another, ensuring that the destination and source array
154518 copy is implemented using std::copy and std::copy_backward, which, at
154521 as we do right now. When copying non-trivial data, std::copy and
154526 source or vice-versa. std::copy and std::copy_backward don't support
154532 and std::copy_backward, where the source comes before the destination.
154538 type (int) and of a non-trivial type (foo). Test non-overlapping
154540 dest before source, and dest == source.
154548 integer and an equivalent target_waitstatus object. It would make sense
154549 for it to take the integer as a parameter and return the
154550 target_waitstatus by value. Do that, and rename to
154596 AARCH64_OPDE_EXPECTED_A_AFTER_B and AARCH64_OPDE_A_SHOULD_FOLLOW_B
154599 memory and so could pass or fail arbitrarily.
154603 field to null for AARCH64_OPDE_EXPECTED_A_AFTER_B and
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
154660 then clearing the starting_up flag, this new class increments, and
154673 distributions. So even though the info pages were conditionalized, and
154684 Add myself and Zhensong Liu as the LoongArch port maintainer.
154700 result of xstrdup is used to initialize the string, and then lost
154744 - it adds 16 additional 512-bit wide zmm registers (with corresponding ymm and
154760 values in 64-bit and 32-bit mode.
154762 Tested on x86_64-linux with native and unix/-m32.
154777 Grep through the testsuite for "DWARF 2" and change all occurrences I
154825 about fixed-point types, and to avoid the unwanted application
154842 "finish" and "return" commands.
154906 and thus the cast is like doing:
154911 value is 16. Applying the scaling factor, that's 256, and because
154912 the size of FP1_Type is 1 byte, we overflow and thus it ends up
154971 The displayed value is wrong, and we actually expected:
154978 than 4 bytes. The compiler does not perform this promotion and therefore
154998 * NEWS: Mention support for Armv8.8-A and for new system registers.
155044 an int and a string.
155057 AARCH64_OPDE_A_SHOULD_FOLLOW_B and AARCH64_OPDE_EXPECTED_A_AFTER_B.
155061 for AARCH64_OPDE_A_SHOULD_FOLLOW_B and AARCH64_OPDE_EXPECTED_A_AFTER_B.
155063 AARCH64_OPDE_A_SHOULD_FOLLOW_B and AARCH64_OPDE_EXPECTED_A_AFTER_B
155064 come between AARCH64_OPDE_RECOVERABLE and AARCH64_OPDE_SYNTAX_ERROR;
155069 AARCH64_OPDE_A_SHOULD_FOLLOW_B and AARCH64_OPDE_EXPECTED_A_AFTER_B.
155078 that provides memcpy and memset acceleration instructions.
155106 AARCH64_OPND_MOPS_ADDR_Rs and AARCH64_OPND_MOPS_WB_Rn.
155108 AARCH64_OPND_MOPS_ADDR_Rd, AARCH64_OPND_MOPS_ADDR_Rs and
155119 AARCH64_OPND_MOPS_ADDR_Rs and AARCH64_OPND_MOPS_WB_Rn.
155129 Armv8.8-A defines two new system registers: allint and icc_nmiar1_el1.
155136 (aarch64_sys_regs): Add allint and icc_nmiar1_el1.
155150 The register was previously RES0 and should therefore be accepted
155194 and last_line.
155214 that started a sequence and another to record the remaining
155222 and current_insns with num_added_insns and num_allocated_insns.
155240 description and gets the range from there. It also enforces
155289 * avr-dis.c (avr_operand); Pass in disassemble_info and fill
155303 both gcc and clang.
155305 Additionally, using DIAGNOSTIC_PUSH, DIAGNOSTIC_ERROR_SWITCH and
155324 out of nowhere and cause a build error if building with future
155357 Don't convert memory load to immediate load on __start_SECNAME and
155365 and __stop_SECNAME for --gc-sections -z start-stop-gc if the input
155400 These have been around for decades but don't appear to be used, and
155405 This avoids a recursive make into the doc subdir and speeds up the
155409 This avoids a recursive make into the doc subdir and speeds up the
155440 The comp_unit_head::version field is guaranteed to be between 2 and 5,
155442 strings to pass to record_debugformat, and keep it efficient.
155445 hit this assert and have to update this code.
155553 start_remote and just leave the restore in place until the end of the
155567 To avoid this, and to leave things as close to the current behaviour
155572 calls ::start_remote_1, and then does the insert_breakpoints call.
155587 Fix that by having a single with_test_prefix around that message and
155608 This patch adds an if statement to check for powerpc64 and if true sets mach
155612 The test completes with 1 expected pass and no failures.
155629 This includes all the registers that were mentioned in the PR and that
155660 (aarch64_sys_regs): Use it for lorc_el1, lorea_el1, lorn_el1 and
155721 There is a lot of overlap between the ETM and ETE system registers,
155724 Already tested by etm.[sd] and ete.[sd].
155727 * aarch64-opc.c (aarch64_sys_regs): Combine ETE and ETM blocks
155728 and remove redundant entries.
155758 and with the input scrubber, we'll only keep whitespace after
155787 test script exercises the gdb.Architecture.integer_type method, and
155795 and then uses PyObject_IsTrue to convert the object to a boolean.
155833 Use dwarf_vma type for offsets, ranges and section sizes in DWARF decoder.
155835 offsets, sizes and ranges.
155905 would assume that a memory error had occurred and just print whatever
155949 'remote' and 'extended-remote' targets.
155975 remote target, and one when the reply has been received from the
155979 going to actually send it, and (2) we don't need to make a copy of the
155996 only contained printable characters, and had a null character only at
156071 vediv extension and use the bit 8 and 9 of vtype, but forgot to update
156076 vsetvli a0, a1, 0x700 # the reserved bit 10, 9 and 8 are used.
156078 vsetvli a0, a1, 0x300 # the reserved bit 9 and 8 are used.
156080 vsetivli a0, 0xb, 0x300 # the reserved bit 9 and 8 are used.
156108 * opcode/riscv.h: Removed OP_MASK_VTYPE_RES and OP_SH_VTYPE_RES,
156109 since they are different for operand Vc and Vb.
156132 The vsew e128 and vlmul (null) are preserved according to the spec,
156150 * riscv-dis.c (print_insn_args): The reserved vsew and vlmul
156151 are NULL string in the riscv_vsew and riscv_vlmul, so dump the
156170 This avoids a recursive make into the doc subdir and speeds up the
156194 However, this fails in gdb. I looked into this, and it turns out that
156196 particular, the code here assumes the C++ type names, and it creates
156199 This comes from commit 53e710acd ("GDB thinks char16_t and char32_t
156208 new character type; and this approach is better because it preserves
156211 debuginfo; and second, if we are, we should implement type interning
156226 being cancelled and skipped. However in some cases, ctrl-c fails to
156269 The call to psymtab_to_symtab expands the Decl.cpp symtab (and consequently
156311 test-case generates all executables and associated temporary files using the
156314 Fix this by adding a new proc prefix_id in lib/gdb.exp, and using it in the
156343 review, and in case we need to make adjustments. Once this feels
156356 and will see a bit of a speed up.
156359 run all the targets in parallel and cut the execution time a bit.
156383 a bit of setup ahead of time, but it's a one-time cost, and makes
156415 the logic and make target-newlib-syscall a hard requirement.
156419 the architectures into a single build, and mcore has a custom syscall
156424 the architectures into a single build, and riscv has a custom syscall
156431 the architectures into a single build, and cr16 has a custom syscall
156441 the architectures into a single build, and d10v has a custom syscall
156451 the architectures into a single build, and sh has a custom syscall
156458 the architectures into a single build, and v850 has a custom syscall
156482 This commit adds the maps and switches the ports using the common
156492 Avoid use of TARGET_<syscall> defines and rely on the callback layers
156497 Avoid use of TARGET_<syscall> defines and rely on the callback layers
156516 The variable names used to restore CFLAGS and LDFLAGS here don't quite
156517 match the names used above, resulting in losing the original CFLAGS and
156546 figure out & document the needs at that point, and then setup some
156583 newlib/libgloss, and everything else is glibc/linux), but that is a
156584 bit too rough, and it doesn't work in a multitarget build.
156587 to detect the different setups, and then let tests declare which
156595 them in more ports in the future, and collapse the bfin & cris code.
156607 Lets drop the single sim_init call in config/default.exp and move it out
156624 The tests assume that the cwd is the objdir directory and write its
156643 sim-specific settings with the dejagnu common LDFLAGS_FOR_TARGET and get
156695 sim-specific settings with the dejagnu common ASFLAGS_FOR_TARGET and get
156705 expanded into $build/gdb/testsuite/outputs/gdb.ada/dgopt/x.adb.dg, and the
156739 and in the .debug_info part:
156762 dejagnu helpers (e.g. target_assemble & target_link), and the dejagnu
156797 1. The GDB changes have been split into a separate patch, and
156820 is copied, and the dir and md5 fields are left to their default values.
156822 Fix this by adding the copy of the dir and md5 fields.
156830 also copy dir and md5 fields.
156837 newlib and its ctype.h), so use P_ instead to avoid conflicts.
156887 Fix building the AArch64 assembler and disassembler when assertions are disabled.
156916 address (and thus byte offset) of the members, making A::e and B::e have the
156918 and would instead print it as an empty class (first path found).
156930 Section alignment for coff-go32 is inconsistent - The '.text' and
156931 '.data' sections are 16-byte aligned, but named sections '.text.*' and
156933 16 bytes, yet '.rodata' and '.rodata.*' are aligned to 4 bytes. For
156940 to 16 bytes, for all code and data sections referenced in the default
156951 which meant a typo in Makefile.am was not discovered and other
156954 and the following $(BFD32_LIBS) etc. dependency rule, in the
156963 * po/BLD-POTFILES.in: Regenerate.
156964 * po/SRC-POTFILES.in: Regenerate.
156969 * po/fr.po; Updated French translation.
156979 cli-style.c:set_style_enabled, and observed in tui-winsource.c,
156984 observer for both source styling, and disassembler styling.
157037 the checking of this flag out of the various ::can_async_p methods and
157041 target_is_async_p and target_async. The rules these assertions are
157045 become "async enabled", and so ::is_async_p should always return
157064 ::can_async_p method and into the target_can_async_p wrapper function.
157080 target has been pushed, and in another location (in target.c) it seems
157087 target_ops pointer, and calls the ::can_async_p method directly. I
157095 The test must be done with the shared object and not with the object
157132 output of the command. After the commit, the message is unified and it's no
157141 Update the docs and testsuite to use "set logging enabled". Mention the new
157142 and deprecated commands in NEWS.
157166 the help string, and forgot to update it. Change it for a real help
157178 on Linux with other architectures, though, and it seems like a
157210 turn calls calloc, and calloc zero initializes the allocated memory.
157243 and makes make to warn about the missing package.
157249 pei-aarch64-little. This is not a full target and only exists to support EFI
157252 This means that this target does not support relocation processing and is mostly
157373 * po/Make-in (msgid-bugs-address): Likewise.
157377 * po/Make-in (msgid-bugs-address): Update.
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.
157427 and caused errors on compilation.
157549 I noticed a new gcc option -gdwarf64 and tried it out (using gcc 11.2.1).
157598 a 4 byte value, and sees entries 0x00000128 and 0x00000141.
157599 - gdb instead interprets it as an 8 byte value, and sees as first entry
157604 contribution has it's own initial_length field, and encodes there that it's
157610 Note: the described test-case does trigger this complaint (both with and
157614 During symbol reading: intermixed 32-bit and 64-bit DWARF sections
157622 Tested on x86_64-linux, using native and target board dwarf64.exp.
157635 - two new fields address_size and segment_selector_size
157636 - a different way to encode the directory and filename tables.
157640 For now, make the v5 directory and filename tables work with the v4 type of
157644 directory and filename entries are specified in the test-cases, f.i:
157655 Rather than generate dwarf immediately in procs include_dir and file_name,
157656 postpone generation and store the data in variables. Then handle the
157748 in isolation and seeing it crash:
157754 Using ../../../sim/testsuite/config/default.exp as tool-and-target-specific interface file.
157766 assembler options with cpu_option -- the option and its value are
157769 switch v850 to the standard all_machs setting and avoid opt entirely.
157780 uninitialized variable early as the same binary would sometimes work and
157785 the "mova" support and the "short form" of those instructions in particular.
157787 As the code stands it checks if code->op3.type == 0 to try and identify cases
157788 where op3 wasn't filled in and thus we've got the short form of the mova
157792 data structure. We get whatever was lying around -- it's usually zero and
157794 fail to recognize the instruction as a short-form and fail to set up the
157799 Bringing consistency meant using -1 as the initializer value and adjusting
157803 and haven't seen any of the intermittent failures again.
157808 When building with -std=c++11 and -D_GLIBCXX_DEBUG=1, we get some errors
157824 enable it only for c++14 and later.
157849 source-highlight library is build with g++ 4.8.5 and gdb is build with
157856 the unusable library and finish successfully.
157907 followed by 81 FAILs and two more UNRESOLVEDs.
157910 problem causing the UNRESOLVED caused all subsequent UNRESOLVEDs and FAILs.
157917 - handling mi_run_inline_test failure in gdb.mi/mi-var-cp.exp, and
157986 This commit supplements whatis and ptype command tests for print of
157992 * gdb.cp/ptype-cv-cp.cc: New const and volatile typedef
158044 The cv qualifiers (const in this case) are ignored for me1 and me2.
158070 template, typdef and integer attributes.
158071 * gdb.cp/templates.exp: Add new test using ptype and ptype/r
158103 and the new versions are not RISCV_UNKNOWN_VERSION, then update the
158143 RISC-V: Support STO_RISCV_VARIANT_CC and DT_RISCV_VARIANT_CC.
158233 (gdb) FAIL: gdb.base/dprintf-execution-x-script.exp: load and run script with -x
158252 target and no alternate "target" command has been issued. But, once
158253 GDB finishes starting up, the test will spawn a gdbserver and then
158313 AIX_TEXT_SEGMENT_BASE should simply be moved there, and rs6000-tdep.h
158322 This file seems to be AIX-specific, according to its contents and
158323 configure.nat. Rename it to rs6000-aix-nat.c, to make that clear (and
158335 at 0x54314, 0x54328, and 0x5431c.
158343 0x5431a, 0x5431c, and 0x5431e.
158404 The check_continue proceedure checs that the command, execve, starts and
158406 program and thus the return from the command causing the test to fail.
158408 The call to proc check_continue "execve" is removed and replaced with
158411 the new program started and hit the break point in main.
158416 and Little Endian systems. Power 10 LE istarget prints as:
158419 This patch fixes three failures and the error:
158429 gdb.base/break-interp.exp. The patch adds a funtion and registers it to
158432 to the ppc-linux-tdep.c and rs6000-tdep.c files. Additionally the function
158506 a variable set by debuginfod.m4 (via pkg.m4 and pkg-config).
158530 RISC-V: Add instructions and operand set for z[fdq]inx
158532 verify if z*inx enabled and use gpr instead of fpr when z*inx is enable.
158559 imply zdinx and zdinx imply zfinx, where zfinx are not compatible
158581 * REVD, SCLAMP and UCLAMP.
158612 SCLAMP and UCLAMP.
158634 smprimap_el2, smidr_el1, tpidr2_el0 and mpamsm_el1.
158638 aarch64: [SME] Add SME mode selection and state access instructions
158639 This patch is adding new SME mode selection and state access instructions:
158640 * Add SMSTART and SMSTOP instructions.
158658 sme_start and sme_stop.
158677 (PSTATE_ENCODE_CRM_AND_IMM): Encode CRm and immediate
158680 and SMSTOP instructions.
158687 aarch64: [SME] Add LD1x, ST1x, LDR and STR instructions
158688 This patch is adding new loads and stores defined by SME instructions.
158717 (enum aarch64_insn_class): Added sme_ldr and sme_str.
158727 ins_sme_za_list, ins_sme_za_array and ins_sme_addr_ri_u4xvl.
158733 ext_sme_za_list, ext_sme_za_array and ext_sme_addr_ri_u4xvl.
158736 and sme_misc.
158779 aarch64: [SME] Add MOV and MOVA instructions
158780 This patch is adding new MOV (alias) and MOVA SME instruction.
158785 (struct reloc_entry): Added ZAH and ZAV registers.
158810 AARCH64_OPND_SME_ZA_HV_idx_src and
158825 Handle SME_ZA_HV_idx_src and SME_ZA_HV_idx_dest.
158827 FLD_SME_size_10, FLD_SME_Q, FLD_SME_V and FLD_SME_Rv.
158861 AARCH64_OPND_SME_ZAda_2b, AARCH64_OPND_SME_ZAda_3b and
158868 Print OPND_SME_ZAda_2b and OPND_SME_ZAda_3b operands.
158871 New bit fields FLD_SME_ZAda_2b, FLD_SME_ZAda_3b and FLD_SME_Pm.
158893 Matrix Extension. Patch introduces new command line options: +sme, +sme-f64 and
158921 …Fix the linker script parser so that it will recognise the PT_GNU_RELRO segment type, and the link…
158926 ld * ldgram.y: Add support for PT_GNU_RELRO and PT_GNU_PROPERTY.
158941 and now requires that gdbarch_tdep has been declared before. Which is
158963 (command_line_switch): Add OPTION_INPUT_ABIVERSION and
158965 (options): Add --input-abiversion and --output-abiversion.
158967 (main): Handle --input-abiversion and --output-abiversion.
158968 * doc/binutils.texi: Document --input-abiversion and
158988 of v, zve and zvl extensions.
158990 (riscv_supported_std_z_ext): Added zve and zvl extensions.
158994 if the INSN_CLASS_V and INSN_CLASS_ZVEF instructions are supported.
158997 (enum reg_class): Added RCLASS_VECR and RCLASS_VECM.
159005 (riscv_ip): Parse and encode rvv operands. Besides, The rvv loads
159006 and stores with EEW 64 cannot be used when zve32x is enabled.
159027 * opcode/riscv-opc.h: Defined mask/match encodings and csrs for rvv.
159028 * opcode/riscv.h: Defined rvv immediate encodings and fields.
159029 (enum riscv_insn_class): Added INSN_CLASS_V and INSN_CLASS_ZVEF.
159059 Tested by running 'info os processes' and checking CPU cores column.
159064 Add aliases read_core_file_mappings_loop_ftype and
159090 The default configs and runtest flags shouldn't load these boards.
159134 and the value's actual contents is a slice of that (as returned by
159136 value_contents_for_printing and value_contents_for_printing_const are
159175 (process_relocs): Check SHT_RELR and DT_RELR.
159190 Therefore, I propose to just remove FUNCTION_NAME and update users to
159197 gdb/gdbsupport: make xstrprintf and xstrvprintf return a unique_ptr
159215 after my change it was not, and this made g++ unhappy.
159218 gdb-xfree.h, which I'll then include into gdb_unique_ptr.h and
159231 This commit updates error_value_optimized_out and
159234 I ran the testsuite and saw no regressions. This doesn't really
159253 In frame.c:unwind_pc, stack.c:info_frame_command_core, and
159261 config.cache from gdbserver/. This patch fixes the bug, and removes a
159271 Remove the inferior output, and revert commit 1f28b70def1 to make the matching
159285 * testsuite/gas/i386/i386.exp: Run inval-tls and x86-64-inval-tls
159311 the now standard options and not its one-off hack.
159322 pointer instead of setting to the length, and make sure we don't write
159338 more functionality in the run interface, and to unify some of the
159349 RISC-V: Scalar crypto instruction and entropy source CSR testcases.
159351 instructions in k-ext/k-ext-64 and sub-extension testcase for zbk* zk*. Also
159404 RISC-V: Scalar crypto instructions and operand set.
159407 The 'aes64ks1i' and 'aes64ks2' instructions are present in both the Zknd
159408 and Zkne extensions on rv64. Add new operand letter 'y' to present 'bs'
159409 symbol and 'Y' to present 'rnum' symbolc for zkn instructions. Also add
159418 (validate_riscv_insn): Added y and Y for bs and rnum operands.
159419 (riscv_ip): Handle y and Y operands.
159423 * opcode/riscv.h: Defined OP_* and INSN_CLASS_* for crypto.
159425 * riscv-dis.c (print_insn_args): Recognized new y and Y operands.
159447 debuginfod on/off/ask". This is more MI-friendly, and it gives an
159451 not compiled in. This makes the commands "show" and "show debuginfod"
159459 support is not compiled in, and "ask" otherwise.
159536 I've left SiFive and have a new gmail account because it is convenient
159558 To understand what it does, I disabled this bit and ran with GDB_DEBUG=infrun,
159564 and ran into:
159589 By default, GDB debug output will go to both the terminal and the logfile.
159592 and my interpretation of it was that "debug output" did not match the
159607 Tested test-case gdb.base/foll-vfork.exp with and without GDB_DEBUG=infrun.
159631 To allow it, rename all gdbarch_tdep types to <arch>_gdbarch_tdep, and
159639 owned by the gdbarch objects, and then it would become useful to have a
159687 in the assembly file and:
159698 in the object file. Note the full path and the questionable Dir value in
159715 Add quiet build support and make sure it's removed with `make clean`.
159732 We use the program argv to both find the program to run (argv[0]) and
159747 Set the mach to the right value all the time, and update xfail to
159844 and thus must always be non-NULL.
159889 In <=gcc-7 versions, -fstrict-overflow is enabled by default, and that
159920 Patch has been tested on x86_64-linux and ppc64le-linux with no test failures.
159947 (TARGET64_LIBOPCODES_CFILES): ..this and..
159974 * Makefile.am: Add demanguse.c and demanguse.h.
159976 * po/POTFILESin: Regenerate.
159997 TARGET_WAITKIND_NO_RESUMED event, and that's what we see:
160034 covers threads that are resumed and executing, as well as threads that
160042 When building with clang 13 (and -std=gnu++17 to work around an issue in
160061 Build on x86_64-linux, using gcc 7.5.0 and clang 13.0.0.
160088 Tested on x86_64-linux, with gcc 7.5.0, both without (implying -std=gnu++14) and
160096 - set a breakpoint on a local copy of glibc's _exit, and
160103 aforementioned commit, and passes with the commit. Both with assembly
160104 and C source.
160110 elf and linux toolchains, so that we could dump the objects correctly
160159 For the current objdump, we dump data to .byte/.short/.word/.dword, and
160161 respectively are 2, 4 and 8 bytes instructions. Therefore, we shouldn't
160173 rv32emc-elf, rv32gc-linux, rv32i-elf, rv64gc-elf and rv64gc-linux
160174 toolchains. Also, tested by --enable-targets=all and can build
160183 * elfxx-riscv.h: Added extern for riscv_subset_supports and
160219 Most code isn't using this, and the only call site (in one cris file)
160225 crashes in ld, and it uses a config option that no other tests uses
160226 and we want to remove, drop the test to avoid all the trouble.
160235 we have in the source tree is all we need and only thing we test.
160259 I tested this by running the gdb.dwarf2 tests both with and without
160299 Add a test-case to excercise the problem scenario reported in PR28527 and
160302 - set a breakpoint on _exit, and
160313 The benefit of this test-case is that it exercise real-life code and may
160317 Tested on x86_64-linux and ppc64le-linux.
160331 PR28575, readelf.c and strings.c use undefined type uint
160333 and binutils/strings.c use 'uint' in a few locations. It likely
160335 within binutils (besides zlib) and AFAIK it isn't a standard type.
160411 adding to it, and then rewriting almost all of it. It's different
160419 dprintf and break/commands":
160428 relevant files in the same directory and have renamed the files to all
160495 The 2nd and 3rd dprintf messages are missing! However, all three
160501 comment and code near the start of the function:
160600 There are two frames for bpstat_do_actions_1(), one at frame #16 and
160745 ... and much more ...
160772 combination of DWARF 5 and a newer version of GCC. I've updated a
160784 function, and <sys/personality.h> and <linux/personality.h> cannot
160787 This patch restores one of the removed configure checks and updates
160852 weren't even being run by the exp file), and to fix the expected
160859 local funcs as static, and add missing prototypes for the rest which
160911 This compiles fine and produces the following output:
160918 object for which the A member is 2 and this call to print_all<Parent>
160922 and that an array view is constructed to a pointer to the first element
160923 and a size. The valid type pointed to that can be used with this
160941 This commits adds const versions for the GET and AS_ARRAX_VIEW methods
160965 I looked at the MI side of things, the function exec_continue, and found
160966 that it was correct. There is a similar iteration over threads, and
160971 where we iterate on threads and proceed them individually.
160995 ... and so on for each thread ...
161032 particularly useful. In fact, it confused me many times, and I just see
161037 So, remove the bpstat typedef and rename struct bpstats to bpstat (since
161046 time to put it in the binutils source tree. It's believed correct and
161049 earlier versions can be read by libctf but not generated by it, and you
161101 include out from _WIN32 and under the specific HAVE_UTIME_H check.
161104 This isn't needed on any reasonable target nowadays, and no other
161105 source does this, and breaks with some mingw targets, so punt the
161109 The code assumes that all _WIN32 targets are the same and can
161119 Drop our compat code and assume environ exists to simplify.
161126 and I don't have the expertise to dive into each opcode to figure
161130 This block of code relies on i to control which bits to test and how
161156 and have sregs cover all of these registers.
161241 readelf: Support RELR in -S and -d and output
161268 and the arm & ppc ports have carried a copy of the COPYING file. Lets
161310 but the thread exits just after and clears its address space pointer.
161318 gdb can open(/proc/pid/mem) and then read (say) /proc/pid/statm.
161327 a thread execs, and before GDB has seen the corresponding exec event.
161332 A few months back, Simon, Oleg and I discussed a similar race:
161334 [Bug gdb/26754] Race condition when resuming threads and one does an exec
161355 /proc/pid/mem per inferior, and keep it open until the inferior exits,
161358 inferior is stable and stopped and isn't thus going to exec, or have a
161359 thread exit, and so the file open won't fail (unless the whole process
161380 So, I've marked the 'return 0' with a comment, and now the test will
161387 I get the same results before and after this change.
161433 command (prefix for "set index-cache directory", for example), and a
161434 boolean setting for turning the index-cache on and off. Even though I
161450 boolean setting commands. Keep commands "set index-cache on" and "set
161452 with respectively the default arguments "on" and "off".
161464 The getter and setter in struct setting always receive and return values
161466 and int), but more importantly it makes it a bit annoying to write a
161478 Change the getter and setter function signatures to receive and return
161491 setting with a getter and a setter.
161548 dumping any instructions, and also needs to recognized the
161551 to bfd/elfxx-riscv.c, including riscv_multi_subset_supports and
161556 rv32i-elf, rv64gc-elf and rv64gc-linux toolchains.
161579 The multi-run logic for mips involves a bit of codegen and rewriting
161621 includes it and produces the same object code. We also need to pull
161622 in the split constant modules after the refactoring and pulling them
161624 directly, but does for gdb and other users of libsim.
161645 variable and the gnu-nat-specific `struct inf` variable. Fix by
161660 it exits, and the fact that it makes it exit with a non-zero exit code.
161673 gdb.base/quit.exp
161711 this and simplifies the code a bit. It allows us to list all of the register
161712 sets only once, and pick and choose based on HWCAP/HWCAP2 or other properties.
161737 Despite the code called properly operator new[] and operator delete[].
161745 It depends on libraries and compiler which of the operators will get used.
161763 problem and fixed it by hand, and to implement xmemdup0 in gas.
161766 * deflex.l (single and double quote strings): Use xmemdup.
161810 aren't normally run, and they rely on cgen logic that has not yet
161849 not dynamic and has no plt entry, hide any associated fake
161904 because it's a power9 insn, and I'm running on a power8 machine.
161996 and size against file size.
162019 Regression tested on `arm-none-eabi` cross Binutils and no issues.
162077 and can set variables on a per-object basis.
162080 Clean up some warnings in dv-lm32cpu, and all in sim-if, then reduce
162082 we require GNU make and can set variables on a per-object basis.
162086 disable to that now that we require GNU make and can set variables on
162091 disable to that now that we require GNU make and can set variables on
162095 Fix a few printf warnings in sim-main.c, and then we're left with only
162097 disable to that alone now that we require GNU make and can set variables
162102 disable to that alone now that we require GNU make and can set variables
162107 disable to that now that we require GNU make and can set variables on
162112 disable to that alone now that we require GNU make and can set variables
162127 handlers, and these are using it to pass an integer. Fix up the
162149 handlers, and these are using it to pass an enum. Fix up the casts
162189 Anchoring the regexps seems to fix the problem, and works for the
162208 The ppc codebase is unique and doesn't leverage common/, so have to
162232 instead, and localize some of the defines in the ARM code (since
162280 sim: erc32: fix signedness compatibility and redefinition warnings
162297 and use the silent build helpers to tighten up output.
162307 Add a new stamp helper for quiet builds, and don't dump the command
162308 line options when it runs. That isn't standard tool behavior, and
162312 Add a new ECHO_STAMP helper and convert existing stamp code over
162313 to it. This is mostly common rules and cgen mloop rules.
162320 Use the srcroot path and make them all silent.
162348 This (and other) code from coffcode.h is broken for x86_64_coff_vec,
162349 and has been ever since support was added in 2006 commit 99ad839030c1
162369 fuzzers. I suspect x86_64 COFF is still broken after this fix, and
162374 * pe-x86_64.c: Include coff/pe.h and other headers.
162408 version of string_view, and don't have a selftest for it. So the list
162563 can be used to look up an integer type of a given size and
162567 v2 moves this to be a method on gdb.Architecture and addresses other
162646 Rebuild on x86_64-linux and ran gdb.gdb/unittest.exp.
162674 Catch fuzzed segments where p_offset + p_filesz wraps, and limit error
162696 gdb: Add OpenRISC gdbserver and native config news
162697 The previous patches added gdbserver and native debugging support
162704 which has been extracted and shared in helper function
162713 to read and write the ptrace registers between linux and GDB.
162756 ARM assembler: Allow up to 32 single precision registers in the VPUSH and VPOP instructions.
162769 currently debugging some fork issues, and find the pid_to_str output not
162817 gdb: add "maint set/show selftest verbose" commands and use process_options
162818 I saw the new -verbose switch to "maint selftests" and thought it would
162841 There's a common pattern to call add_basic_prefix_cmd and
162842 add_show_prefix_cmd to add matching set and show commands. Add the
162843 add_setshow_prefix_cmd function to factor that out and use it at a few
162866 Tested on aarch64-linux (with python support disabled) and x86_64-linux (with
162888 Tested on aarch64-linux and x86_64-linux.
162903 When compiling with optimization level -O1 and printing the type of
162972 mmo_get_loc can return NULL. It's commented even, and that the caller
162974 instead just segfault. Stop that happening, and refuse to recognise
163016 * vms-alpha.c (evax_bfd_print_egsd): Sanity check record and
163033 in particular, those that were being resumed and that were not marked
163054 available, and it handles either this message:
163058 meaning failure, in which case the debuginfod instance is killed, and we try
163084 RISC-V: Tidy riscv assembler and disassembler.
163085 Tidy the gas/config/tc-riscv.c and opcodes/riscv-dis.c, to prepare for
163093 * For validate_riscv_insn, riscv_ip and print_insn_args, unify the
163101 * config/tc-riscv.c: Added parts of missind comments and updated
163105 opargStart and asargStart, to prepare for moving the released
163113 oparg and opargStart, to prepare for moving the released
163123 indirectly and libbfd has been installed in a directory that is not in
163149 `libbfd.la' does exactly what it should, as previously suggested[4], and
163155 above go away. Alternatively `-L' and `-l' could be used to the same
163156 effect, but it seems an unnecessary complication and just another way to
163201 'set print inferior-events' and improve detach/fork/kill/exit messages".
163214 and then indexes it with a non-sensical index.
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
163304 nonrepresentable types can't be either, so handle that case and
163307 (The added test verifies that the dumper now handles this case and
163329 type-dumping, but rather ignore them and carry on, so we dump as many
163340 ld by default (and always, unless adjusted with a hand-rolled linker
163395 development of libctf as part of binutils, and it shows. Back in the
163400 all the CTF dictionaries -- but the --ctf-parent option in objdump and
163401 readelf was never adjusted, and lingered as a mechanism to specify CTF
163405 parent/child dicts, and they are never found in the wild, emitted by GNU
163425 of the objdump output and thus we'll end up with a shared dump
163426 and then smaller, headed dumps for the per-TU child dicts; but if
163432 parameters requires defining a new struct and is clumsy) to
163433 ctf_archive_next, allowing us to just *call* dump_ctf_archive_member and
163435 tiny difference between readelf and objdump: if a ctf_dump ever failed,
163461 * objdump.c (main): Add 'L' to short options and sort them.
163498 (ticoff0_swap_table): Use coff_swap_reloc_v0_out and
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.
163693 * testsuite/gas/i386/i386.exp: Run unaligned-vector-move and
163702 This adds some missing code to the 'uninstall' targets in gdb and
163704 longer tries to remove any man page -- this is already done (and more
163716 I found these while working on the subsequent patches, and figured it
163816 and left the new function in gdb/python/py-inferior.c, however, it
163825 tweaks to layout and replacing NULL with nullptr, hence, I've left the
163884 table (connect the high and low pcrel relocations), then there is
163895 to pcgp-relax-01, and added pcgp-relax-02.
163904 Commit abd20cb637008da9d32018b4b03973e119388a0a and
163907 resolve the issue of accurately keeping track of pcrel_hi and pcrel_lo
163915 could not be used to perform the entire relaxation process again and so
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
163958 the pcgp_relocs table at this stage, and don't need to set
163965 * emultempl/riscvelf.em: Revert restart_relax changes and set
163997 target_waitstatus::value::related_pid, and contained a ptid. The read
163998 signal value was therefore garbage, and that caused GDB to crash soon
164009 - Make the kind and value of target_waitstatus private.
164025 kind at some point and the associated data later, as some users did.
164028 This was tested on x86-64 Linux (unix, native-gdbserver and
164030 FreeBSD, NetBSD, MinGW and macOS. The rest of the changes to native
164048 Add a constructor and a destructor. The constructor takes care of the
164058 Fix ARMv8.4 for hw watchpoint and breakpoint
164059 Just like my previoius patch for ARMv8.1 and v8.2 (49ecef2a7da2ee9df4),
164061 and breakpoints.
164065 a good idea to factor it out to a new function and just use that function from
164087 and consequently:
164088 - a continue was replaced by a return, and
164110 Fix test step-and-next-inline.cc
164123 The "add accessors for field (and call site) location" patch caused a
164224 and tls_opt_error_ variables and accessors. Remove all uses.
164278 - sends a signal and verifies the result
164281 that captured_command_loop and set_active_ext_lang are available for setting
164337 it seems to me that the 'selftest' struct and accompanying code is
164347 This is the case when gdbserver attached to a process and a gdb target
164389 on the remote target (where it is) and expected them to be installed
164417 an enumeration type, which was caused by a copy and paste error.
164433 actual section contents might be more useful and robust, but it was
164434 likely done that way to detect overlap and holes.
164437 and limiting to the unit length of the first header fails if there is
164488 Powerpc: Add support for openat and fstatat syscalls
164492 Add syscall entries for the openat and fstatat system calls.
164497 Add .debug_loc support in the dwarf assembler, and use it in new test-case
164517 Split .got into two piece, one with the header and entries for small
164546 and section to suit reloc.
164557 this patch but start by adding object parameter to toc_pointer() and
164566 header_index_ to -1u for 64-bit, and make header here.
164571 (Stub_table): Remove toc_base_off_ from Branch_stub_key, and
164572 object param on add_long_branch_entry and find_long_branch_entry.
164615 This is a change in gdb/valprint.c, and grepping through the sources reveals
164622 PPC fix for stfiwx instruction (and additional stores with primary opcode of 31)
164648 My first plan was to make m_err_memaddr a gdb::optional, and assert
164652 callback, for example in arc-dis.c and cris-dis.c.
164658 don't plan to go and fix all of the disassemblers.
164703 due to use of the start command (and similar), which is not supported when
164760 be executed, and consequently determines the return status.
164768 [gdb/testsuite] Remove quit in gdb.arch/i386-mpx.exp
164774 quit^M
164788 The problem is that the test-case sends a quit at the end (without verifying
164791 send_gdb "quit\n"
164794 Fix this by removing the quit.
164813 - MVE vector predication status and control register (VPR)
164819 Pseudo register p0 is the least significant bits of vpr and can be accessed
164906 Built and regtested with a simulator.
164916 determine types and names. In preparation to the upcoming MVE support
164917 patch (that will add another pseudo register), this patch refactors and
164920 We keep track of the first pseudo register number in a group and the number of
164923 Right now we only have the S and Q pseudo registers.
165013 Before the commit the main file was compiled with debug info, and the two
165021 After the commit, all were compiled with debug info, and consequently, there
165023 running the test-case with target boards readnow and cc-with-debug-names.
165045 and consequently, add a missing UNTESTED message.
165047 Tested on x86_64-linux, both with native and target board readnow.
165066 Now, instead it generates aforementioned FAIL and continues to generate an
165094 Add a new proc require in lib/gdb.exp, and use it to shorten:
165107 Tested on x86_64-linux, both with and without a trigger patch that forces
165189 - the second method does a read and then decides whether to
165190 return or to wait a bit and do another read, and so on.
165192 The second method is potentially faster, has less risc of timeout and could
165203 and the waiting period can be specified in miliseconds using:
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
165309 [gdb/testsuite] Fix gdb.base/bt-on-error-and-warning.exp with check-read1
165310 When running test-case gdb.base/bt-on-error-and-warning.exp with check-read1,
165316 gdb.base/bt-on-error-and-warning.exp: problem=internal-error, mode=on: \
165383 libpthread has been integrated into glibc, and consequently it's no longer
165428 and with gcc 7.5.0, we have instead:
165442 Ideally, GDB would present a consistent and documented value for an
165454 gdb: add accessors for field (and call site) location
165464 structures, because it contains members of the same name (loc_kind and
165487 and later access them through FIELD_ENUMVAL. Fix that by using
165542 number for zba, zbb and zbc to 1.0.0
165546 - Updated version numbers for zba, zbb and zbc to 1.0.0
165554 out and adds comments above each section to clearly identify them as
165560 * riscv-opc.c: Split of Zb[abc] instructions and add comments.
165566 one member points to both the previous member and the next member.
165568 is over-engineered nonsense and an attractive target for fuzzers.
165574 archive element is opened, its symbols are read and "canonicalized"
165575 for objdump, then relocations are read and printed. Those relocations
165576 use the canonicalized symbols, and also happen to be cached by the
165644 Refactor regexp in gdb.base/annota1.exp to reduce indentation and repetition.
165666 The value 0 does indeed mean unlimited, and this is described in the
165682 check_contents passes, and inspecting state at the preceding PASS:
165693 --Type <RET> for more, q to quit, c to continue without paging--
165696 The problem is that we're getting a pagination prompt, and the subsequent run
165701 we detect the failure earlier, and
165711 message and return.
165712 * ecoff.c (ecoff_slurp_reloc_table): Remove assertion and aborts,
165733 Indexing of symbol and howto arrays wasn't checked in aout targets.
165750 This results in some silly behaviour in load_debug_section, and
165807 Factor out new proc Term::get_region and use it to implement a
165816 and getter callbacks for settings) makes it possible for a setting not
165832 "max-value-size", and removes the Ada-specific checks of the limit.
165852 value are never needed, and so creating a lazy value avoids the error
165858 This adds an is_optimized_out function pointer to lval_funcs, and
165900 The test-case uses non-stop mode, and when the exec-continue --all command is
165901 issued, thread 5 is stopped and all other threads are running. Consequently,
165902 only thread 5 is resumed, and reported as running.
165915 to inferior_data and set_inferior_data).
165940 function looks up the Python gdb.Inferior object and sets the C++
165941 pointer to nullptr and finally reduces the reference count on the
165959 nullptr, and (b) call the underlying Python tp_free function.
165970 inferior ohject calls py_free_inferior, and so gives up the
166000 gdb.dwarf2/dw2-abs-hi-pc.exp", the problem is that the CU and functions
166006 Tested on x86_64-linux with gcc and clang.
166015 abort, for example, when handling an internal error and the user
166016 decides to quit the debug session, or if GDB hits an unexpected,
166019 This event is triggered if the user just types 'quit' at the command
166020 prompt, or if GDB is run with '-batch' and has processed all of the
166023 The new event type is gdb.GdbExitingEvent, and it has a single
166046 script, and in so doing I expose the bug in our handling of gdb.exited
166052 So, in this commit I fix the Python code in the test, and extend the
166073 implements this change, fixing up the fallout and changing
166075 used to simplify some related code, and in another, an auto_obstack is
166090 by default, and needs an -std setting to enable it.
166101 the top level Makefile passes CXX down to subdirs, and that overrides whatever
166136 - the switch in CXX for the std::thread tests (and other tests)
166153 Using this command we have an abbreviated version, and can see the correct
166183 test-case, with debug info for foo and bar, but not for main.
166191 - we continue to foo, and manage to find the call_site info
166233 [gdb/symtab] Add call_site_eq and call_site_hash
166237 It must be the first field as we overload core_addr_hash and core_addr_eq for
166242 However, this was not tested, and when indeed moving field pc to the second
166246 called with a pointer to the pc field (as passed into htab_find_slot) and a
166258 - adding a call_site_eq and call_site_hash, and using these in the hash table
166259 instead of core_addr_eq and core_addr_hash.
166261 Tested on x86_64-linux, both with and without a trigger patch that moves pc to
166295 build directory when bfd is configured, and there is no dependency
166296 between the gdbsupport module and the bfd module, so, for example, if
166311 configure-gdbsupport and configure-bfd into Makefile.def, but adding a
166331 value against the old one before updating it, and based on that notifies
166365 setting setter method. This limits the code duplication and simplifies
166370 of the setting, we compare the value of the setting before and after the
166388 gdb: Have setter and getter callbacks for settings
166398 pointers to a pair of setter and getter callback functions.
166409 and the $_gdb_setting / $_gdb_setting_str convenience functions).
166432 Another interesting reason is that, with `char *`, nullptr and an empty
166439 Or some code that converts back and forth between NULL and "" when
166445 I was wondering whether the distinction between NULL and "" would be
166447 happens, it would be more C++-y and self-descriptive to use
166466 In Python and Guile, when registering a string-like parameter, we
166468 Guile) and the parmpy_object (in Python) objects.
166471 take an `std::string *` instead of a `char **` and fixing everything
166473 variable and their uses.
166476 connection between options and settings (see
166479 The add_path function in source.c is really complex and twisted, I'd
166482 and back. This means more copying, but this is not used in a hot path
166491 cmd_list_element can contain a pointer to data that can be set and / or
166514 This patch proposes to add an abstraction around the var_types and void*
166516 to handle the cast and verify that the data is read or written as a type
166559 templated function, and following a suggestion from Pedro Alves, a
166569 VAR and VAR_TYPES members of the struct are replaced with a
166575 -The functions value_from_setting, str_value_from_setting and
166577 parameter but only used it for the VAR and VAR_TYPE member. They now
166579 - Similarly, the 'void *' and a 'enum var_types' parameters of
166580 pascm_param_value and gdbpy_parameter_value have been replaced with a
166596 The tools that generate that list use signal.h and include all
166605 way less than 1024, and the size of the default signal stack will
166611 symbol to simplify everything and avoid the build failure.
166657 Remove macro COMPUNIT_CALL_SITE_HTAB, and provide access to the htab using
166715 using hash_f == core_addr_hash and eq_f == core_addr_eq, so the element
166722 used hash_f and eq_f by using &pc instead:
166737 'Tag_BTI_use' and 'Tag_PACRET_use'.
166742 Change how rnglists and loclists procs to align them with how procs for
166743 aranges (and other things in the DWARF assembler) work. Instead of
166744 using "args" (variable number of parameters in TCL) and command-line
166753 When I wrote support for rnglists and loclists in the testsuite's DWARF
166761 Things still work if you generate rnglists and loclists in the same
166774 existing code to keep working and keeps it not too verbose.
166779 _loclists_list. This is on purpose: as we implement more loclists (and
166780 rnglists) entry types, the indentation would otherwise get larger and
166788 gdb: remove TYPE_FIELD_NAME and FIELD_NAME macros
166789 Remove the `TYPE_FIELD_NAME` and `FIELD_NAME` macros, changing all the
166797 Add the `name` and `set_name` methods on `struct field`, in order to
166798 remove `FIELD_NAME` and `TYPE_FIELD_NAME` macros. In this patch, the
166804 `name` and the new method, I renamed the field `m_name`. It is not
166820 for a while now, which is conscious about the SHELL environment and a
166935 Also, remove a few "fail" where we call runto (and not runto_main). by
166937 failure already. In two places, gdb.multi/multi-re-run.exp and
166966 The following patches wants to change gdb_fopen_cloexec and
166968 include between scoped_fd.h and filestuff.h, that both want to include
166971 include scoped_fd.h for gdb_fopen_cloexec's and gdb_mkostemp_cloexec's
166982 But it is wrong. The Linux remoteproc driver loads and interprets the
166987 loader would "shift" and look corrupted.
167101 Fix this by preparing another executable compiled with nodebug, and using
167203 obtain process status, register values, and program info
167317 "pid=..., count=..." lines, and then interrupt the program with
167325 Note that "inf1_how" and "inf2_how" are "attach". What happened
167333 waited enough, and so sends the Ctrl-C. GDB hasn't yet passed
167359 I build gdb without xml support using --without-expat, and ran into:
167363 relaying data between gdb and process 22032^M
167380 GDB version needed for ARM and PPC32/64.
167383 by a gdbserver. This is the standard setup if GDB was configured and built
167418 - a function call is an expression, and a statement is not.
167426 and using that instead.
167457 and using gcc 4.8 to build gdb (causing std::thread not to be used due to
167489 gdb: fix build when libbacktrace and execinfo backtrace are not available
167498 available, and, libbacktrace is either disabled, or not usable. In
167535 I also looked through the gdb/ tree and found one additional instance
167541 For DWARF revision 4 and earlier, display_debug_lines_decoded
167545 DWARF revision 5 changes .debug_line format quite extensively, and in
167581 - The protocol between gdb and gdbserver is in non-stop mode, but the
167588 - stop_all_threads sends a stop request for all the running threads and
167605 infinite loop, and it's probably due to a bug in GDB. I'm not too sure
167620 events for us. That's a contradiction, and a sign that something has
167633 multi-threaded program, and then connecting to it. Without the fix, the
167683 really matter for this test, and it would be hard to define an order
167686 So, loosen the regexp to accept "inf 1" and "inf 2" in any order.
167695 riscv_supported_std_ext[](elfxx-riscv.c) and assembling with
167730 riscv_parse_prefixed_ext, so clean the code and unused parameters.
167751 There's not many places where we call internal_warning, and I guess in
167809 located in pretty generic code (frame.c, value.c, etc) and it is not
167819 and backtrace_symbols_fd API available in glibc.
167850 repository, and in this commit I allow this library to be used by
167881 built, and GDB will not try to use this library. In this case GDB
167882 would try to use the old backtrace and backtrace_symbols_fd API.
167905 A dependency between GDB and libbacktrace has already been added to
167921 gdb: Add a dependency between gdb and libbacktrace
167933 and the binutils-gdb repository.
167939 Some components, e.g. zlib, are built as both host and target
167945 Often the target compiler isn't immediately available, and so the
167954 which is also a host and target library, and triggers the same issues.
167960 build, $configdirs, $build_configdirs, and $target_configdirs, we also
167961 build two lists of things we don't want to build, $skipdirs and
167970 If a user builds a unified source tree, then the target tools and
167973 I've tested a build of gcc on x86-64, and the same set of target
167991 and the whole st_atim timespec untouched leaving them uninitialized
168001 that existed and generate a complete init list. That means for any
168010 never do this, and it's pretty easy to institute a policy that we
168022 Don't print broadcast for scalar_mode, and print {bad} for invalid broadcast.
168035 (OP_E_memory): Mark invalid broadcast with no_broadcast=1 and Print "{bad}"for it.
168054 lwp_info object getting copied and this->arch_private getting deleted
168073 gdb: don't share aspace/pspace on fork with "detach-on-fork on" and "follow-fork-mode child"
168075 their program space and address space. To reproduce:
168090 share one program space and one address space:
168110 You can then run inferior 1 again and the two inferiors will still
168114 When following the child and detaching from the parent, we just re-use
168116 inferior 1 and run again, we find ourselves with two unrelated inferiors
168125 "next" is done. If we create a new program space for the child and copy
168130 represent the same file. But moving the spaces to the child and
168134 off" and "follow-fork-mode child", because we create new spaces for the
168162 This test is difficult to follow and modify because the state of GDB is
168163 preserved some tests. Add a setup proc, which starts a new GDB and runs
168164 to main, and use it in all test procs. Use proc_with_prefix to avoid
168190 Remove DUPLICATEs, and and at the same time replace two uses of
168202 where "foo" is a type that exists in the parent but not the child and no
168206 content, and it should return ECTF_NOTYPE, not crash.)
168208 ctf_pptrtab_len, as its name suggests (and as other tests of it in
168209 ctf-lookup.c confirm), is one higher than the maximum valid permissible
168252 the lack of the CTF_F_NEWFUNCINFO flag in their header, and we do so
168261 to see if the function symtypetab section and its index are the same
168263 dict, and emit a spurious corruption error for a CTF dict we could
168264 have perfectly well opened and used.
168266 Fix trivial: check the flag (and fix the terrible grammar of the error
168336 original (Solaris ld requires #-style comments), and making another
168366 specific textual form emitted by Tru64 nm, and that getting this
168367 error means this is Tru64 nm and that nm -B would work to produce
168385 provided: so we use the user-specified path if there was one, and
168390 (Tested with NM unset, and set to nm, /usr/bin/nm, my-nm where my-nm is a
168391 symlink to /usr/bin/nm on the PATH, and /not-on-the-path/my-nm where
168427 comes from the libbfd.la file, and is an install path). libiberty also
168429 because libctf-nobfd has to follow libbfd in the link line, and that
168433 and if --enable-install-libiberty is not specified this libiberty might
168434 be completely incompatible with what is being installed and break either
168435 or boht of libbfd and libctf. (The specific problem observed here is
168474 and does not reproduce with newer g++.
168489 try and access source code files, for example, the source code might
168493 directories' and/or 'set substitute-path' a user can trick GDB into
168497 In this commit a new option is add that stops GDB from opening and
168506 declared, cli/cli-cmds.h and gdbcmd.h. Worse still there is
168510 from gdbcmd.h into cli/cli-cmds.h and removed the duplicates.
168523 was returned for the previous frame, and so the assertion triggers.
168544 However, the inline_frame causes a problem, and here's why:
168546 When unwinding we start from the sentinel frame and call
168548 in here we create a raw frame, and as this is frame #0 we immediately
168552 do this we inevitably needing to know the frame_id for frame #0, and
168567 another raw frame and calls compute_frame_id (for frames other than
168573 this frame again, and so, the standard DWARF frame unwinder claims
168576 We return to compute_frame_id and call the standard DWARF function to
168580 compute_frame_id, and then to get_prev_frame_if_no_cycle, where we add
168581 the ID for normal_frame into the frame_id cache, and return the frame
168584 From inline_frame_this_id we build a frame_id for inline_frame and
168585 return to compute_frame_id, and then to get_prev_frame_if_no_cycle,
168596 a raw frame and call compute_frame_id, remember, this is for the frame
168609 and also the inline function inline_frame. As the next frame is not
168611 cover inline_frame, and so the inline sniffer claims this new frame.
168618 frame GDB returns to compute_frame_id and calls inline_frame_this_id.
168621 in get_prev_frame_if_no_cycle again, where we create a raw frame and
168625 new frame, it sees that the $pc is within both normal_frame and
168640 stack, and returns nullptr, the stack now looks like this:
168666 value), and similarly in inline_frame.c:inline_frame_this_id this
168690 frame, I can understand why this assertion is a good thing, and I'm in
168693 The solution proposed here takes onboard feedback from both Pedro, and
168695 is renamed to get_prev_frame_maybe_check_cycle, and will now not do
168787 PowerPC: Enable mfppr mfppr32, mtppr and mtppr32 extended mnemonics on POWER5
168788 SPR 896 and the mfppr mfppr32, mtppr and mtppr32 extended mnemonics were added
168789 in ISA 2.03, so enable them on POWER5 and later.
168793 on POWER5 and later.
168800 and mtppr32.
168854 the field private (rename to m_name) and add some accessors.
168861 I noticed that value_true is declared in language.h and defined in
168867 done by now; and if it is needed in the future, odds are it would be
168870 Finally, this patch also changes value_true and value_logical_not to
168871 return a bool, and updates some uses.
168889 Tested on x86-64-linux-gnu, native and gdbserver.
168911 main, and then disassembles a few GDB functions. The problem is that
168929 "run_inferior_call" and "update_global_location_list" instead of
168930 "evaluate_subexp_standard" and "c_parse_internal".
169018 DW_AT_data_bit_offset into handle_data_member_location, and updates
169045 another gdb instance is still running, and we may silently end up testing
169060 [ A better and more complete fix would add a new proc get_exec_info, that would
169069 - call function_range for all functions main and foo, without starting a
169073 - get size for types int and void*
169088 # and SPARC, fpie can cause compile errors due to the GOT exceeding
169090 # identical (see the GCC manual). Note Debian9 and Ubuntu16.10
169105 and in the process:
169129 # Test with 32-bit and 64-bit DWARF.
169162 Dwarf::loclists::table::list_::start_length and
169208 The variable i is set in gdb.dwarf2/dw2-abs-hi-pc.exp, and leaks to
169238 I noticed two test-case that use ldflags=-pie and ldflags-no-pie, instead of
169239 the canonical pie and nopie options, which would typically also add
169242 There is no indication that this is on purpose, so replace these with pie and
169257 and uname -a.
169278 I noticed that pointer_type is declared in language.h and defined in
169283 through uses of TYPE_IS_REFERENCE and updated many spots to use the
169300 The problem is that -fPIE and -fpie are gcc options, but for rust we use
169315 and rustc 1.52.1.
169349 - the dynamic linker contains no minimal symbols and no debug info, and
169351 corresponding .debug file, which does contain the mimimal symbols and
169355 fix this by doing info probes and grepping for the address.
169382 - the dynamic linker contains no minimal symbols and no debug info, and
169384 corresponding .debug file, which does contain the mimimal symbols and
169387 Fix this by instead printing the pc and grepping for the value in the
169422 Also the use of UNTESTED is not appropriate, and we should use UNSUPPORTED
169425 Fix this by silencing the FAIL, and emitting an UNSUPPORTED after the
169439 Reduce indentation and improve readability in test-case
169460 frame info and frame IDs by making sure that "info frame" shows the
169476 and then after continuing to a function called by main, and selecting
169491 address, and the presence of the "caller of frame at" info. All the
169495 The testcase exercises both the DWARF and the heuristic unwinders,
169506 type. However, on some platforms this is actually a pointer, and
169511 This patch changes the parameter type to ULONGEST and updates all the
169521 bsd-uthread and ravenscar-thread use it this way. However, because
169530 I wanted to find, and potentially modify, all the spots where the
169532 removed this parameter and then rebuilt.
169571 and consequently thread_db_target::pid_to_str is used.
169606 tic5x-elf, and xtensa-elf. The first two are relocation errors, the
169664 need it, and hardcoding those in the test-case.
169666 For those procs, we do a clean_restart, execute the proc, and then do a
169672 clean up the gdb instance, and since it's not listed, the test-case
169688 gdb, doc: Add ieee_half and bfloat16 to list of predefined target types.
169695 * gdb.texinfo (Predefined Target Types): Mention ieee_half and bfloat16.
169752 and we get:
169795 With test-case gdb.ada/big_packed_array.exp and target board unix/-m32 I run
169805 gcc/101643, and the test-case contains an xfail for this, which catches only:
169830 The failure (and fix) can be observed by configuring GDB with CXX="g++
169869 Adding the .4byte and .2byte opcodes. The benefit that I see here is
169871 be fed back into the assembler and it should assemble to the same
169901 entries left around and later interpreted as u.view.
169915 missing file dependencies and sorted a few things so that it's easier
169931 versioned symbol after an unversioned definition and the default
169953 The @inforef command is deprecated, and @xref does the samething.
169959 CTF: multi-CU and archive support
169966 modified to handle archives, via the ctf archive iterator and its callback
169967 build_ctf_archive_member and scan_partial_symbols was modified to scan
169970 Also changes were made to handle CTF's data object section and function
169973 ctf_psymtab_add_stt_obj and ctf_psymtab_add_stt_func, and add_stt_entries,
169974 which is called by add_stt_obj and add_stt_func when setting up psymtabs
169975 and full symtab, respectively.
170010 With current master and gcc 7.5.0/8.5.0, we have this timeout:
170040 Fix this instead by marking the symbol as artificial, and:
170046 https://sourceware.org/pipermail/gdb-patches/2008-January/054994.html ), and
170083 gcc-11 and gcc-12 pass -gdwarf-5 to gas, in order to prime gas for
170109 (dwarf2_gen_line_info): Set and track filenames for gas generated
170113 (dwarf2_where): Set u.filename and filenum to -1 for gas generated
170137 functions, and when creating dynamic got relocations.
170151 have addends, and in particular that a GOT entry referencing PLT call
170203 Relobj::local_has_got_offset and others there get a similar treatment.
170204 Comments are removed since it should be obvious without a comment, and
170238 Adjust constructor and methods to suit.
170250 and global symbols can have GOT entries with addend.
170274 RISC-V: Merged extension string tables and their version tables into one.
170282 tables, which record names and versions for all supported extensions.
170284 also use them to get the default versions of extensions, and decide if
170290 should enable the extension when the -march and elf architecture attributes
170304 from gas/config/tc-riscv.c, and added new field `default_enable' to
170309 gas/config/tc-riscv.c to here, and rename it to riscv_supported_std_ext.
170311 also get the default versions of extensions, and decide if the extensions
170331 (riscv_parse_subset_t): Removed get_default_version field, and added
170336 (struct riscv_ext_version): Renamed and moved to bfd/elfxx-riscv.c.
170379 This problem is described at "Interrupted System Calls" in the docs, and the
170423 The problem is that the CU and function both have an empty address range:
170460 Tested on x86_64-linux with gcc and clang-7 and clang-12.
170492 Remove duplicate entry in bfd_ft32_arch and bfd_rx_arch.
170598 * dwarf2/read.c (struct partial_die_info): Add has_range_info and
170615 With current trunk and target board cc-with-debug-names we have:
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".
170652 The last two entries are incorrect, and the entries for the dummy CUs are
170688 (and likewise for the TU list).
170690 Tested on x86_64-linux with native and target board cc-with-debug-names.
170724 a structure which may not be initialized. Fix this situation and add a
170734 symbol value and section to above introduced function, and use
170799 bytes and produce (using verbose = true in disasm-selftests.c):
170803 but instead the disassembler uses thumb mode and only consumes 2
170804 bytes and produces:
170815 and consequently we do this in print_insn:
170820 and don't set force_thumb to true in select_arm_features.
170824 because the exec architecture is x86_64, and the disassembly architecture is
170852 During the first failed test, force_thumb is set to true, and remains so until
170853 and during the second test, which causes the second failure.
170913 The problem is that gdb_main has been inlined into main, and consequently the
170972 The difference between the passing and failing case is that with native we
170979 and with target board cc-with-debug-names:
171039 Also fix indentation style and long lines, remove outdated question/answer
171040 bits, and use multi_line.
171045 The documentation of mi_gdb_test states that the command, pattern and message
171052 However, this is not checked, and when mi_gdb_test is called with less than 3
171140 @object, .4byte instead of .long, and .asciz instead of .string.
171159 the directory name in .file 0 and use it, instead of PWD.
171221 and the command documentation does not mention an imposed order, so fix this
171224 Doing this fix, it made sense to do a refactoring of adding f2_re and f3_re
171225 variables, in order to write (?:$f2_re|$f3_re), and I applied the same pattern
171231 Then I ran with clang and found another FAIL, fix by updating the regexp.
171233 Tested on x86_64-linux with gcc-4.8.5, gcc-7.5.0, gcc-11.2.1, clang-7.0.1 and
171247 and consequently the selftest doesn't work.
171256 and use the latter to capture the complaints output.
171265 is not defined in Python 3 and so we define it to 0 in
171268 The meaning of this flag is that the object has the fields tp_iter and
171276 structure within it that doesn't even have the tp_iter and tp_iternext
171281 present then Python is free to access the tp_iter and tp_iternext
171284 If we consider GDB then we always assume that the tp_iter and
171286 enough to try and compile GDB against Python 2.1 then we'd get lots of
171290 tp_iter and tp_iternext fields in PyTypeObject.
171313 spelling out "big" and "little". Adding support for -EB & -EL is
171318 All the others expose knobs via configure flags, and for some of
171321 it all to simplify the code (and to get us a little closer to the
171329 We use these older names inconsistently in the sim codebase, and time
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
171396 It's unclear what this define is for as it appears to be unused, and
171398 up, and to fix build errors for Windows targets that have a standard
171441 When compiling with --enable-werror and CFLAGS="-O0 -g -Wall", we run into:
171455 We already use signed APIs and assign the result to unsigned values a lot:
171458 which is why we don't see many warnings, and we disable warnings when we
171463 left to the caller. They have core APIs that read/write bytes, and a few
171465 In this ppc sim code, the core APIs use signed integers, and the callers
171468 We could add some core APIs to the ppc sim that deal with raw bytes and then
171470 lifting for what boils down to a cast, and is effectively equivalent to all
171475 deleted, and callers (like these hw_*.c files) would get converted. Which
171482 to add another local prototype to fix the failure, and add another
171490 The basic "byte" type conflicts with Windows headers, and we already
171514 RISC-V: Pretty print values formed with lui and addiw.
171517 c.addi and c.addiw. This patch extends the pretty printing support to
171525 c.addi, c.addiw, and addiw, and call maybe_print_address for them.
171543 all and can cause build failures here (e.g. a mingw host & a linux
171579 and I'm not inclined to implement code editing for them.
171587 Currently the stop_pc field of thread_suspect_state is a CORE_ADDR and
171602 defined, and in thread_info::stop_pc).
171605 thread is stopped as a consequence of GDB being in all stop mode, and
171611 threads executing flag was set to false and the stop_pc field was left
171619 been left as ~0, and the compare (in proceed) would (likely) fail.
171621 value and this would trigger an assert.
171629 interesting event in that thread, and so, we know that the stop_pc is
171641 CXX_STD_THREAD is undefined, and run into:
171666 Fix sorting of the list, and update the globs to match the list used
171677 and makes it easier to keep it aligned with the sim target tests.
171680 sim is tied to a cpu and not related to the OS.
171700 add_basic_prefix_cmd and add_show_prefix_cmd), doesn't copy the doc
171738 Rename thread_info::executing to thread_info::m_executing, and make it
171739 private. Add a new get/set member functions, and convert GDB to make
171743 have deleted the helper function set_executing_thread, and now just
171767 the constructor of gdb.Value), and adds the value it represents to
171780 When reverting commit 5a20fadc841 and using gdb_unload instead of runto "bar"
171786 and the test-case takes about 1 minute.
171822 and takes 1 minute to run.
171839 -notransfer, and let the caller proc runto deal with it.
171852 This commit fixes this and makes sure that all the files linked to this
171959 and gdb/testsuite/gdb.arch/i386-avx.exp.
172091 nutshell, after starting the program and advancing to the appropriate
172106 extension languages (python and guile).
172118 The problem is that lto has optimized away clear_complaints, and consequently
172140 gdb: Enable finish command and inferior calls for _Float16 on amd64 and i386.
172141 Values of type _Float16 and _Float16 _Complex can now be used on CPUs with
172143 Compiler support for gcc and clang is in progress, see e.g.:
172149 * amd64-tdep.c (amd64_classify): Classify _Float16 and
172151 * i386-tdep.c (i386_extract_return_value): Read _Float16 and
172211 and similar in gdb.gdb/selftest.exp.
172223 and consequently the selftests dependent on that cannot run.
172269 * testsuite/ld-elfcomm/elfcomm.exp: Likewise, and don't allow
172273 * testsuite/ld-srec/srec.exp: Likewise, and for CXX.
172278 The top level Makefile, the ld Makefile and others, define
172281 source. There are _FOR_TARGET versions of CFLAGS, CXX, and CXXFLAGS
172283 using CC for the target compiler, and CC_FOR_HOST for the host
172284 compiler, with the makefiles passing CC=$CC_FOR_TARGET and
172290 compiler, the boostrap test should use CC and CFLAGS, in case some
172297 So this patch gets rid of the makefile variable renaming and changes
172299 CC_FOR_HOST and CFLAGS_FOR_HOST disappear. A followup patch will
172300 correct bootstrap.exp to use CFLAGS, and a number of other things I
172305 CC_FOR_TARGET and CFLAGS_FOR_TARGET rather than CC and CFLAGS.
172308 and similar. Pass variables with unchanged names. Don't set
172311 * testsuite/config/default.exp: Update default CC and similar.
172314 CC_FOR_TARGET, and similarly for CFLAGS, CXX and CXXFLAGS.
172344 Pass CC and CC_FOR_TARGET. Don't set CC_FOR_HOST.
172346 * testsuite/config/default.exp: Update default CC and similar.
172349 (run_lookup_test): Use CC_FOR_TARGET and CFLAGS_FOR_TARGET.
172368 regenerated, and in the case of ld/Makefile.in that the file was
172374 * po/BLD-POTFILES.in: Regenerate.
172397 … we have been grooming and maintaining for quite a few years over on git.haiku-os.org. All of the…
172417 keep both dest_index and destshndx_index in elf_sym_strtab. Instead,
172425 PTR_ADD and NPTR_ADD for bfd.h
172429 pointer, and you'd like to know if a non-zero offset is ever used.
172431 non-zero offset is expected and should be ignored if the pointer is
172451 pointer. This patch avoids the problem by extracting out and
172454 entirely and just assume uintptr_t exists.
172456 * obstack.h (__PTR_ALIGN): Expand and simplify __BPTR_ALIGN
172497 and:
172512 - using additional_flags=-DDWO=\"$dwo\" and
172590 and the FAIL doesn't trigger.
172606 nfp: add validity check of island and me
172612 (nfp_priv_data): ..and use here.
172613 (_print_instrs): Sanity check island and menum.
172649 may not easy to use for some cases, and not so friendly to users.
172663 The <type> is string, and the <insn-length> and <value> are constants.
172683 the function can be simplified to assume the gdbfmt case and remove
172693 fbsd-nat: Don't use '%jd' and '%ju' with printf_filtered.
172710 Instead, use plongest and pulongest to generate the output strings of
172825 * gdb.base/batch-exit-status.exp: Add gdb '' and gdb '' '' tests.
172831 to mark the start addresses of data and instructions. The $d means
172832 data, and the $x means instruction. Then the disassembler uses these
172871 * Use $d and $x to mark the distribution of data and instructions.
172879 is same as Arm and Aarch64.
172912 by frag_var. Marked as MAP_DATA for rs_align and rs_fill, and
172919 (TC_FRAG_TYPE): Record the first and last mapping symbols for the
172948 (riscv_search_mapping_symbol): Check the sorted symbol table, and
172962 and a typical call looks like:
172986 and a call using seg_sel looks like:
173052 and .gdb_index:
173073 Before commit 5ef670d81fd "[gdb/testsuite] Add dummy start and end CUs in
173096 After that commit we have a dummy CU at offset 0xc7 and the D compilation unit
173119 The file watch-loc.c contains code and a .debug_aranges section, but no other
173124 and adding the dummy CU caused that hack to stop working.
173242 PR symtab/28160 and PR symtab/27893 concern GDB crashes in the test
173244 the patches that merge the list of CUs with the list of TUs (and to a
173245 lesser degree by the patches to share DWARF data across objfiles), and
173254 This patch fixes resize_symtabs by removing it, and having set_symtab
173256 introducing a safe (index-based) iterator and changing the relevant
173274 the output file if not already present. Fix that, and tidy some objcopy
173303 address ranges, and a function without debug info whose address is
173305 and runs to it, expecting that the language should remain "auto; c"
173309 in the DWARF, and this function is given language C++. Also, a
173313 My new DWARF scanner decides that this "main" is the main program and
173368 and on the gas side as:
173371 The test-case contains a KFAIL for PR12497, but it's outdated and fails to
173374 The intention of the test-case is to test gas-generated dwarf, and using
173377 Supporting compiler-generated stabs is already a corner-case for gdb, and
173393 [gdb/testsuite] Add dummy start and end CUs in dwarf assembly
173399 On openSUSE Leap 15.2 and Tumbleweed, the CU for hello.c is typically not the
173409 first and the last in .debug_info.
173415 and end CU.
173425 (Dwarf::assemble): Add dummy start and end CU.
173488 gdb: use bool in notify_command_param_changed_p and do_set_command
173529 scan_dyntag is unnecessarily duplicated in solib-svr4.c and solib-dsbt.c.
173531 Move this function to solib.c and rename it to gdb_bfd_scan_elf_dyntag.
173532 Also add it to solib.h so it is included in both solib-svr4 and solib-dsbt.
173595 Fix the Blackfin code and remove the defines out of the header
173620 If I debug a single-thread program and look at the infrun debug logs, I
173636 The numbers for the auxiliary registers "tlbindex" and
173655 The r_ldsomap field is specific to Solaris (part of librtld_db), and
173659 to set r_ldsomap_offset to -1 and use them for Linux targets.
173806 Always run fp tests since the size of .tfloat, .ds.x, .dc.x and .dcb.x
173826 This also reduces .ds.x output and .tfloat output with hex input from
173830 * NEWS: Mention changes of .ds.x output and .tfloat output with
173836 add explicit paddings after .tfloat, .ds.x, .dc.x and .dcb.x
173917 code and implements corresponding tests for the MI and Python cases.
173926 When a symbol removed by .symver is used in relocation and there is one
173927 and only one versioned symbol, don't remove the symbol. Instead, mark
173928 it to be removed and replace the removed symbol used in relocation with
173939 removed fixp->fx_addsy and fixp->fx_subsy if defined.
173943 and issue an error if the symbol has more than one versioned name.
173964 fill_opt component in the section rule swiches to EXPRESSION and back
173965 to SCRIPT, and to find the end of an expression it is necessary to
173972 and before /DISCARD/.
173987 state rule. Comment on lookahead state madness and need for
173992 ld script lower-case absolute and sizeof_headers
173996 * ldlex.l: Remove lower case "absolute" and "sizeof_headers"
174037 of switching between SCRIPT and EXPRESSION state lexing by removing
174046 SCRIPT for tokens that only need EXPRESSION state, and two where BOTH
174047 appears alongside INPUT_LIST. (Since I'm editing the wild and
174048 filename rules, removing BOTH and adding WILD can also be seen as
174049 renaming the old BOTH state to SCRIPT and renaming the old SCRIPT
174057 (section): Parse within braces of section in wild mode, and
174092 gdb: riscv_scan_prologue: handle LD and LW instructions
174095 selecting the waiting thread and using the 'bt' command, the following
174179 std::vector and update callers. That makes it easier for everyone
174187 The test steps into func2 and than does an up to get back to the previous
174236 ld: Update the pass and fail strings of PR ld/28138 test
174238 * testsuite/ld-plugin/lto.exp: Update the pass and fail strings
174240 and failed.
174288 As discussed previously, a.out support is now quite deprecated, and in
174289 some cases removed, in both Binutils itself and NetBSD, so this legacy
174290 default makes little sense. `netbsdelf*` and `netbsdaout*` still work
174295 was supported. But per [1] NetBSD has removed support, and if it were to
174299 With that patch and this one applied, I have confirmed the following:
174335 Currently, when GDB hits an internal error, and the user selects to
174337 console will kick in, and print a backtrace as well as dumping the
174355 gdb: register SIGBUS, SIGFPE, and SIGABRT handlers
174356 Register handlers for SIGBUS, SIGFPE, and SIGABRT. All of these
174367 I've added new tests for SIGFPE, SIGBUS, and SIGABRT.
174375 The backtrace is produced using the backtrace and backtrace_symbols_fd
174376 functions which are declared in the execinfo.h header, and both of
174379 is not compiled into GDB and the backtrace will not be printed.
174450 The async_init_signals has, for some time, dealt with async and sync
174457 The comments relating to SIGTRAP and SIGQUIT within this function are
174467 comment on SIGQUIT talks about problems with BSD4.3 and vfork,
174509 spot is pretty hit and miss. I did try changing the current HEAD GDB
174535 GDB's SIGFPE handling is broken, this is PR gdb/16505 and
174544 token associated with SIGFPE has been marked and will call the async
174556 GNU/Linux, ran GDB and saw GDB hang.
174558 In this commit, I propose to remove all special handling of SIGFPE and
174565 previously GDB would just print an error and remain alive, now GDB
174587 * ldlex.l: Combine rules for handling newline, whitespace and
174595 consistency within rules, and making it a little easier to visually
174642 of interest and, going beyond infinity, whether the value is quiet or
174657 floating point formats other than single and double.
174682 This is to be able to generate data acted upon by AVX512-BF16 and
174694 This is to be able to generate data passed to {,V}CVTPH2PS and acted
174721 handling 'x' (and 'p') type floating point being other than 12 bytes
174728 endian cases, and which also means that by specifying large enough
174747 handling such padding, and specify the needed padding for x86 (leaving
174760 relocations, and in rl78_elf_relocate_section used by the linker.
174770 (rl78_elf_howto_table): Set destination masks. Correct size and
174773 for RH_SADDR. Set size to 3 and bitsize to 0 for all OP relocs.
174793 The bug here is that this executable has both .debug_info and
174794 .debug_types, and both have a CU at offset 0x0. This triggers the
174809 from psymtab.c and moves it to addrmap.c. psymtab.c is changed to use
174835 threads (inferiors have their own thread list), and we can drop the pid
174843 Updated Serbian and Russian translations for various sub-directories
174853 instead of (gdb)) and incorrect when linked against Guile v2.1+ (types
174875 exports if they load both (gdb) and (oop goops) from a GDB linked
174876 against Guile v2.0, but it shouldn't impact functionality (and seemed
174929 It seemed harmless and correct to add these includes now, making the
174954 (rl78_compute_complex_reloc): Add status and error message params.
174956 or underflow, and divide by zero.
174957 (rl78_special_reloc): Return status and error message from
174974 Fix this by recognizing that the constant pool is empty, and then setting the
175048 which correspond to unrelocated addresses 0x9c218 and 0x9c21d:
175084 shared library individually in gdb (and consequently baseaddr == 0), we do see
175099 and consequently, the CU addrmap gets build using address info from the
175103 0x9c218 and 0x9c21d:
175116 and neither range includes 0x9c218 and 0x9c21d.
175132 - the complaint is triggered, and
175192 Indexing the howto table was seriously broken by a missing entry, and
175209 two. That means reloc addresses of 0 and 1 are invalid. Check that,
175210 and fix other reloc range checking.
175252 and try to kill it, to clean up the test. When using the
175279 (it hangs up on the existing remote target) and start listening again
175283 currently accepts anything). Use "set confirm off" so we don't have to
175311 This test tests using both "-p <pid>" and "-ex start" on the command line,
175312 making sure that we first attach and then run.
175357 contained in related_pid, and is the ptid of the new process. For
175359 Print it using the same format used for TARGET_WAITKIND_STOPPED and
175391 expected to be in a form of a value and not location description.
175404 argument to fetch_result and eval_exp methods.
175415 Idea of this patch is to get a clean and simple public interface for
175420 - push_address method and
175436 and provides the evaluation result, in a form of a single struct
175445 All data members are now private and only visible to the evaluator
175460 declaration. Change eval and fetch_result method to private.
175462 (dwarf_expr_context::stack): Make private and add m_ prefix.
175463 (dwarf_expr_context::addr_size): Make private and add
175465 (dwarf_expr_context::recursion_depth): Make private and add
175467 (dwarf_expr_context::max_recursion_depth): Make private and
175469 (dwarf_expr_context::len): Make private and add m_ prefix.
175470 (dwarf_expr_context::data): Make private and add m_ prefix.
175471 (dwarf_expr_context::initialized): Make private and add
175473 (dwarf_expr_context::pieces): Make private and add m_ prefix.
175474 (dwarf_expr_context::per_objfile): Make private and add
175476 (dwarf_expr_context::frame): Make private and add m_ prefix.
175477 (dwarf_expr_context::per_cu): Make private and add m_ prefix.
175478 (dwarf_expr_context::addr_info): Make private and add
175489 The patch is addressing the issue of class users writing and reading
175503 fetch, fetch_address and fetch_in_stack_memory members move
175517 and initialized members of the struct value. This is needed for the
175522 and initialized members.
175526 Move piece_closure and its support to expr.c
175532 that, we first need to address the issue of class users writing and
175548 evaluated expression (compilation unit context, frame context and
175549 passed in buffer context) and a source type information that a result
175558 represent both values and a location descriptions and why it is not
175563 infrastructure to resolve composite and implicit pointer location
175576 - push_address method and
175580 and the interface that handles it (lval_funcs) to expr.c file.
175628 it is also reasonable to expect that with a new evaluator design and
175633 between the evaluator and a given resource in the near future. The
175649 Remove empty frame and full evaluators
175652 dwarf_expr_executor and dwarf_evaluate_loc_desc are not needed any
175659 about the direction of the future DWARF versions and gdb extensions,
175693 dwarf_expr_executor and dwarf_evaluate_loc_desc classes
175715 be moved from dwarf_expr_executor and dwarf_evaluate_loc_desc classes
175731 and can be moved from dwarf_expr_executor and dwarf_evaluate_loc_desc
175752 Following the idea of merging the evaluators, the dwarf_call and
175753 get_frame_pc method can be moved from dwarf_expr_executor and
175777 This patch moves the compilation unit context information and support
175778 from dwarf_expr_executor and dwarf_evaluate_loc_desc to
175798 context info check. Inline get_addr_index and
175819 can be moved from dwarf_expr_executor and dwarf_evaluate_loc_desc
175821 it becomes apparent that the method is only called once and it can be
175845 extensions of that evaluator easier and cleaner to implement.
175848 (dwarf_expr_executor, dwarf_evaluate_loc_desc and
175864 dwarf_evaluate_loc_desc subclass and it's function is to add
175881 There are more and more vendor and GNU extensions that are not part of
175888 context of an evaluation and checks the requirements of every operation
175894 dwarf_evaluate_loc_desc, dwarf_expr_executor and dwarf_expr_context
175896 evaluator cleaner and allows more flexibility when supporting future
175897 vendor and GNU extensions.
175908 information and support from dwarf_expr_executor and
175927 member, read_addr_from_reg, get_reg_value and get_frame_base
175971 all of the following information: architecture, object file, frame and
175991 The functional difference between the symbol needs evaluator and the
175998 evaluation mechanism and to fake all required interactions with the
176004 - SYMBOL_NEEDS_REGISTERS and
176011 condition depends on a value read from an actual target, and the true
176043 as the value of the variable A, and the check returns the
176046 This is clearly a wrong result and it causes the debugger to crash.
176050 any case, it is a valid DWARF expression, and GDB shouldn't crash while
176104 disassemble_dwarf_expression and dwarf2_compile_expr_to_ax), some are
176106 (compute_stack_depth_worker) and some are in charge of evaluating the
176108 and decode_locdesc).
176112 this is a code duplication and harder maintenance.
176139 visited only once and each operation can decide if the frame context
176144 a lightweight mechnism and it will provide a correct result for any
176185 Intel AVX512 FP16 instructions use maps 3, 5 and 6. Maps 5 and 6 use 3 bits
176191 is very sparsely populated. Most of the FP16 instructions share opcodes and
176238 Intel AVX512 FP16 instructions use maps 3, 5 and 6. Maps 5 and 6 use 3 bits
176244 is very sparsely populated. Most of the FP16 instructions share opcodes and
176260 (pte): Add evexmap5 and evexmap6.
176261 (build_evex_prefix): Handle EVEXMAP5 and EVEXMAP6.
176284 and w_swap_mode.
176299 (enum): Add EVEX_MAP5 and EVEX_MAP6.
176315 and CPU_ANY_AVX512_FP16_FLAGS. Update CPU_ANY_AVX512F_FLAGS
176316 and CPU_ANY_AVX512BW_FLAGS.
176332 * vms-alpha.c (build_module_list): Malloc and free section contents.
176365 I was looking at PR gdb/19675 and the related test
176369 While looking at the test I removed the call to kfail and ran the
176370 test, and was surprised that the test passed.
176372 I ran the test a few times and it does sometimes fail, but mostly it
176377 then fails to "fix" this $pc (for the new thread), and the thread will
176405 reach zero and the test will timeout.
176408 reliably, and so, I have also changed the test to call setup_kfail
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
176445 after -g3 on the command line, and that would cause some gcc versions to
176447 I tested with gcc 4.8, and that works fine with -g after -g3.
176451 meaning we get a binary without any debug info, and the test fails.
176459 the board file. For example, we can test with GCC and DWARF 5, with:
176478 The binary contains DWARF 4 debug info and includes a pre-standard
176498 failed before and stopped processing of debug info). I tested the
176499 complaint by inverting the condition and using a clang-compiled binary,
176504 The test now passes cleanly with the setup mentioned above, and the
176512 I saw this complaint when my code had some bug, and spotted the typo.
176513 Fix it, and while at it mention DW_MACRO as well (it would be confusing
176560 or supported by the various abi docs and won't work as written.
176562 NULL, and what's more the code in mips_elf_assign_gp isn't set up to
176645 before and after a call to addrmap_set_empty.
176668 Global tbss symbols weren't correctly handled and were generating
176712 gdb: follow-fork: push target and add thread in target_follow_fork
176718 target, but also makes things more consistent and a bit nicer in
176725 called on the parent's target stack and sometimes on the child's target
176730 target would get notified of the fork and do whatever is needed. But
176731 the child's target stack, at that moment, only contains the exec and
176747 parent's target stack do some fork-related handling and push
176751 and follow_fork implementations. This is nullptr if no inferior is
176766 the current inferior between parent and child. Nothing in
176770 target implement follow_fork and push itself in the child's target
176783 (fbsd_nat_target::follow_fork): Likewise, and call
176786 * linux-nat.c (linux_nat_target::follow_fork): Likewise, and
176789 * obsd-nat.c (obsd_nat_target::follow_fork): Likewise, and call
176792 (remote_target::follow_fork): Likewise, and call
176829 libstdc++ runtime checks (and vice-versa).
176832 throws (after querying the user), and we are in noexcept methods. That
176868 Clang++ does not generate & in such cases and this should also be
176884 would be splitting a function and creating a ".cold" variant.
176918 this proved difficult, and so I've left it out.
176949 I noticed that add_symbols_from_enclosing_procs is empty, and can be
176972 problem can easily be seen under valgrind (and, I presume, with ASAN,
176991 dw2-using-debug-str executable, and removed from the
176997 .tmp/dw2-using-debug-str.dwz. Consequently, the removal has no effect, and no
177002 Fix this by detecting whether the .debug_str section is missing, and skipping
177073 Fix this by detecting an already present index, and marking the test
177098 - the .dwo file is found relative to the executable, and
177148 as "unsigned" and therefore they end up being sign extended.
177189 and the regexp doesn't match because it expects the "Number of read/unread
177243 I noticed that exception_print_same is only used in a single spot, and
177308 and even number of bytes we get zero.
177337 set and there are fewer than 0xffff relocations in the section.
177365 selftests::register_test_foreach_arc and running.)
177380 obsd-nat: Report both thread and PID in ::pid_to_str.
177389 causing the fork following to not work. In addition, the thread and
177390 fork code is intertwined in ::wait and and the lack of #ifdef's
177395 single function and invoke it on new child processes reported via
177416 parent of the fork. Instead, use find_inferior_pid and assume that
177423 without an LWP exists and if so update the ptid of that thread
177435 Simon Marchi tried gdb on OpenBSD, and it immediately segfaults when
177465 get_status (and the other fields of x86_dr_low) are left as nullptr.
177473 - Don't include x86-nat.o and nat/x86-dregs.o for OpenBSD/amd64. They
177481 terminal window output. The column change results in the first and second
177514 Calling the `make-value' procedure with an integer value and a pointer
177550 value rather than returning void and writing the value into a pointer
177569 gas: improve C_BSTAT and C_STSYM symbols handling on XCOFF
177578 This patch tries to improve that and, above all, to allow gas-generated
177583 having fix_value = 1 in order to be an index and not a memory
177595 when final_val is 0 and it's an AIX debug symbol.
177604 Adds API to the Guile bindings for creating temporary breakpoints and
177621 and store the value in the allocated object's
177628 string and fix a typo.
177664 think that's used at all. Remove the entry in features/Makefile and
177766 Notice the missing space between 'const' and 'foo_1'. This is fixed
177783 When running test-case gdb.ada/arrayptr.exp with gcc-11 (and default
177835 instead of a PROP_CONST and end up trying to evaluate the constant
177857 Tested on x86_64-linux, with gcc-11 and target board
177880 PowerPC gas and objdump for a long time have allowed certain -m/-M
177897 the power5 "frin" instruction and the altivec "lvsr" instruction are
177916 and in fact all of those .machine directives are unnecessary.
177976 Fix by marking this and related FAILs as XFAIL.
177989 gdb: remove VALUE_FRAME_ID and fix another frame debug issue
178002 The first issue is in frame.c in get_prev_frame_always_1, and was
178014 non-nullptr, and so, there is the possibility of triggering undefined
178018 GDB, and would cause this assertion:
178026 the sentinel frame (frame #-1) and then we attempt to unwind this
178039 of the program counter, and so the lazy register value is resolved
178068 the previous frame, and then calls get_frame_id.
178073 and thus we have a loop!
178079 in value_fetch_lazy_register and get_prev_frame_id_by_id then what we
178085 4. Get the frame_id for that frame, and
178089 Notice that steps 3 and 5 give us the exact same result, step 4 is
178091 steps 4 and 5, thus:
178098 This will give the exact same frame as a result, and this is what I
178103 and saw it was only used in one other place in valops.c:value_assign,
178104 where, once again, we take the result of VALUE_FRAME_ID and pass it to
178113 So, in this commit, I completely remove VALUE_FRAME_ID, and replace it
178116 and resolves the assertion issue from value.c.
178188 Imagine you have a field that starts at position 1 and its length
178331 (enum operand_parse_code): Add OP_SP and OP_R12.
178332 (parse_operands): Add switch cases for OP_SP and OP_R12.
178398 ^error,msg="-break-condition: Missing the <number> and/or <expr> argument"
178405 patch) used the CLI's "cond" command, and back then not passing a
178410 having a condition argument, and also update the document to make the
178456 Commit 40726f16a8d7 broke references to sections within ADDR(), and
178460 (exp): Use it for ALIGNOF, SIZEOF, ADDR, and LOADADDR. Similarly
178473 in libc and never made it into a release.
178489 make-parameter and then register it with GDB with register-parameter!.
178508 registering the same callback with many commands, and alter the behavior
178512 was the callback function type for set and show functions, hence the
178521 Therefore, remove the sfunc field in cmd_list_element and everything
178522 that goes with it. Rename cmd_const_sfunc_ftype to cmd_func_ftype and
178531 After browsing the CLI code for quite a while and trying really hard, I
178533 what "sfunc" and "cfunc" functions are, in cmd_list_element. I don't
178537 so that we can understand what is going on, do some cleanups and add new
178542 "cmd_const_cfunc_ftype", and the previous "cmd_cfunc_ftype" had nothing
178549 between the three and two parameter versions. Most commands don't need
178551 long and would just add more unnecessary boilerplate. So since this is
178579 With the current code, both a NULL pointer and an empty string can mean
178600 and get_inferior_args functions, that would just be wrappers around
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
178639 just the essential what is shared between GDB and GDBserver.
178657 Split in multiple procs, one per topic, and start with a fresh GDB in
178661 having to think about the impact on existing tests, and vice-versa.
178678 doing when each part of the test is isolated and self-contained. It
178712 first of these calls is fine, spawn_out(slave,name) is not set, and so
178714 the second call to spawn, spawn_out(slave,name) is still not set and
178723 pass, and 1 unsupported test. After this commit I now see 16 passes
178734 The problem here is that we check for the existence of spawn_out, and
178737 e.g. spawn_out(foo), in which case we would enter the if block and try
178765 When running test-case gdb.ada/formatted_ref.exp with gcc-11 and target board
178798 - xfailing the runto, and
178805 - gcc-11 and target boards unix/gdb:debug_flags=-gdwarf-4 and
178827 It has only a single use and can easily be represented by dq_mode
178836 shared logic out of the function, and invoke the new helper from both
178839 x86: drop vex_mode and vex_scalar_mode
178840 These are fully redundant with, respectively, x_mode and scalar_mode.
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
178888 [gdb/testsuite] Fix gdb.cp/step-and-next-inline.exp with gcc-11
178889 When running test-case gdb.cp/step-and-next-inline.exp with gcc-11, I run
178892 KPASS: gdb.cp/step-and-next-inline.exp: no_header: next step 1 \
178894 FAIL: gdb.cp/step-and-next-inline.exp: no_header: next step 2
178895 KPASS: gdb.cp/step-and-next-inline.exp: no_header: next step 3 \
178899 [ Note that I get the same result with gcc-11 and target board
178905 get_alias_set (t=0x601038 <xx>) at step-and-next-inline.cc:51
178914 main () at step-and-next-inline.cc:65
178917 and with gcc-11, I have instead:
178920 get_alias_set (t=0x601038 <xx>) at step-and-next-inline.cc:51
178928 main () at step-and-next-inline.cc:65
178931 and with clang-10, I have instead:
178934 get_alias_set (t=0x601034 <xx>) at step-and-next-inline.cc:51
178941 main () at step-and-next-inline.cc:65
178955 (gdb) PASS: gdb.cp/step-and-next-inline.exp: no_header: next step 2
178961 and clang-12.
178967 * gdb.cp/step-and-next-inline.cc (tree_check, get_alias_set, main):
178969 * gdb.cp/step-and-next-inline.h: Update to keep identical with
178970 step-and-next-inline.cc.
178971 * gdb.cp/step-and-next-inline.exp: Issue extra next when required.
179040 This is due to PR exp/20991 - "__int128 type support". Mark this and similar
179052 Tested on x86_64-linux, with gcc-10 and gcc-11.
179058 * gdb.ada/arrayptr.exp: Add KFAILs for PR20991 and PR28115.
179067 I removed the section reporting and quotes around symbol names while I
179074 figuring out what went wrong, and the quotes if present arguably ought
179122 Since then, a release has passed (2.37), and it was marked obselete in
179126 All branches in the "active" code are remove, and the target is
179128 libbfd and gdb.
179157 PR28106, build of 2.37 fails on FreeBSD and Clang
179171 pointer/reference types in a special way, so we can validate tags and
179176 functions and other things.
179188 The same happens for complex types and printing struct/union types.
179197 an integer and convert it to an address, which #1 - doesn't make sense
179198 (i.e., no sense in validating tags after "print 1"), and throws for
179200 pointer or reference type first, and only if so then proceed to check
179206 escapes out and aborts the print. This case is fixed by checking for
179214 to catch errors, print them, and still continue with the normal
179215 expression printing path instead of erroring out and printing nothing
179239 and renamed it to riscv_add_subset. Besides, if the subset is added in order,
179244 the default architecture setting and linker will use the same parser.
179247 of extensions, including the rv64e and rv32q.
179250 are tested and passed.
179376 but the new one does. The problem of calling gdb_insn_length and
179380 Something between frames 40 (record_btrace_enable_warn) and 35
179388 functions. Therefore, switch and restore the current thread in
179395 a switch and restore in there too.
179437 part of the existing index code, and so it registers as a regression.
179442 for this, and in fact, it seemed to me that the index code could
179445 That is what this patch implements. The DW_AT_name and DW_AT_comp_dir
179475 has been read and the reading failed. However, the code would be
179493 compute_include_file_name, and arranges to pass a file_and_directory
179498 Rename and refactor psymtab_include_file_name
179501 patch renames this function and changes it to no longer require a
179519 To debug Z80 programs using GDB you must configure and embed
179623 Implementation is heavily inspired from mips_linux_syscall_next_pc and
179628 Build and tested on riscv64-linux-gnu.
179653 will crash. So, this patch documents this in the relevant spots and
179701 "unknown" and expression parsing is attempted. At first I thought
179713 gdb: pass child_ptid and fork kind to target_ops::follow_fork
179719 * target.h (struct target_ops) <follow_fork>: Add ptid and
179740 to register JIT-ed objfiles and forking. If an inferior registers a
179741 code object using the JIT interface and then forks, the child process
179743 and learn about it (it currently doesn't).
179748 currently called both after starting a new inferior and after attaching
179756 This way, the attach and follow-fork code code paths are more alike.
179769 So solib_create_inferior_hook (and everything under, including
179771 current inferior and inferior 2's program space as the current
179773 setting up inferior 2, and all that code relies on the current
179783 subcomponent doesn't get informed about the new inferior, and that
179793 try_thread_db_load_1 doesn't see the child LWP, and the thread-db
179795 later, when the test does "info threads", and
179797 recognize the thread as one of its own, and delegates the request to
179802 first, to make the process target create the necessary LWP and thread
179807 somewhere under solib_create_inferior_hook, and that is before
179814 current inferior is the correct one and the child's LWP exists, so
179823 test. It makes an inferior register a JIT code object and then fork.
179824 It then verifies that whatever the detach-on-fork and follow-fork-child
179867 The public thread_info API has to be used to get stop signal and avoid
179892 * testsuite/gas/i386/x86-64-opcode.s: Add int1, int3 and int.
179912 and/or tc_gen_reloc. A lot of targets don't have the necessary
179913 md_apply_fix and tc_gen_reloc support. So a safer default is to
179916 I've had a good look over target usage of fx_subsy, and think I've
179918 failures would be limited to alpha, microblaze, ppc and s390 (the
179920 fixups with BFD_RELOC_GPREL32/16 and use a syntax explicitly showing
179975 The dummy .gdb_index is ignored when loading the symbols, and instead partial
180006 Fix this by detecting whether tui is supported, and skipping the tui-related
180059 arm-fbsd-nat: Use fetch_register_set and store_register_set.
180061 aarch64-fbsd-nat: Use fetch_register_set and store_register_set.
180063 riscv-fbsd-nat: Use fetch_register_set and store_register_set.
180065 fbsd-nat: Add helper functions to fetch and store register sets.
180067 which are fetched and stored with dedicated ptrace operations. These
180069 fetch_registers and store_registers target methods.
180072 This helper can be used in the fetch_registers and store_registers
180135 other reason that leads to objfile::~objfile, and then we end up the
180144 BFD is written in C and thus throwing exceptions over such frames may
180169 try/catch and print warning on exception.
180223 So frame #28 already detached the remote process, and then we're
180226 tearing down already, so remote communication breaks down and we close
180227 the remote target and throw TARGET_CLOSE_ERROR.
180237 managed to detach already, and, we're debugging with "target remote"?
180246 and we end up in target_fileio_close (frame #7 above), there's nothing
180247 to do, and we don't try to talk with the remote target anymore.
180293 which is what I get on openSUSE Leap 15.2 with glibc 2.26, and what is
180300 scenarios, and find that in the latter case we hit this code in glibc function
180332 Tested on x86_64-linux, both with glibc 2.33 and 2.26.
180425 that. The test runs two inferiors and tries to interrupt them with
180488 If a filter target and thread-specific ptid are given, it iterates on
180503 different cases and limiting what we iterate on to just what we need.
180509 necessarily be given), look up that inferior and iterate on all its
180512 specific thread and "iterate" only on it
180540 Add inferior::thread_map, an std::unordered_map indexed by ptid_t, and
180557 candidates and once to select a random one.
180560 event, we can implement this more efficiently by walking that list and
180563 inferior, and possibly a filter ptid). It will be faster especially in
180572 candidates, and do a second pass to select a random one. But given that
180579 threads with pending wait statuses, and random_pending_event_thread is
180607 method for this, and use it in maybe_set_commit_resumed_all_targets.
180614 Looking up threads that are both resumed and have a pending wait
180616 and is expensive if there are many threads, since it currently requires
180623 targets to commit their resumed threads, because we want to consume and
180627 select a random thread among all those that are resumed and have a
180633 threads that are resumed and have a pending wait status.
180653 from an inferior and then call "exit_inferior", which exits all the
180659 inferior that has no process target). That seemed quite difficult and
180671 clearer to print the spelled out ptid anyway (the pid, lwp and tid
180682 status is set on or removed from a thread. Add a getter and a setter on
180688 before and restore after the thread does an inferior function call.
180690 (thread_info::suspend becomes thread_info::m_suspend), and add getters /
180699 and clear_pending_waitstatus methods.
180714 save_suspend_to and restore_suspend_from methods. You might wonder why
180719 I want to make it clear that this is to be used only for backing up and
180759 /* In all-stop, we only print the status of one thread, and leave
180787 cleared in print_one_stopped_thread (and that there might not even be a
180805 changes. Make the `resumed` field private (renamed to `m_resumed`) and
180806 add a getter and a setter for it. The following patch in question will
180819 start_step_over). Based on the std::list and Boost APIs, add a splice
180826 wrap reference_to_pointer_iterator inside a basic_safe_iterator, and
180846 adds its mock inferior to the inferior list on construction, and removes
180850 scoped mock inferior uses its own process target, and pids are per
180861 example, struct thread_info and struct inferior. Because these are
180862 simply-linked lists, and we don't keep track of a "tail" pointer, when
180900 intrusive_list's API follows the standard container interface, and thus
180907 and intertwined due to a lot of customization options, which our version
180922 to the previous and next nodes, not the previous and next elements.
180926 and next elements, making it easy to traverse the list by hand and
180929 The intrusive_list object contains pointers to the first and last
180931 Each element's node contains a pointer to the previous and next
180932 elements. The first element's previous pointer is nullptr and the last
180934 element in the list, both its previous and next pointers are nullptr.
180936 a list, the previous and next pointers contain a special value (-1) when
180944 a begin() iterator will contain nullptr from the start, and therefore be
180948 `thread_info&`). The rest of GDB currently expects iterators and ranges
180960 hope will be merged eventually, it's possible to index the list and
180976 information. I think it's more useful to print pointers, and let the
181011 Tested on x86_64-linux, with both gcc 7.5.0 and clang 12.0.1.
181059 Fix these by updating the patterns, and adding "maint expand-symtabs" to
181082 Replace leading 8-spaces with tab and remove trailing space in
181106 reporting file and line numbers when something unexpected happens.
181109 lines if the code had already sized and sanity checked the leb128
181124 block, and uvalue decrementing past zero on one of the leb128 bytes.
181131 (read_and_print_leb128): Don't pass __FILE__ and __LINE__ to
181133 * dwarf.h (report_leb_status): Don't report file and line
181134 numbers. Delete file and lnum parameters,
181149 Run property-1_needed-1b.d and property-1_needed-1c.d, which pass
181177 elf_has_indirect_extern_access and elf_has_no_copy_on_protected
181183 -z indirect-extern-access. Set nocopyreloc to true and
181199 * bfdlink.h (bfd_link_info): Add indirect_extern_access and
181232 function and data with indirect external access.
181247 to indicate that the object file requires canonical function pointers and
181276 Built on x86_64-linux-gnu and riscv64-linux-gnu.
181303 ld: Limit cache size and add --max-cache-size=SIZE
181305 information and symbol tables of input files in memory. When there
181343 * bfdlink.h (bfd_link_info): Add cache_size and max_cache_size.
181391 The commit that refactored the displaced stepping machinery and
181467 This patch should be pushed to both master and gdb-11-branch, hence the
181514 Tested on x86_64-linux, with both guile 2.0 and 3.0.
181561 * plugin.c (plugin_input_file): Add comments for abfd and ibfd.
181584 gprof fails to compile on Solaris 10 and 11.3 with --disable-nls:
181625 following patch does. Tested on i386-pc-solaris2.10 and
181649 and in a couple of other places. The platform lacks strnlen, and while
181675 * po/gas.pot: Regenerate.
181682 * po/bfd.pot: Regenerate.
181692 the element type and the iterator type. In reality, it is not much more
181693 than a class that wraps two iterators (begin and end). However, it
181704 a range made by wrapping a begin and end iterator. Move it to its own
181713 and end iterators, useful if the end iterator can't be obtained by
181721 arguments are passed to the iterator_range constructed and then
181726 as argument and constructeur an iterator in the `begin` method.
181727 iterator_range constructs the begin iterator and stores it as a member.
181802 those CI jobs only configure the testsuite directory and run "make
181859 PR 28053: Fix spelling mistakes: usupported -> unsupported and relocatation -> relocation.
181883 (run_relax_twice_test): New, and call it.
181908 Python 3.3 and finaly removed in Python 3.8. The guidelines say to
181922 sleep and is system-wide. (...)
181927 system and user CPU time of the current process. It does not
181933 with two new classes -- MeasurementPerfCounter and
181935 testsuite/perftest.log -- we have two new "perf_counter" and
181936 "process_time" measurements and the "cpu_time" measurement is gone. I
181941 For backward compatility, with Python < 3.3, both perf_counter and
181955 and MeasurementProcessTime instead of MeasurementCpuTime.
181956 (TestCaseWithBasicMeasurements): Use MeasurementPerfCounter and
182037 Fix this by using gdb_test_lines and adding a -re-not syntax to
182046 Tested on x86_64-linux, whith make targets check and check-read1.
182081 and ignore it. */
182094 - gcc 10.3.0 and target board
182112 RISC-V: Add PT_RISCV_ATTRIBUTES and add it to PHDR.
182160 main loop over all CUs and TUs. (An earlier patch applied this same
182165 hash table to write out the TUs. However, now that CUs and TUs are
182170 This changes addrmap_index_data::previous_valid to a bool, and
182176 My recent patch to unify CUs and TUs introduced an oddity in
182197 ld: Cache and reuse the IR archive file descriptor
182204 1. Add archive_plugin_fd and archive_plugin_fd_open_count to bfd so that
182205 we can cache and reuse the IR archive file descriptor for all IR archive
182215 * bfd.c (bfd): Add archive_plugin_fd and
182218 * plugin.c (bfd_plugin_open_input): Cache and reuse the archive
182243 …The commit allows options to be set for the AR and RANLIB programs used when building libiberty, w…
182245 Updated translations (mainly Ukranian and French) triggered by creation of 2.37 branch.
182264 which fails to take into account that for gcc-7 and before, the type for
182267 Fix this by allowing both $integer8 and $integer4.
182269 Tested on x86_64-linux, with gcc-7 and gcc-10.
182275 * gdb.fortran/ptype-on-functions.exp: Allow both $integer8 and
182290 to first check which signals are pending, and then sigwait, to consume
182292 keep using sigtimedwait for the platforms that provide it, and fall back
182330 * mep.opc (macros): Make static and const.
182331 (lookup_macro): Return and use const pointer.
182339 NULL when a reloc special_function is called for final linking and
182348 and bfd_put_32 calls. Correct section limit checks.
182353 DW_FORM_ref1, DW_FORM_ref2, DW_FORM_ref4, DW_FORM_ref1, and
182407 Fix it by adding a target_has_execution check and returning early. Note