aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-07-21gdb: remove unused includesSimon Marchi6-10/+0
Remove a bunch of includes reported as unused by clangd. Change-Id: I3f05f98a298036fadf1acce4ddc198405ec056ee
2025-07-21gdb/solib-svr4: remove an unnecessary static castSimon Marchi1-5/+2
The type is already lm_info_svr4. Change-Id: Id681eb1685462610b202c76147739ac885555f6b
2025-07-21aarch64: Use an enum to refer to indices in the opcode tableRichard Earnshaw7-11646/+13651
The indices into the auto-generated tables for opcodes are relatively unstable. Adding a new opcode can permute the code significantly. But most of this churn is down to changes in the index values. To minimize this use enumerated constants. While the index values change, the enumeration names will need to do so far less often, so most of the changes in the generated code become localized to the addition (occasionally removal) of opcodes. This change also makes the state-change comments unnecessary. The enumeration names contain the same information (and more), so these are simply deleted. The enumeration values are placed in a new header file, aarch64-tbl-2.h, so aarch64-gen gains a new option to build this header and the Makefile rules are adjusted accordingly.
2025-07-21aarch64: use an enumeration for operand indices.Richard Earnshaw3-675/+675
The generated aarch64 operand tables use index values into an array. But if the table of operands is modified by inserting a new operand into the middle of the table, *all* the index values can change, leading to a lot of churn in the generated output. include/opcode/aarch64.h already provides an enumeration for the operands, so make use of that instead of printing out the raw index values.
2025-07-21aarch64: Fix operand name MOPS_WB_Rd -> MOPS_WB_RnRichard Earnshaw2-2/+2
This field was misnamed in aarch64_opcode_table. It previously didn't matter too much as the name field only appeared in dumps. But it doesn't match the enum in include/opcode/aarch64.h and we will shortly start to rely on that.
2025-07-21aarch64: minor code cleanups to aarch64-gen.cRichard Earnshaw4-36/+42
Fix some overly-long lines.
2025-07-21gdb/solib-svr4: remove unused svr4_solib_ops method declarationsSimon Marchi1-8/+0
These method declarations are unused, remove them. I guess that when writing a previous patch, changed some free functions to be methods, then changed my mind, and forgot to remove the declarations. Change-Id: I7452bb773af0f32c4aae2fe6a4fc663ec65c3f15
2025-07-21Remove NaCl/arm target supportH.J. Lu246-1109/+251
NaCl has been deprecated: https://developer.chrome.com/docs/native-client/migration/ It is now in the process of being removed from llvm: https://github.com/llvm/llvm-project/pull/133661 Remove NaCl/arm target support from bfd, binutils, gas and ld. bfd/ * Makefile.am (BFD32_BACKENDS): Remove elf-nacl.lo. (BFD32_BACKENDS_CFILES): Remove elf-nacl.c. (SOURCE_HFILES): Remove elf-nacl.h. * Makefile.in: Regenerated. * config.bfd: Add *-*-nacl* to obsolete targets. Remove *-*-nacl* targets. * configure.ac: Remove nacl target vectors. * elf-bfd.h (elf_target_os): Remove is_nacl. * elf-nacl.c: Removed. * elf-nacl.h: Likewise. * elf32-arm.c: Don't include "elf-nacl.h". (elf32_arm_nacl_plt0_entry): Removed. (elf32_arm_nacl_plt_entry): Likewise. (elf32_arm_stub_long_branch_arm_nacl): Likewise. (elf32_arm_stub_long_branch_arm_nacl_pic): Likewise. (arm_movw_immediate): Likewise. (arm_movt_immediate): Likewise. (arm_nacl_put_plt0): Likewise. (elf32_arm_nacl_link_hash_table_create): Likewise. (elf32_arm_nacl_modify_segment_map): Likewise. (elf32_arm_nacl_final_write_processing): Likewise. (elf32_arm_nacl_plt_sym_val): Likewise. (elf32_arm_stub_cmse_branch_thumb_only): Remove long_branch_arm_nacl and long_branch_arm_nacl_pic entries. (arm_type_of_stub): Updated. (elf32_arm_create_or_find_stub_sec): Likewise. (arm_stub_required_alignment): Likewise. (elf32_arm_allocate_plt_entry): Likewise. (elf32_arm_populate_plt_entry): Likewise. (elf32_arm_finish_dynamic_sections): Likewise. (elf32_arm_output_plt_map_1): Likewise. (elf32_arm_output_arch_local_syms): Likewise. Remove elf32_arm_nacl_bed. * targets.c: Remove NaCl target vectors. * bfd-in2.h: Regenerated. * configure: Likewise. * po/SRC-POTFILES.in: Likewise. binutils/ * NEWS: Mention NaCl target support removal. * testsuite/lib/binutils-common.exp: Remove NaCl target support. gas/ * NEWS: Mention NaCl target support removal. * configure.tgt: Likewise. * config/tc-arm.c: Remove NaCl target support. * testsuite/gas/arm/any-armv8m.d: Likewise. * testsuite/gas/arm/any-cmse-main.d: Likewise. * testsuite/gas/arm/any-cmse.d: Likewise. * testsuite/gas/arm/any-idiv.d: Likewise. * testsuite/gas/arm/arch4t-eabi.d: Likewise. * testsuite/gas/arm/arch4t.d: Likewise. * testsuite/gas/arm/armv8m.base-idiv.d: Likewise. * testsuite/gas/arm/armv9-a_arch.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-0.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-1.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-2.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-3.d: Likewise. * testsuite/gas/arm/attr-any-armv4t.d: Likewise. * testsuite/gas/arm/attr-any-thumbv6.d: Likewise. * testsuite/gas/arm/attr-arch-assumption.d: Likewise. * testsuite/gas/arm/attr-cpu-directive.d: Likewise. * testsuite/gas/arm/attr-default.d: Likewise. * testsuite/gas/arm/attr-empty-string.d: Likewise. * testsuite/gas/arm/attr-ext-fpv5-d16.d: Likewise. * testsuite/gas/arm/attr-ext-fpv5.d: Likewise. * testsuite/gas/arm/attr-ext-idiv.d: Likewise. * testsuite/gas/arm/attr-ext-mp.d: Likewise. * testsuite/gas/arm/attr-ext-neon-fp16.d: Likewise. * testsuite/gas/arm/attr-ext-neon-vfpv3.d: Likewise. * testsuite/gas/arm/attr-ext-neon-vfpv4.d: Likewise. * testsuite/gas/arm/attr-ext-sec.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3-d16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3-fp16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3xd-fp.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3xd.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv4-d16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv4.d: Likewise. * testsuite/gas/arm/attr-march-all.d: Likewise. * testsuite/gas/arm/attr-march-armv1.d: Likewise. * testsuite/gas/arm/attr-march-armv2.d: Likewise. * testsuite/gas/arm/attr-march-armv2a.d: Likewise. * testsuite/gas/arm/attr-march-armv2s.d: Likewise. * testsuite/gas/arm/attr-march-armv3.d: Likewise. * testsuite/gas/arm/attr-march-armv3m.d: Likewise. * testsuite/gas/arm/attr-march-armv4.d: Likewise. * testsuite/gas/arm/attr-march-armv4t.d: Likewise. * testsuite/gas/arm/attr-march-armv4txm.d: Likewise. * testsuite/gas/arm/attr-march-armv4xm.d: Likewise. * testsuite/gas/arm/attr-march-armv5.d: Likewise. * testsuite/gas/arm/attr-march-armv5t.d: Likewise. * testsuite/gas/arm/attr-march-armv5te.d: Likewise. * testsuite/gas/arm/attr-march-armv5tej.d: Likewise. * testsuite/gas/arm/attr-march-armv5texp.d: Likewise. * testsuite/gas/arm/attr-march-armv5txm.d: Likewise. * testsuite/gas/arm/attr-march-armv6-m+os.d: Likewise. * testsuite/gas/arm/attr-march-armv6-m.d: Likewise. * testsuite/gas/arm/attr-march-armv6.d: Likewise. * testsuite/gas/arm/attr-march-armv6j.d: Likewise. * testsuite/gas/arm/attr-march-armv6k+sec.d: Likewise. * testsuite/gas/arm/attr-march-armv6k.d: Likewise. * testsuite/gas/arm/attr-march-armv6kt2.d: Likewise. * testsuite/gas/arm/attr-march-armv6kz.d: Likewise. * testsuite/gas/arm/attr-march-armv6kzt2.d: Likewise. * testsuite/gas/arm/attr-march-armv6s-m.d: Likewise. * testsuite/gas/arm/attr-march-armv6t2.d: Likewise. * testsuite/gas/arm/attr-march-armv6z.d: Likewise. * testsuite/gas/arm/attr-march-armv6zk.d: Likewise. * testsuite/gas/arm/attr-march-armv6zkt2.d: Likewise. * testsuite/gas/arm/attr-march-armv6zt2.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+idiv.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+mp.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+sec+virt.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+sec.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+virt.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a.d: Likewise. * testsuite/gas/arm/attr-march-armv7-m.d: Likewise. * testsuite/gas/arm/attr-march-armv7-r+mp.d: Likewise. * testsuite/gas/arm/attr-march-armv7-r.d: Likewise. * testsuite/gas/arm/attr-march-armv7.d: Likewise. * testsuite/gas/arm/attr-march-armv7a.d: Likewise. * testsuite/gas/arm/attr-march-armv7em.d: Likewise. * testsuite/gas/arm/attr-march-armv7m.d: Likewise. * testsuite/gas/arm/attr-march-armv7r.d: Likewise. * testsuite/gas/arm/attr-march-armv7ve.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+crypto.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+fp.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+rdma.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+simd.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r+crypto.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r+fp.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r+simd.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r.d: Likewise. * testsuite/gas/arm/attr-march-armv8_1-a+simd.d: Likewise. * testsuite/gas/arm/attr-march-armv8_1-m.main.d: Likewise. * testsuite/gas/arm/attr-march-armv8_4-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_5-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_6-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_7-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_8-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_9-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_1-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_2-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_3-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_4-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_5-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8m.base.d: Likewise. * testsuite/gas/arm/attr-march-armv8m.main.d: Likewise. * testsuite/gas/arm/attr-march-armv8m.main.dsp.d: Likewise. * testsuite/gas/arm/attr-march-iwmmxt.d: Likewise. * testsuite/gas/arm/attr-march-iwmmxt2.d: Likewise. * testsuite/gas/arm/attr-march-xscale.d: Likewise. * testsuite/gas/arm/attr-mcpu.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1020e.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1020t.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1136jf-s.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1136jfs.d: Likewise. * testsuite/gas/arm/attr-mfpu-neon-fp16.d: Likewise. * testsuite/gas/arm/attr-mfpu-neon.d: Likewise. * testsuite/gas/arm/attr-mfpu-softvfp+vfp.d: Likewise. * testsuite/gas/arm/attr-mfpu-softvfp.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp10-r0.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp10.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp3.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp9.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv2.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv3-d16.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv3.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpxd.d: Likewise. * testsuite/gas/arm/attr-names.d: Likewise. * testsuite/gas/arm/attr-non-null-terminated-string.d: Likewise. * testsuite/gas/arm/attr-order.d: Likewise. * testsuite/gas/arm/attr-override-cpu-directive.d: Likewise. * testsuite/gas/arm/attr-override-mcpu.d: Likewise. * testsuite/gas/arm/bl-local-2.d: Likewise. * testsuite/gas/arm/bl-local-v4t.d: Likewise. * testsuite/gas/arm/blx-local.d: Likewise. * testsuite/gas/arm/branch-reloc.d: Likewise. * testsuite/gas/arm/directives.d: Likewise. * testsuite/gas/arm/got_prel.d: Likewise. * testsuite/gas/arm/mapdir.d: Likewise. * testsuite/gas/arm/mapmisc.d: Likewise. * testsuite/gas/arm/mapsecs.d: Likewise. * testsuite/gas/arm/mapshort-eabi.d: Likewise. * testsuite/gas/arm/mov-highregs-any.d: Likewise. * testsuite/gas/arm/mov-lowregs-any.d: Likewise. * testsuite/gas/arm/note-march-armv2.d: Likewise. * testsuite/gas/arm/note-march-armv2a.d: Likewise. * testsuite/gas/arm/note-march-armv3.d: Likewise. * testsuite/gas/arm/note-march-armv3m.d: Likewise. * testsuite/gas/arm/note-march-armv4.d: Likewise. * testsuite/gas/arm/note-march-armv4t.d: Likewise. * testsuite/gas/arm/note-march-armv5.d: Likewise. * testsuite/gas/arm/note-march-armv5t.d: Likewise. * testsuite/gas/arm/note-march-armv5te.d: Likewise. * testsuite/gas/arm/note-march-iwmmxt.d: Likewise. * testsuite/gas/arm/note-march-iwmmxt2.d: Likewise. * testsuite/gas/arm/note-march-xscale.d: Likewise. * testsuite/gas/arm/pr12198-1.d: Likewise. * testsuite/gas/arm/pr12198-2.d: Likewise. * testsuite/gas/arm/thumb-eabi.d: Likewise. * testsuite/gas/arm/thumb.d: Likewise. * testsuite/gas/arm/thumbrel.d: Likewise. * config/te-nacl.h: Removed. ld/ * Makefile.am (ALL_EMULATION_SOURCES): Remove earmelf_nacl.c and and earmelfb_nacl.c. Remove NaCl dep files. * NEWS: Mention NaCl target support removal. * configure.tgt: Remove NaCl target support. * Makefile.in: Regenerated. * configure: Likewise. * po/BLD-POTFILES.in: Likewise. * emulparams/armelf_nacl.sh: Removed. * emulparams/armelfb_nacl.sh: Likewise. * emulparams/elf_nacl.sh: Likewise. * testsuite/ld-arm/farcall-arm-nacl-pic.d: Likewise. * testsuite/ld-arm/farcall-arm-nacl.d: Likewise. * testsuite/ld-arm/farcall-data-nacl.d: Likewise. * testsuite/ld-arm/farcall-thumb2-purecode-consecutive-veneer.d: Adjusted. * testsuite/ld-arm/arm-elf.exp: Remove NaCl target support. * testsuite/ld-arm/cortex-a8-far.d: Likewise. * testsuite/ld-arm/non-contiguous-arm3.d: Likewise. * testsuite/ld-arm/non-contiguous-arm6.d: Likewise. * testsuite/ld-elf/binutils.exp: Likewise. * testsuite/ld-elf/build-id.exp: Likewise. * testsuite/ld-elf/ehdr_start-missing.d: Likewise. * testsuite/ld-elf/ehdr_start-shared.d: Likewise. * testsuite/ld-elf/ehdr_start-userdef.d: Likewise. * testsuite/ld-elf/ehdr_start-weak.d: Likewise. * testsuite/ld-elf/ehdr_start.d: Likewise. * testsuite/ld-elf/elf.exp: Likewise. * testsuite/ld-elf/export-class.exp: Likewise. * testsuite/ld-elf/fatal-warnings-1a.d: Likewise. * testsuite/ld-elf/fatal-warnings-1b.d: Likewise. * testsuite/ld-elf/orphan-region.d: Likewise. * testsuite/ld-elf/package-note.exp: Likewise. * testsuite/ld-elf/pr16322.d: Likewise. * testsuite/ld-elf/pr16498a.d: Likewise. * testsuite/ld-elf/pr16498b.d: Likewise. * testsuite/ld-elf/pr19162.d: Likewise. * testsuite/ld-elf/pr22269a.d: Likewise. * testsuite/ld-elf/pr22269b.d: Likewise. * testsuite/ld-elf/pr22393-1a.d: Likewise. * testsuite/ld-elf/pr22393-1b.d: Likewise. * testsuite/ld-elf/pr22393-1c.d: Likewise. * testsuite/ld-elf/pr22393-1d.d: Likewise. * testsuite/ld-elf/pr22393-1e.d: Likewise. * testsuite/ld-elf/pr22393-1f.d: Likewise. * testsuite/ld-elf/pr22393-2a.rd: Likewise. * testsuite/ld-elf/pr22393-2b.rd: Likewise. * testsuite/ld-elf/pr23900-1-32.rd: Likewise. * testsuite/ld-elf/pr23900-1-64.rd: Likewise. * testsuite/ld-elf/pr23900-1.d: Likewise. * testsuite/ld-elf/pr23900-2a.d: Likewise. * testsuite/ld-elf/pr23900-2b.d: Likewise. * testsuite/ld-elf/pr30508.d: Likewise. * testsuite/ld-elf/pr30907-1.d: Likewise. * testsuite/ld-elf/pr30907-2.d: Likewise. * testsuite/ld-elf/pr32341.d: Likewise. * testsuite/ld-elf/shared.exp: Likewise. * testsuite/ld-elf/tls.exp: Likewise. * testsuite/ld-elf/tls_common.exp: Likewise. * testsuite/ld-elfvers/vers.exp: Likewise. * testsuite/ld-elfvsb/elfvsb.exp: Likewise. * testsuite/ld-elfweak/elfweak.exp: Likewise. * testsuite/ld-gc/gc.exp: Likewise. * testsuite/ld-ifunc/binutils.exp: Likewise. * testsuite/ld-pie/pie.exp: Likewise. * testsuite/ld-plugin/lto-binutils.exp: Likewise. * testsuite/ld-plugin/lto.exp: Likewise. * testsuite/ld-scripts/rgn-at3.d: Likewise. * testsuite/ld-shared/shared.exp: Likewise. * testsuite/ld-size/size.exp: Likewise. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2025-07-21gold: Remove NaCl target supportH.J. Lu10-1311/+20
NaCl has been deprecated: https://developer.chrome.com/docs/native-client/migration/ It is now in the process of being removed from llvm: https://github.com/llvm/llvm-project/pull/133661 Remove NaCl target support from gold. * Makefile.am (CCFILES): Remove nacl.cc. (HFILES): Remove nacl.h. * Makefile.in: Regenerated. * aarch64.cc: Don't include nacl.h. * arm.cc: Don't include nacl.h. (Target_arm_nacl): Removed. (Output_data_plt_arm_nacl): Likewise. (target_selector_arm): Replace Target_arm_nacl with Target_selector_arm. * i386.cc: Don't include nacl.h. (Output_data_plt_i386_nacl): Removed. (Target_i386_nacl): Likewise. (target_selector_i386): Replace Target_selector_i386_nacl with Target_selector_i386. * mips.cc: Don't include nacl.h. (Target_mips_nacl): Removed. (Target_selector_mips_nacl): Likewise. (target_selector_mips32): Replace Target_selector_mips_nacl with Target_selector_mips. (target_selector_mips32el): Likewise. (target_selector_mips64): Likewise. (target_selector_mips64el): Likewise. * nacl.cc: Removed. * nacl.h: Likewise. * x86_64.cc: Don't include nacl.h. (Output_data_plt_x86_64_nacl): Removed. (Target_x86_64_nacl): Likewise. (target_selector_x86_64): Replace Target_x86_64_nacl with Target_selector_x86_64. (target_selector_x32): Likewise. * po/POTFILES.in: Regenerated. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2025-07-21Automatic date update in version.inGDB Administrator1-1/+1
2025-07-20Automatic date update in version.inGDB Administrator1-1/+1
2025-07-19gprofng: do not skip weak symbolsDmitrii Bordukov1-1/+1
PR gprofng/33151 gprofng ignores functions that are compiled as weak symbols. This heavily affects C++ class methods that are always compiled by g++ and clang++ as weak symbols. In this case 'gprofng display text' just displays <static>@ADDRESS(<FILENAME>) instead of proper method name. The bug has been introduced in the commit 470a0288a818.
2025-07-19[gdb/cli] Document \001 and \002 usage for set promptTom de Vries1-0/+10
PR cli/28887 reports the following problem when using a custom prompt. First, we set up the custom prompt (with ^ marking the position of the blinking cursor on the line above): ... $ gdb -q -ex "set prompt \033[31mgdb$ \033[0m" gdb$ ^ ... Then we type some string, and enter it into the command history: ... gdb$ some long command ❌️ Undefined command: "some". Try "help". gdb$ ^ ... We use C-p to fetch the previous command: ... gdb$ some long command ^ ... Sofar, so good. Finally, we use C-a which should move the cursor to just after the prompt, but instead we get: ... gdb$ some long command ^ ... This is fixed by using \001 and \002: ... (gdb) set prompt \001\033[31m\002gdb$ \001\033[0m\002 ... aka as RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE [1]. Add an example to the documentation showing the use of these markers. The added example is the equivalent of the "\[\e[0;34m\](gdb)\[\e[0m\]" example documented at gdb.prompt.substitute_string that can be used with "set extended-prompt". While working on this, I noticed that "show prompt" doesn't show back the original string, using '\e' instead of '\033': ... gdb$ show prompt Gdb's prompt is "\001\e[31m\002gdb$ \001\e[0m\002". ... and that the shown string can't be used as an argument to "set prompt": ... gdb$ set prompt \001\e[31m\002gdb$ \001\e[0m\002 e[31mgdb$ e[0m ... I've filed this as PR cli/33184. Approved-By: Eli Zaretskii <eliz@gnu.org> [1] https://tiswww.case.edu/php/chet/readline/readline.html
2025-07-19[gdb/testsuite] Restructure gdb.base/backtrace-through-cu-nodebug.expTom de Vries1-16/+27
I noticed that the test names in test-case gdb.base/backtrace-through-cu-nodebug.exp are a bit inconsistent: ... PASS: $exp: no-cfi: maint frame-unwinder disable ARCH PASS: $exp: verify no-filters unwind fail without CFI PASS: $exp: maint flush register-cache PASS: $exp: verify unwind fail without CFI PASS: $exp: cfi: maint frame-unwinder disable ARCH PASS: $exp: Verify unwinding works based only on CFI information ... There's both a no-cfi prefix, and "without CFI". Fix this by using proc_with_prefix, getting us a consistent prefix: ... PASS: $exp: no-cfi: maint frame-unwinder disable ARCH PASS: $exp: no-cfi: verify no-filters unwind fail PASS: $exp: no-cfi: maint flush register-cache PASS: $exp: no-cfi: verify unwind fail PASS: $exp: cfi: maint frame-unwinder disable ARCH PASS: $exp: cfi: Verify unwinding works ... While we're at it, use multi_line to make a regexp more readable. Tested on aarch64-linux. Reviewed-By: Keith Seitz <keiths@redhat.com>
2025-07-19[gdb/testsuite] Fix gdb.base/backtrace-through-cu-nodebug.exp without python ↵Tom de Vries1-3/+25
support With a gdb build without python support, and test-case gdb.base/backtrace-through-cu-nodebug.exp I run into: ... (gdb) bt^M Required frame unwinder may have been disabled, \ see 'maint info frame-unwinders'^M (gdb) FAIL: $exp: verify unwind fail without CFI ... With a gdb build with python support we have instead: ... (gdb) bt^M Python Exception <class 'gdb.error'>: \ Required frame unwinder may have been disabled, \ see 'maint info frame-unwinders'^M (gdb) PASS: $exp: verify unwind fail without CFI ... but if I change the "bt" into "bt -no-filters" I get the same FAIL and corresponding output. So there are two scenarios here. In the first: - the bt command is called - frame #0 is printed - trying to get the next frame fails and an error is thrown, aborting the backtrace - the error is caught and printed In the second: - the bt command is called - the frame filter is applied - doing so triggers the same error, which is caught and printed by gdbpy_apply_frame_filter, returning EXT_LANG_BT_NO_FILTERS - frame #0 is printed - getting the next frame fails, and the backtrace stops It seems worthwhile to exercise both scenarios if possible, so add a "bt -no-filters" test. Fix the FAIL by updating the regexp to allow both scenarios. Tested on aarch64-linux. Reviewed-By: Keith Seitz <keiths@redhat.com>
2025-07-19[gdb/testsuite] Fix gdb.multi/pending-bp.exp without python supportTom de Vries1-2/+4
With a gdb build without python support and test-case gdb.multi/pending-bp.exp, I run into: ... (gdb) python bp=[b for b in gdb.breakpoints() if b.number == 5][0]^M Python scripting is not supported in this copy of GDB.^M (gdb) FAIL: $exp: py_test_toggle_thread: find Python gdb.Breakpoint object ... Fix this by requiring python support for part of the test-case. Tested on aarch64-linux. Reviewed-By: Keith Seitz <keiths@redhat.com>
2025-07-19[gdb/testsuite] Fix gdb.base/break-dbg.exp without xml supportTom de Vries1-1/+11
With a gdb build without xml support and test-case gdb.base/break-dbg.exp, I run into: ... (gdb) catch syscall^M warning: Can not parse XML syscalls information; \ XML support was disabled at compile time.^M Catchpoint 11 (any syscall)^M (gdb) FAIL: $exp: catch syscall ... Fix this by updating the regexp. Tested on aarch64-linux. Reviewed-By: Keith Seitz <keiths@redhat.com>
2025-07-19Re: RELOC_AGAINST_DISCARDED_SECTION zero size reloc sectionsAlan Modra2-1/+14
Update the testsuite, so that is_generic ELF targets still do the linkonce1 test (as linkonce3).
2025-07-19Automatic date update in version.inGDB Administrator1-1/+1
2025-07-19RELOC_AGAINST_DISCARDED_SECTION zero size reloc sectionsAlan Modra7-52/+25
For some reason the initial implementation (commit 0672748ac053) of this macro didn't allow discarding of all relocs in a section, perhaps because doing so would require a testsuite change. This patch allows zero size relocation sections to result, and adjusts the testsuite. i386, x86_64, ppc and ppc64 code that avoids a memmove is also changed to allow zero size reloc sections, and arc fixed to actually adjust the reloc section header.
2025-07-18[gdb/testsuite] Fix gdb.arch/amd64-disp-step-self-call.exp on freebsdTom de Vries4-44/+38
On x86_64-freebsd, with test-case gdb.arch/amd64-disp-step-self-call.exp, I run into: ... (gdb) continue Continuing. Program received signal SIGBUS, Bus error. Object-specific hardware error. 0x000000080051492c in alarm () from /lib/libc.so.7 (gdb) FAIL: $exp: continue to breakpoint: test_call ... The behaviour is not specific to gdb, it can be reproduced by running the test-case executable: ... $ ./outputs/gdb.arch/amd64-disp-step-self-call/amd64-disp-step-self-call Bus error (core dumped) $ ... The bus error happens when executing this instruction in alarm: ... 0000000000093910 <alarm>: ... 9392c: 0f 29 45 d0 movaps %xmm0, -0x30(%rbp) ... because $rbp is not 16-byte aligned. This can be fixed by adding the missing frame setup instructions at the start of main in amd64-disp-step-self-call.S: ... main: + pushq %rbp + movq %rsp, %rbp ... Instead, fix this by moving main from the assembly file to the c file, which has the same effect. Also remove the done label, which looks like a copy-past left-over. Instead, add an unreachable function and use it where appropriate. Do the same for i386 case (which makes the source files identical for the amd64 and i386 case, but I decided to leave it like that). Tested on x86_64-freebsd and x86_64-linux.
2025-07-18gdb/testsuite: mark the start of each gdb.in.* log fileAndrew Burgess1-0/+4
Emit a line in the gdb.log file each time a new gdb.in.NUM command log is started. The gdb.log line includes the full filename for the new gdb.in.NUM file. This change will make it trivial to go from a FAIL in the gdb.log file to the gdb.in.NUM file that (should) reproduce the failure. When I encounter a failing test one of my first steps is usually to identify the gdb.in.NUM file and try re-running it to see if that reproduces the failure. Some tests create many very similar gdb.in.NUM files, so finding the exact one can sometimes be difficult. With this patch that task is now trivial. There should be no change in what is tested after this commit. Approved-By: Simon Marchi <simon.marchi@efficios.com>
2025-07-18ld: Limit PR ld/25617 tests to glibc targetsH.J. Lu1-1/+1
Since PR ld/25617 tests expects glibc specific features, limit PR ld/25617 tests to glibc targets. PR ld/33169 * testsuite/ld-elf/no-section-header.exp: Return if not glibc targets. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2025-07-18Fix more unused variable warningsAlan Modra7-21/+6
2025-07-18Fix unused variable warningsAlan Modra8-23/+13
2025-07-18asan: undefined shiftAlan Modra1-9/+9
.bundle_align_mode 32 nop read.c:776:26: runtime error: shift exponent 32 is too large for 32-bit type 'unsigned int' Avoid this by using wider types in the expressions.
2025-07-18visium: use RELOC_AGAINST_DISCARDED_SECTIONAlan Modra1-11/+3
The initial visium support added in commit d924db559be9 didn't make use of RELOC_AGAINST_DISCARDED_SECTION, and so lacked code to remove relocations in debug sections.
2025-07-18METAG_RELOC_AGAINST_DISCARDED_SECTIONAlan Modra60-106/+124
Delete this macro which duplicates RELOC_AGAINST_DISCARDED_SECTION, and instead add an rnone parameter to the standard version.
2025-07-18Automatic date update in version.inGDB Administrator1-1/+1
2025-07-17[gdb/testsuite] Use pagination_prompt var more oftenTom de Vries3-40/+7
In some test-cases, matching the pagination prompt is split up to address a matching race but that's no longer necessary, thanks to commit c3f814a1433 ("Fix paginate-*.exp races"). Fix this by using the pagination_prompt variable. Tested on x86_64-linux. Approved-By: Andrew Burgess <aburgess@redhat.com>
2025-07-17[gdb/testsuite] Require minimum width in gdb.base/style.expTom de Vries2-2/+10
In test-case gdb.base/style.exp, we have proc test_pagination_prompt_styling, which: - determines a "desired width" by parsing the output of "info files", - sets width to the "desired width", and - runs "info files" again. The "desired width" on my system is 88, but if I override it to 65, I run into: ... (gdb) info files^M Symbols from "^[[32;49;22;27m/data/vries/gdb/leap-15-6/build/gdb/testsuite/outputs/gdb.base/style/style^[[m".^M --Type <RET> for more, q to quit, c to continue without paging--^M ^MFAIL: gdb.base/style.exp: check pagination prompt styling (timeout) ... with make target check, and with check-read1 into: ... (gdb) info files^M Symbols from "^[[32;49;22;27m/data/vries/gdb/leap-15-6/build/gdb/testsuite/outputs/gdb.base/style/style^[[m".^M --Type <RET> for more, q to quit, c to continue without paging--^M ^M^[[A^M Native process:^M Using the running image of child process 6179.^M --Type <RET> for more, q to quit, c to continue without paging--ERROR: Window too small. UNRESOLVED: gdb.base/style.exp: check pagination prompt styling ... This is caused by the following. The size of the pagination prompt is 64: ... 1 2 3 4 5 6 1234567890123456789012345678901234567890123456789012345678901234 --Type <RET> for more, q to quit, c to continue without paging-- ... and because we have TERM=ansi and width == 65, readline wraps at 64: ... (gdb) maint info screen Number of characters gdb thinks are in a line is 65. Number of characters readline reports are in a line is 64. ... In other words, readline wraps when printing the pagination prompt. This causes some unusual output, and the test is not prepared to handle this. Fix this by requiring that desired_width is at least <length of pagination prompt> + 2. Tested on x86_64-linux. Approved-By: Andrew Burgess <aburgess@redhat.com> PR testsuite/33167 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33167
2025-07-17[gdb/testsuite] Fix regexp in gdb.base/style.expTom de Vries1-1/+1
In test-case gdb.base/style.exp, we have proc test_pagination_prompt_styling, which: - determines a "desired width" by parsing the output of "info files", - sets width to the "desired width", and - runs "info files" again. The "desired width" on my system is 88, but if I override it to 66, I run into: ... FAIL: gdb.base/style.exp: check pagination prompt styling ... due to the test classifying this line as a bad line: ... $hex - $hex is .init_array in --Type <RET> for more, ... ... This is due to a bug in this regexp: ... # For lines that don't match this pattern, we cannot comment on # where the style reset should occur, so lets just claim the line # is fine. if { ![regexp "\\s+$::hex - $::hex is \[^\r\n\]+ in " $str] } { return true } ... which is supposed to determine whether the line needs to contain a style reset. For aforementioned line, the regexp matches, so the test concludes that the line should have a style reset, and because it hasn't, it classifies it as a bad line. Fix this by making the regexp more strict: ... if { ![regexp "\\s+$::hex - $::hex is \[^\r\n\]+ in \033" $str] } { ... Tested on x86_64-linux. Approved-By: Andrew Burgess <aburgess@redhat.com>
2025-07-17[gdb/testsuite] Stabilize test name in gdb.base/style.expTom de Vries1-1/+2
With test-case gdb.base/style.exp, I get: ... PASS: gdb.base/style.exp: set width 88 ... The 88 is not a constant, it's a variable: ... gdb_test_no_output "set width $desired_width" ... which is calculated by parsing the output of "info files". When running with target board unix/-m32, I get instead: ... PASS: gdb.base/style.exp: set width 67 ... Stabilize the test name by using instead: ... PASS: gdb.base/style.exp: set width to desired width ... Tested on x86_64-linux. Approved-By: Andrew Burgess <aburgess@redhat.com>
2025-07-17gdb/risc-v: fix ISA string detection for disassemblyMarek Pikuła1-0/+17
Commit 3f61a38 introduced a regression where the ISA string was no longer detected based on the ELF header. The mechanism was changed from directly referencing `abfd` to using `disassembler_info->section`, which was not properly initialized for RISC-V. The previous implementation ignored the object in scope, leading to issues such as failing to decode RVV instructions when a library was compiled as `rv64gcv` and the main application as `rv64gc`. This patch resolves both problems by initializing `disassembler_info->section` with the object currently in scope, ensuring correct ISA string detection during disassembly. Approved-By: Andrew Burgess <aburgess@redhat.com>
2025-07-17gdb: fix formatting in solib.cSimon Marchi1-2/+2
Change-Id: I7ae1ca4a822ecc2805025fac59a22af5d2a41166
2025-07-17binutils: drop unused note_size, contents, old variablesSam James1-8/+1
GCC trunk recently had improvements to its -Wunused-but-set-variable which picked up that contents and hence note_size & old aren't used at all in the end. * objcopy.c (merge_gnu_build_notes): Drop unused 'note_size', 'contents', and 'old' variables.
2025-07-17bfd: drop unused elt_noSam James1-2/+1
GCC trunk recently had improvements to its -Wunused-but-set-variable which picked up that elt_no isn't used at all in the end. * archive.c (_bfd_compute_and_write_armap): Drop unused elt_no.
2025-07-17Remove sframe relocs against discarded sectionsAlan Modra1-3/+6
Commit d7f343eaad3f testsuite change resulted in a regression for s390x-linux. This extends the x86_64 fix to other targets. PR ld/33156 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Remove .sframe relocs too.
2025-07-17readelf v850 notesAlan Modra1-36/+24
This patch was prompted by a clang warning: readelf.c:23317:37: warning: pointer comparison always evaluates to false [-Wtautological-compare] 23317 | || inote.namedata + inote.namesz < inote.namedata) | ^ Use the same sanity checks as used by process_notes_at. (See commit 5396a86e4396). While we are at it, print all the v850 note info in one place to properly handle error conditions.
2025-07-17Automatic date update in version.inGDB Administrator1-1/+1
2025-07-16gdb: remove unused includes in break-*.cSimon Marchi5-9/+0
These are reported as unused by clangd. Change-Id: I80871e08b9d29c540f61d6ea91904197faf92065
2025-07-16gas: improve --gsframe documentationSam James2-3/+7
I omitted documentation in 8aad677a12832885acd5be1de8f41e740b8e713d in error. Rectify that with: 1) changing ---help to mention bare `--gsframe` too, as we're not getting rid of that; 2) adding the new --gsframe=[no|yes] form to as.texi. PR gas/33125 * gas/as.c (parse_args): Tweak --gsframe= help text. * gas/doc/as.texi: Document --gsframe=[no|yes].
2025-07-15x86-64: Remove sframe relocs against discarded sectionsH.J. Lu2-4/+13
Since unlike eh_frame editing code, sframe editing code keeps R_X86_64_NONE reloc as is, its r_offset is wrong, we must not generate R_X86_64_NONE reloc in sframe section against discarded sections for "ld -r". bfd/ PR ld/33156 * elf64-x86-64.c (elf_x86_64_relocate_section): Also remove sframe relocations against discarded sections for "ld -r". ld/ PR ld/33156 * testsuite/ld-elf/eh-group.exp (as_gsframe): New. Assemble eh-group.o with $as_gsframe. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2025-07-16x86: Decouple AMX-AVX512 from AVX10.2 and imply AVX512FHaochen Jiang2-18/+18
In ISE058, the AVX10.2 imply is removed from AMX-AVX512. This leads to re-consideration on the imply for AMX-AVX512. Since it is using zmm register and using zmm register only, we need to at least imply AVX512F. AVX512VL is not needed since it is not using xmm/ymms. On the other hand, if we imply AVX10.1 for AMX-AVX512, disabling avx10.1 will lead to disabling AMX-AVX512. This would be a surprise for users. Based on the two reasons above, the patch is decoupling AMX-AVX512 from AVX10.2 and imply AVX512F. opcodes/ChangeLog: * i386-gen.c: Imply AVX512F instead of AVX10.2. * i386-init.h: Regenerated.
2025-07-16Automatic date update in version.inGDB Administrator1-1/+1
2025-07-15Updated translations for various sub-directoriesNick Clifton14-22515/+26003
2025-07-15Only parse attributes in ELF sections with the SHT_GNU_ATTRIBUTES type if ↵Rainer Orth3-5/+13
the OS is not Solaris. Set the is_solaris flag for Sparc solaris PR 33153
2025-07-15gas: Re-indent case OPTION_SFRAME:H.J. Lu1-6/+6
PR gas/33125 * gas/as.c (parse_args): Re-indent case OPTION_SFRAME: Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2025-07-15gas: support --gsframe=noSam James1-3/+14
Being able to explicitly disable SFrames on the command line is useful, especially when looking at a gas that enables SFrames by default. The binutils testsuite will benefit from this as there's testcases that don't expect their presence. In summary: * Nothing is passed => no SFrames (no change from before) * --gsframe is passed => SFrames (no change from before) * --gsframe=yes is passed => SFrames (previously rejected) * --gsframe-no is passed => no SFrames (previously rejected) PR gas/33125 * gas/as.c (parse_args): Accept --gsframe=no, --gsframe=yes.
2025-07-15Revert "gas: support --gsframe=no"Sam James1-14/+3
This reverts commit e6b2368b9556ea6298a1f0de97baeabf1b5b18fd. I made a last minute style change and oopsed it.