aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-09-28gdb: remove final user of the executable_changed observerAndrew Burgess1-4/+6
This commit continues with the task started in the previous commit, and is similar in many ways. The goal of the next couple of commits is to expose the executable_changed observable in the Python API as an event. Before I do this I would like to remove the additional call to the executable_changed observable which can be found in the reread_symbols function in the symfile.c file, as I don't believe that this use actually corresponds to a change in the current executable. The previous commit removed one user of the executable_changed observable and replaced it with a new_obfile observer instead, and this commit does the same thing. In auxv.c we use the executable_changed observable to call invalidate_auxv_cache, which then calls: invalidate_auxv_cache_inf (current_inferior ()); The auxv cache is already (additionally) cleared when an inferior exits and when an inferior appears. As with the previous commit, I think we can safely replace the use of the executable_changed observable with a use of the new_obfile observable. All the tests still pass, and with some locally placed printf calls, I think that the cache is still being cleared in all the cases that should matter. Approved-By: Tom Tromey <tom@tromey.com>
2023-09-28gdb: remove one user of the executable changed observerAndrew Burgess1-11/+7
My goal for the next few commits is to expose the executable_changed observable from the Python API. However, there is call to the executable_changed observable in the reread_symbols function (in symfile.c), and this doesn't actually correspond to the executable changing. My idea then, is to remove this use of the executable_changed observable, but, before I can do that, I need to check that nothing is going to break, and that requires my to think about the current users of this observable. One current user of executable_changed is in symtab.c. We add an executable_changed observer that calls: set_main_name (nullptr, language_unknown); to discard all information about the main function when the executable changes. However, changing the executable doesn't actually change the debug information. The debug information changes when the symbol-file changes, so I think this observer is in slightly the wrong place. The new_objfile observable is (unfortunately) overloaded, it is called when a new objfile is loaded, and also (when its argument is nullptr), when all debug information should be discarded. It turns out that there is already a new_objfile observer in symtab.c. I propose that, when the argument is nullptr (indicating all debug info should be discarded), that we should call set_main_name to discard the information about the main function. We can then remove the executable_changed observer from symtab.c. All tests still pass, and, in my local world, I added some debug printf calls, and I think we are still discarded the main information everywhere we need to. Approved-By: Tom Tromey <tom@tromey.com>
2023-09-28gdb/python: new Progspace.executable_filename attributeAndrew Burgess5-0/+165
Add a new Progspace.executable_filename attribute that contains the path to the executable for this program space, or None if no executable is set. The path within this attribute will be set by the "exec-file" and/or "file" commands. Accessing this attribute for an invalid program space will raise an exception. This new attribute is similar too, but not the same as the existing gdb.Progspace.filename attribute. If I could change the past, I'd change the 'filename' attribute to 'symbol_filename', which is what it actually represents. The old attribute will be set by the 'symbol-file' command, while the new attribute is set by the 'exec-file' command. Obviously the 'file' command sets both of these attributes. Reviewed-By: Eli Zaretskii <eliz@gnu.org> Approved-By: Tom Tromey <tom@tromey.com>
2023-09-28gdb/python: new Progspace.symbol_file attributeAndrew Burgess4-0/+54
Add a new Progspace.symbol_file attribute. This attribute holds the gdb.Objfile object that corresponds to Progspace.filename, or None if there is no main symbol file currently set. Currently, to get this gdb.Objfile, a user would need to use Progspace.objfiles, and then search for the objfile with a name that matches Progspace.filename -- which should work just fine, but having direct access seems a little nicer. Reviewed-By: Eli Zaretskii <eliz@gnu.org> Approved-By: Tom Tromey <tom@tromey.com>
2023-09-28gdb/doc: extend the description for Progspace.filenameAndrew Burgess2-2/+7
Extend the description for Progspace.filename in the documentation to mention what the returned string is actually the filename for (e.g. that it is the filename passed to the 'symbol-file' or 'file' command). Also document that this attribute will be None if no symbol file is currently loaded. Reviewed-By: Eli Zaretskii <eliz@gnu.org> Approved-By: Tom Tromey <tom@tromey.com>
2023-09-28gdb/x86: use size of XSAVE area of enabled featuresSimon Marchi1-3/+3
Since commit b42405a1594 ("gdb: Update x86 Linux architectures to support XSAVE layouts."), the test gdb.base/gcore.exp fails on my AMD Ryzen 3700X machine: FAIL: gdb.base/gcore.exp: corefile restored all registers The test gets the register state (saves the output of "info all-registers"), saves a core with the "gcore" command, loads the core, and checks the register state against the one previously saved. The problem is that when reading registers from the core file, the last half of ymm registers is unavailable: (gdb) print $ymm0.v32_int8 $1 = {0, -77, -23, -9, -1, 127, 0, 0, 0, -77, -23, -9, -1, 127, 0, 0, <unavailable> <repeats 16 times>} One strange thing with this machine is that the bitset of state components supported by XCR0 is 0x207, meaning "x87 | SSE | AVX | PKRU", but XCR0 at runtime is 0x7, meaning "x87 | SSE | AVX". So, PKRU appears to be supported by the processor, but disabled by the kernel. I didn't find why yet. From CPUID leaf EAX=0Dh, ECX=00h, GDB can get: - from EBX: max size of the XSAVE area required by features currently enabled in XCR0. On my machine, it's 0x340 (832). - from ECX: max size of the XSAVE area required by all features supported by XCR0. On my machine, it's 0x380 (896). At runtime, GDB uses ECX (max size required by all supported features) to fill the x86_xsave_layout::sizeof_xsave. So, when writing the core file note for the XSAVE state, it writes a note of size 896, even though it doesn't write the PKRU state. When loading back the core, GDB tries to figure out the layout of the XSAVE area based on what features are enabled in XCR0 and the size of the note (the size of the XSAVE area). Since my combination of XCR0 and size of XSAVE area doesn't match any combination known by GDB, GDB falls back to a gdbarch supporting only x87 and SSE. This patch changes GDB to populate the x86_xsave_layout::sizeof_xsave field (and consequently the size of the XSAVE state note in core files) using EBX, the size of the XSAVE area required by currently enabled features in XCR0. This makes i387_guess_xsave_layout recognize my case with this condition: else if (HAS_AVX (xcr0) && xsave_size == 832) { /* Intel and AMD CPUs supporting AVX. */ layout.avx_offset = 576; } In other words, just as if my machine didn't support PKRU at all. Another reason why I think this change makes sense is that XSAVE state notes in kernel-generated cores on this machine have size 832. So this change makes GDB-generated cores more similar to kernel-generated ones, reducing the diversity of XSAVE state notes that GDB needs to be able to figure out. Note that if PKRU was enabled on my machine, then the effective XSAVE area size would be 896 bytes. We would need to add a case in i387_guess_xsave_layout for that combination, since there is no currently. But I don't have a way to test that right now, since I don't know why PKRU is disabled. Relevant review note from John Baldwin: One further note is that the Linux x86 arches use x86_xsave_length() to infer ("guess") the size of the XSAVE register set that the Linux kernel writes out in core dumps. On FreeBSD x86 arches, GDB is able to query this size directly from the kernel via ptrace. My use of ECX for this guess earlier was just not the best guess. In the case that the kernel enables all of the available features, then ECX and EBX have the same values, so this only matters for a system where the kernel has enabled a subset of available XSAVE extensions. Change-Id: If64f30307f3a2e5ca3e1fd1cb7379ea840805a85 Reviewed-By: John Baldwin <jhb@FreeBSD.org>
2023-09-28Add support to readelf for the PT_OPENBSD_NOBTCFI segment type.Frederic Cambus4-0/+11
2023-09-28Fix: nm: SEGV on unknow address at nm.c:718 in print_symnameNick Clifton3-9/+42
PR 30886 * elf-bfd.h (struct elf_obj_tdata): Add dt_strsz field. * elf.c (_bfd_elf_get_dynamic_symbols): Add a NUL byte at the end of the string table. Initialise the dt_strsz field. (_bfd_elf_slurp_version_tables): Only free the contents if they were malloc'ed. Add checks before setting string pointers in the dt_strtab buffer.
2023-09-28[gdb/testsuite] Add nopie to gdb.base/unwind-on-each-insn-amd64-2.expTom de Vries5-7/+23
When running test-case gdb.base/unwind-on-each-insn-amd64-2.exp with target board unix/-fPIE/-pie, I run into: ... gdb compile failed, ld: unwind-on-each-insn-amd64-21.o: relocation \ R_X86_64_32S against `.text' can not be used when making a PIE object; \ recompile with -fPIE ld: failed to set dynamic section sizes: bad value ... Fix this by hardcoding nopie in the test-case, and for good measure in the other test-cases that source unwind-on-each-insn.exp.tcl and use a .s file. Tested on x86_64-linux. Approved-by: Kevin Buettner <kevinb@redhat.com>
2023-09-28Automatic date update in version.inGDB Administrator1-1/+1
2023-09-27config/debuginfod.m4: Add check for libdebuginfod 0.188Aaron Merey5-3/+232
Add check for libdebuginfod 0.188 in AC_DEBUGINFOD and if found define macro HAVE_LIBDEBUGINFOD_FIND_SECTION. This macro indicates support for downloading ELF sections from debuginfod servers.
2023-09-27nm: heap-buffer-overflow at elfcode.h:1507 in bfd_elf64_slurp_symbol_tableNick Clifton2-2/+11
PR 30885 * elfcode.h (elf_slurp_symbol_table): Compute the symcount for non dynamic symbols in the same way as _bfd_elf_get_symtab_upper_bound.
2023-09-27x86: prefer VEX encodings over EVEX ones when possibleJan Beulich10-10/+246
AVX-* features / insns paralleling earlier introduced AVX512* ones can be encoded more compactly when the respective feature was explicitly enabled by the user.
2023-09-27x86: drop cpu_arch_tune_flagsJan Beulich1-22/+4
Apparently from its introduction the variable was only ever written (the only read is merely to determine whether to write it with another value). (Since, due to the need to re-indent, the adjacent lines setting cpu_arch_tune need touching anyway, switch to using PREOCESSOR_* constants where applicable, to make more obvious what the resulting state is going to be.)
2023-09-27x86: correct cpu_arch_isa_flags maintenanceJan Beulich4-47/+83
These may not be set from a value derived from cpu_arch_flags: That starts with (almost) all functionality enabled, while cpu_arch_isa_flags is supposed to track features that were explicitly enabled (and perhaps later disabled) by the user. To avoid needing to do any such adjustment in two places (each), introduce helper functions used by both command line handling and directive processing.
2023-09-27Adjust gdb.thread/pthreads.exp for CygwinPedro Alves1-7/+7
The Cygwin runtime spawns a few extra threads, so using hardcoded thread numbers in tests rarely works correctly. Thankfully, this testcase already records the ids of the important threads in globals. It just so happens that they are not used in a few tests. This commit fixes that. With this, the test passes cleanly on Cygwin [1]. Still passes cleanly on x86-64 GNU/Linux. [1] - with system GDB. Upstream GDB is missing a couple patches Cygwin carries downstream. Approved-By: Tom Tromey <tom@tromey.com> Change-Id: I01bf71fcb44ceddea8bd16b933b10b964749a6af
2023-09-27In gdb.threads/pthreads.c, handle pthread_attr_setscope ENOTSUPPedro Alves1-1/+2
On Cygwin, I see: (gdb) PASS: gdb.threads/pthreads.exp: break thread1 continue Continuing. pthread_attr_setscope 1: Not supported (134) [Thread 3732.0x265c exited with code 1] [Thread 3732.0x2834 exited with code 1] [Thread 3732.0x2690 exited with code 1] Program terminated with signal SIGHUP, Hangup. The program no longer exists. (gdb) FAIL: gdb.threads/pthreads.exp: Continue to creation of first thread ... and then a set of cascading failures. Fix this by treating ENOTSUP the same way as if PTHREAD_SCOPE_SYSTEM were not defined. I.e., ignore ENOTSUP errors, and proceed with testing. Approved-By: Tom Tromey <tom@tromey.com> Change-Id: Iea68ff8b9937570726154f36610c48ef96101871
2023-09-27Fix gdb.threads/pthreads.exp error handling/printingPedro Alves1-8/+22
On Cygwin, I noticed: (gdb) PASS: gdb.threads/pthreads.exp: break thread1 continue Continuing. pthread_attr_setscope 1: No error [Thread 8732.0x28f8 exited with code 1] [Thread 8732.0xb50 exited with code 1] [Thread 8732.0x17f8 exited with code 1] Program terminated with signal SIGHUP, Hangup. The program no longer exists. (gdb) FAIL: gdb.threads/pthreads.exp: Continue to creation of first thread Note "No error" in "pthread_attr_setscope 1: No error". That is a bug in the test. It is using perror, but that prints errno, while the pthread functions return the error directly. Fix all cases of the same problem, by adding a new print_error function and using it. We now get: ... pthread_attr_setscope 1: Not supported (134) ... Approved-By: Tom Tromey <tom@tromey.com> Change-Id: I972ebc931b157bc0f9084e6ecd8916a5e39238f5
2023-09-27Fix gdb.threads/pthreads.c formattingPedro Alves1-18/+27
Just some GNU formatting fixes throughout. Approved-By: Tom Tromey <tom@tromey.com> Change-Id: Ie851e3815b839e57898263896db0ba8ddfefe09e
2023-09-27gdb.threads/pthreads.c, K&R -> ANSI function stylePedro Alves1-7/+3
gdb.threads/pthreads.c is declaring functions with old K&R style. This commit converts them to ANSI style. Approved-By: Tom Tromey <tom@tromey.com> Change-Id: I1ce007c67bb4ab1e49248c014c7881e46634f8f8
2023-09-27opcodes: microblaze: Add wdc.ext.clear and wdc.ext.flush insnsNeal Frager2-17/+20
2023-09-27Fix: Output section type does not been applied to section forced output by ↵Hsinyuan Xavier2-2/+24
`. = .` assignment PR 30875 * ldlang.c (get_os_init_flag): New function. (exp_init_os, map_input_to_output_sections): Use it.
2023-09-27x86: fold FMA VEX and EVEX templatesJan Beulich3-1183/+516
Following the folding of some generic AVX/AVX2 templates with their AVX512F counterpart ones, do this for FMA ones as well, requiring one further adjustment to cpu_flags_match().
2023-09-27x86: fold VAES/VPCLMULQDQ VEX and EVEX templatesJan Beulich3-331/+219
Following the folding of some generic AVX/AVX2 templates with their AVX512F counterpart ones, do this for VAES and VPCLMULQDQ ones as well.
2023-09-27x86: fold certain VEX and EVEX templatesJan Beulich4-1033/+764
In anticipation of APX introduce logic to reduce the number of templates we have now, allowing to limit some the number of ones we then need to gain. The fundamental requirements are that - attributes be compatible, which specifically means VexW needs to be the same in the templates (which often isn't the case, for VEX encodings having far more WIG tha, EVEX ones), - the EVEX form being AVX512F (with or without AVX512VL), not any of its extensions (the same will then be required for APX - it'll need to be APX_F). Note that in check_register() there's now a redundant zmm check. Since this logic will need revisiting for APX anyway, I'd like to keep it that way for now. (Similarly a couple of if()-s which could be folded are kept separate, to reduce code churn when adding APX support.)
2023-09-27x86: tighten .insn SAE and broadcast checkingJan Beulich1-2/+3
SAE / embedded rounding are invalid when there's the memory operand, as the bit encoding this specifies broadcast in that case. Broadcast needs to be specified on the memory operand.
2023-09-27x86-64: REX.W overrides DATA_PREFIXJan Beulich1-2/+5
REX.W needs to be respected when immediate size and relocation type are determined.
2023-09-27x86-64: fix suffix-less PUSH of symbol addressJan Beulich3-1/+18
PR gas/30856 In 5cc007751cdb ("x86: further adjust extend-to-32bit-address conditions") I neglected the case of PUSH, which is the only insn allowing (proper) symbol addresses to be used as immediates (not displacements, like CALL/JMP) in the absence of any register operands. Since it defaults to 64-bit operand size, guessing an L suffix is wrong there.
2023-09-27gdb: Fix an ODR warning with byacc with GDB_YY_REMAPSam James1-0/+1
With byacc, we get an ODR warning with YYSTACKDATA between ada-exp.c.tmp and c-exp.c.tmp. Just include it in the list of symbols we rename. PR gdb/30839 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30839 Approved-By: Tom de Vries <tdevries@suse.de> Copyright-paperwork-exempt: yes
2023-09-27Add support for "pcaddi rd, symbol"mengqinggang8-158/+177
Add a macro pcaddi instruction to support "pcaddi rd, symbol". pcaddi has a 20-bit signed immediate, it can address a +/- 2MB pc relative address, and the address should be 4-byte aligned.
2023-09-27Automatic date update in version.inGDB Administrator1-1/+1
2023-09-26gdb/testsuite: add xfail for gdb/29965 in ↵Simon Marchi1-1/+18
gdb.threads/process-exit-status-is-leader-exit-status.exp Bug 29965 shows on a Linux kernel >= 6.1, that test fails consistently with: FAIL: gdb.threads/process-exit-status-is-leader-exit-status.exp: iteration=0: continue (the program exited) ... FAIL: gdb.threads/process-exit-status-is-leader-exit-status.exp: iteration=9: continue (the program exited) This is due to a change in Linux kernel behavior [1] that affects exactly what this test tests. That is, if multiple threads (including the leader) call SYS_exit, the exit status of the process should be the exit status of the leader. After that change in the kernel, it is no longer the case. Add an xfail in the test, based on the Linux kernel version. The goal is that if a regression is introduced in GDB regarding this feature, it should be caught if running on an older kernel where the behavior was consistent. [1] https://bugzilla.suse.com/show_bug.cgi?id=1206926 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29965 Change-Id: If6ab7171c92bfc1a3b961c7179e26611773969eb Approved-By: Tom de Vries <tdevries@suse.de>
2023-09-26[gdb/testsuite] Fix gdb.ada/mi_task_arg.exp with newer gccTom de Vries1-1/+2
When running test-case gdb.ada/mi_task_arg.exp on openSUSE Tumbleweed using gcc 13.2.1, I run into (layout adapted for readability): ... -stack-list-arguments 1^M ^done,stack-args=[ frame={level="0",args=[]}, frame={level="1",args=[{name="<_task>",value="0x464820"}, {name="<_taskL>",value="129"}]}, frame={level="2",args=[{name="self_id",value="0x464840"}]}, frame={level="3",args=[]}, frame={level="4",args=[]} ]^M (gdb) ^M FAIL: gdb.ada/mi_task_arg.exp: -stack-list-arguments 1 (unexpected output) ... On openSUSE Leap 15.4 with gcc 7.5.0 I get instead: ... -stack-list-arguments 1^M ^done,stack-args=[ frame={level="0",args=[]}, frame={level="1",args=[{name="<_task>",value="0x444830"}]}, frame={level="2",args=[{name="self_id",value="0x444850"}]}, frame={level="3",args=[]}, frame={level="4",args=[]}]^M (gdb) ^M PASS: gdb.ada/mi_task_arg.exp: -stack-list-arguments 1 ... The difference in gdb output is due to difference in the dwarf generated by the compiler, so I don't see a problem with gdb here. Fix this by updating the test-case to accept this output. Tested on x86_64-linux. Approved-By: Tom Tromey <tom@tromey.com>
2023-09-26Remove some unnecessary qualification from printing.pyTom Tromey1-5/+5
printing.py references "gdb.printing" in a few spots, but there's no need for this. I think this is leftover from when this code was (briefly) in some other module. This patch removes the unnecessary qualifications. Tested on x86-64 Fedora 36.
2023-09-26Add two new pretty-printer methodsTom Tromey3-11/+43
This adds two new pretty-printer methods, to support random access to children. The methods are implemented for the no-op array printer, and DAP is updated to use this. Reviewed-By: Eli Zaretskii <eliz@gnu.org>
2023-09-26Introduce gdb.ValuePrinterTom Tromey5-44/+135
There was an earlier thread about adding new methods to pretty-printers: https://sourceware.org/pipermail/gdb-patches/2023-June/200503.html We've known about the need for printer extensibility for a while, but have been hampered by backward-compatibilty concerns: gdb never documented that printers might acquire new methods, and so existing printers may have attribute name clashes. To solve this problem, this patch adds a new pretty-printer tag class that signals to gdb that the printer follows new extensibility rules. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30816 Reviewed-By: Eli Zaretskii <eliz@gnu.org>
2023-09-26Fix a snafu in the new tests for reproducible archives that assumed a umask ↵Nick Clifton2-2/+7
of 22.
2023-09-26[gdb/testsuite] Fix gdb.server/ext-run.exp in containerTom de Vries1-1/+1
When running the gdb testsuite inside a container, I run into: ... (gdb) gdb_expect_list pattern: /1 +root +[/a-z]*(init|systemd)/ FAIL: gdb.server/ext-run.exp: get process list (pattern 2) ... because there's no process with pid 1 and cmd init or systemd. In the host system (where the test passes), I have: ... $ ps -f 1 UID PID PPID C STIME TTY STAT TIME CMD root 1 0 0 Sep25 ? Ss 0:03 /usr/lib/systemd/systemd ... ... but in the container instead: ... UID PID PPID C STIME TTY STAT TIME CMD root 1 0 0 11:45 pts/0 Ss 0:00 /bin/bash ... Fix this by also accepting bash as a valid cmd. Tested on x86_64-linux. Approved-By: Tom Tromey <tom@tromey.com>
2023-09-26aarch64: Allow feature flags to occupy >64 bitsRichard Sandiford1-23/+39
Following on from the previous patch to make the feature macros take a word number, this one increases the number of flag words from 1 to 2. The patch uses some dummy features to push the number of features over 64. The intention is that these should be reused by real features rather than kept as-is.
2023-09-26aarch64: Restructure feature flag handlingRichard Sandiford5-545/+515
The AArch64 feature-flag code is currently limited to a maximum of 64 features. This patch reworks it so that the limit can be increased more easily. The basic idea is: (1) Turn the ARM_FEATURE_FOO macros into an enum, with the enum counting bit positions. (2) Make the feature-list macros take an array index argument (currently always 0). The macros then return the aarch64_feature_set contents for that array index. An N-element array would then be initialised as: { MACRO (0), ..., MACRO (N - 1) } (3) Provide convenience macros for initialising an aarch64_feature_set for: - a single feature - a list of individual features - an architecture version - an architecture version + a list of additional features (2) and (3) use the preprocessor to generate static initialisers. The main restriction was that uses of the same preprocessor macro cannot be nested. So if a macro wants to do something for N individual arguments, it needs to use a chain of N macros to do it. There then needs to be a way of deriving N, as a preprocessor token suitable for pasting. The easiest way of doing that was to precede each list of features by the number of features in the list. So an aarch64_feature_set initialiser for three features A, B and C would be written: AARCH64_FEATURES (3, A, B, C) This scheme makes it difficult to keep AARCH64_FEATURE_CRYPTO as a synonym for SHA2+AES, so the patch expands the former to the latter.
2023-09-26[gdb/dap] Fix dap for python < 3.8Tom de Vries1-1/+5
With any gdb.dap test and python 3.6 I run into: ... Error occurred in Python: 'code' object has no attribute 'co_posonlyargcount' ERROR: eof reading json header ... The attribute is not supported before python 3.8, which introduced the "Positional−only Parameters" concept. Fix this by using try/except AttributeError. Tested on x86_64-linux: - openSUSE Leap 15.4 with python 3.6, and - openSUSE Tumbleweed with python 3.11.5. Approved-By: Tom Tromey <tom@tromey.com>
2023-09-26fbsd-nat: Fix build failure with GCC 12Enze Li1-1/+1
A user pointed out that the build failed on FreeBSD/amd64 with my last commit. The problem is that I'm not using the proper way to tell the compiler that the variable has been "used". This patch fixes this issue as suggested by John. Pushed as obvious. Tested both on FreeBSD/amd64 and FreeBSD/aarch64 by rebuilding. Suggested-By: John Baldwin <jhb@FreeBSD.org>
2023-09-26Fix to step instruction due to P10 prefix instruction.Aditya Vidyadhar Kamath1-1/+5
In AIX, power 10 instructions like paddi occupy 8 bytes, while the other instructions 4 bytes of space. Due to this when we do a stepi on paddi instruction we get a SIGILL interrupt. Hence, we need to check during stepi if we are able to step 8 bytes during this instruction execution and is the breakpoint to this instruction set correctly in both 32- and 64-bit mode. This patch is a fix to the same.
2023-09-26Allow the use of SOURCE_DATE_EPOCH in the timestamps for members of static ↵Nick Clifton7-7/+331
archives. (For some reason this commit was not applied at the time that the patch was approved).
2023-09-26Use string_file::release in some placesTom Tromey2-3/+3
I found a few spots like: string_file f; std::string x = f.string (); However, string_file::string returns a 'const std::string &'... so it seems to me that this must be copying the string (? I find it hard to reason about this in C++). This patch changes these spots to use release() instead, which moves the string. Reviewed-by: Keith Seitz <keiths@redhat.com> Reviewed-by: Lancelot Six <lancelot.six@amd.com>
2023-09-26Automatic date update in version.inGDB Administrator1-1/+1
2023-09-25Fix readelf's display of dwarf v5 range listsVsevolod Alekseyev3-158/+368
PR 30792 * dwarf.h (struct debug_info): Remove range_versions field. * dwarf.c (fetch_indexed_offset): New function. (read_and_display_attr_value): Use it for DW_FORM_rnglistx. Remove code to initialise range_versions. (skip_attribute): New function. (read_bases): Read and reccord all range and address bases in a CU. (process_debug_info): Call read_bases. (display_debug_rnglists): Rename to display_debug_rnglists_unit_header and only display the range list header information. (display_debug_ranges): Adjust.
2023-09-25Revert "arc: Add new GAS tests for ARCv3."Claudiu Zissulescu17-920/+0
This reverts commit 462693a455f04fc52c1c91ffc52ea2446a086444.
2023-09-25Revert "arc: Add new LD tests for ARCv3."Claudiu Zissulescu11-183/+0
This reverts commit 6e467e9a94c1135bd11d985e9263d43204a9258b.
2023-09-25Revert "arc: Add new ARCv3 ISA to BFD."Claudiu Zissulescu17-1592/+824
This reverts commit 06e8d9861d16c5b7e6920ad0e89889ccf45c575a.