112931 Commits

Author SHA1 Message Date
fbee47e0b5 Use require gdb_trace_common_supports_arch
This changes some tests to use "require gdb_trace_common_supports_arch".
2023-01-13 13:18:56 -07:00
f40c0f9cab Use require gdb_skip_xml_test
This changes some tests to use "require gdb_skip_xml_test".
2023-01-13 13:18:56 -07:00
e5bf39c507 Use require !gdb_debug_enabled
This changes some tests to use "require !gdb_debug_enabled".
2023-01-13 13:18:56 -07:00
402c744761 Use require is_c_compiler_gcc
This changes some tests to use "require is_c_compiler_gcc".
2023-01-13 13:18:56 -07:00
78a1c061b2 Use require !skip_shlib_tests
This changes some tests to use "require !skip_shlib_tests".  This patch
cleans up a few spots that were missed in the earlier patch.
2023-01-13 13:18:56 -07:00
ba16d4d85f Use require !skip_gdbserver_tests
This changes some tests to use "require !skip_gdbserver_tests".
2023-01-13 13:18:56 -07:00
604f757b6d Use require isnative
This changes some tests to use "require isnative".
2023-01-13 13:18:56 -07:00
06e93b057c Use require can_spawn_for_attach
This changes some tests to use "require can_spawn_for_attach".
2023-01-13 13:18:56 -07:00
8ce7423fda Use require !use_gdb_stub
This changes some tests to use "require !use_gdb_stub".
2023-01-13 13:18:56 -07:00
1b1f4ab760 Use require support_go_compile
This changes some tests to use "require support_go_compile".
2023-01-13 13:18:56 -07:00
5f3ef82813 Use require supports_get_siginfo_type
This changes some tests to use "require supports_get_siginfo_type".
2023-01-13 13:18:56 -07:00
b7e1107003 Use require can_single_step_to_signal_handler
This changes some tests to use "require can_single_step_to_signal_handler".
2023-01-13 13:18:56 -07:00
28343f921b Use require is_elf_target
This changes some tests to use "require is_elf_target".
2023-01-13 13:18:56 -07:00
9eeafef372 Use require is_amd64_regs_target
This changes some tests to use "require is_amd64_regs_target".
2023-01-13 13:18:56 -07:00
abdc86caeb Use require is_aarch32_target
This changes some tests to use "require is_aarch32_target".
2023-01-13 13:18:56 -07:00
d9050fb8fa Use require is_aarch64_target
This changes some tests to use "require is_aarch64_target".
2023-01-13 13:18:55 -07:00
0a7043e0c5 Use require support_displaced_stepping
This changes some tests to use "require support_displaced_stepping".
2023-01-13 13:18:55 -07:00
2a90424099 Use require !skip_avx_*
This changes some tests to use "require" with !skip_avx_*.
2023-01-13 13:18:55 -07:00
6848695de2 Use require !skip_btrace_tests
This changes some tests to use "require !skip_btrace_tests".
2023-01-13 13:18:55 -07:00
ede8c648c4 Use require !skip_btrace_pt_tests
This changes some tests to use "require !skip_btrace_pt_tests" and
"require !skip_tsx_tests".
2023-01-13 13:18:55 -07:00
37c3d17ab7 Use require !skip_aarch64_sve_tests
This changes some tests to use "require !skip_aarch64_sve_tests".
2023-01-13 13:18:55 -07:00
caab91aebb Use require !skip_ifunc_tests
This changes some tests to use "require !skip_ifunc_tests".
2023-01-13 13:18:55 -07:00
7c1a12b3e8 Use require !skip_hw_watchpoint_tests
This changes some tests to use "require !skip_hw_watchpoint_tests".
2023-01-13 13:18:55 -07:00
c76fbc7fc3 Use require !skip_ctf_tests
This changes some tests to use "require !skip_ctf_tests".
2023-01-13 13:18:55 -07:00
1952d8b042 Use require !skip_d_tests
This changes some tests to use "require !skip_d_tests".
2023-01-13 13:18:55 -07:00
0c2a02481a Use require !skip_go_tests
This changes some tests to use "require !skip_go_tests".
2023-01-13 13:18:55 -07:00
d3f81254e5 Use require !skip_ada_tests
This changes some tests to use "require !skip_ada_tests".
2023-01-13 13:18:55 -07:00
8d0278eb40 Use require !skip_fortran_tests
This changes some tests to use "require !skip_fortran_tests".
2023-01-13 13:18:55 -07:00
a9145b105e Use require !skip_rust_tests
This changes some tests to use "require !skip_rust_tests".
2023-01-13 13:18:55 -07:00
c89196229b Use require !skip_stl_tests
This changes some tests to use "require !skip_stl_tests".
2023-01-13 13:18:55 -07:00
b47c999618 Use require !skip_dlmopen_tests
This changes some tests to use "require !skip_dlmopen_tests".
2023-01-13 13:18:55 -07:00
980d95b48c Use require !skip_shlib_tests
This changes some tests to use "require !skip_shlib_tests".
2023-01-13 13:18:55 -07:00
7978d474f2 Use require !skip_cplus_tests
This changes some tests to use "require !skip_cplus_tests".
2023-01-13 13:18:55 -07:00
18d2b8767a Use require is_x86_like_target
This changes some tests to use "require is_x86_like_target".
2023-01-13 13:18:55 -07:00
ce8d533e88 Use require dwarf2_support
This changes some tests to use "require dwarf2_support".
2023-01-13 13:18:55 -07:00
ade3e4f5b1 Use require supports_process_record
This changes some tests to use "require supports_process_record".
2023-01-13 13:18:55 -07:00
5954db83d1 Use require supports_reverse
This changes some tests to use "require supports_reverse".
2023-01-13 13:18:55 -07:00
fc5ab4bc44 Use unsupported in 'require'
This changes 'require' to use 'unsupported' rather than 'untested'.
The latter doesn't really seem to be correct according to the DejaGNU
documentation:

    Declares a test was not run.  `untested' writes in the log file a
    message beginning with _UNTESTED_, appending the `message' argument.
    For example, you might use this in a dummy test whose only role is to
    record that a test does not yet exist for some feature.

The example there, and some text elsewhere, is what makes me think
this isn't a great fit.  On the other hand, 'unsupported' says:

    Declares that a test case depends on some facility that does not exist
    in the testing environment.
2023-01-13 13:18:54 -07:00
793862d2f4 Change 'require' to accept a list of predicates
This changes 'require' to accept a list of simple predicates.  For
now, each predicate is just the name of a proc, optionally prefixed
with "!" to indicate that the result should be inverted.

It's possible to make this fancier, but so far I haven't done so.  One
idea I had is to allow a predicate to have associated text to display
on failure.  Another is to convert the predicates that need a running
gdb (e.g., skip_python_tests) to start their own gdb, and then
'require' could enforce the rule that gdb not be running when it is
called.
2023-01-13 13:18:54 -07:00
15bdcf4ca1 Don't use ensure_gdb_index with require
This series changes 'require' to take a list of simple predicates.
This patch backs out the one use of 'require' that doesn't conform to
this -- calling ensure_gdb_index.
2023-01-13 13:18:54 -07:00
c2a5d74050 gprofng: PR29987 bfd/archive.c:1447: undefined reference to `filename_ncmp'
gprofng/ChangeLog
2023-01-12  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

	PR gprofng/29987
	* configure.ac: Remove dependencies on libbfd and libiberty.
	* gprofng/src/Makefile.am: Likewise.
	* configure: Rebuild.
	* Makefile.in: Rebuild.
	* src/Makefile.in: Rebuild.
	* doc/Makefile.in: Rebuild.
	* gp-display-html/Makefile.in: Rebuild.
2023-01-13 11:54:08 -08:00
68e0003e12 libsframe: replace an strncat with strcat
Calling strncat with the size of the src string is not so meaningful.
The length argument to strncat should specify the remaining bytes
bytes in the destination; although in this case, it appears to be
unncessary altogether to use strncat in the first place.

libsframe/
        * sframe-dump.c (dump_sframe_func_with_fres): Use of strcat is
	just as fine.
2023-01-13 11:15:43 -08:00
027d8f7848 gdbserver: add comments to read_inferior_memory function
Just adding some comments to the gdbserver read_inferior_memory
function.  No actual code changes.
2023-01-13 16:41:05 +00:00
bb0797528b gdb/infrun: add debug print in print_signal_received_reason
It would have helped me to see an infrun debug line being printed from
print_signal_received_reason, so I'm adding one.
2023-01-13 16:36:17 +00:00
8dd08de7e4 gdb: int to bool conversion for normal_stop
Change the return type of normal_stop (infrun.c) from int to bool.
Update callers.

I've also converted the (void) to () in the function declaration and
definition, given I was changing those lines anyway.

There should be no user visible changes after this commit.
2023-01-13 16:34:10 +00:00
6f9f448118 Updated Romainian translation for the bfd sub-directory 2023-01-13 11:42:33 +00:00
81c0c22bc8 Automatic date update in version.in 2023-01-13 00:00:21 +00:00
0c1aa2a095 Disable ptype/o for dynamic types
A user pointed out that "ptype/o" of a certain Ada type -- while in C
mode -- caused gdb to crash.

The bug here is that dynamic types can't really be printed this way.
This patch avoids the bug by disabling the "/o" feature in this case.

Note that using "ptype/o" in this way makes sense for the time being,
because the Ada code doesn't support the "/o" feature (yet); and in
any case gdb should not crash.
2023-01-12 12:15:41 -07:00
1a26a53a0d ARM: Fix ld bloat introduced between binutils-2.38 and 2.39
Since commit 9833b7757d24, "PR28824, relro security issues",
ELF_MAXPAGESIZE matters much more, with regards to layout of
the linked file.  That commit fixed an actual bug, but also
exposes a problem for targets were that value is too high.

For example, for ARM(32, a.k.a. "Aarch32") specifically
bfd_arch_arm, it's set to 64 KiB, making all Linux(/GNU)
targets pay an extra amount of up to 60 KiB of bloat in
DSO:s and executables.  This matters when there are many
such files, and where storage is expensive.

It's *mostly* bloat when using a Linux kernel, as ARM(32) is
a good example of an target where ELF_MAXPAGESIZE is set to
an extreme value for an obscure corner-case.  The ARM
(32-bit) kernel has 4 KiB pages, has had that value forever,
and can't be configured to any other value.  The use-case is
IIUC "Aarch32" emulation on an "Aarch64" (arm64) kernel, but
not just that, but a setup where the Linux page-size is
configured to something other than the *default* 4 KiB.  Not
sure there actually any such systems in use, again with
both Aarch32 compatibility support and a non-4KiB pagesize,
with all the warnings in the kernel config and requiring the
"EXPERT" level set on.

So, let's do like x86-64 in a2267dbfc9e1 "x86-64: Use only
one default max-page-size" and set ELF_MAXPAGESIZE to 4096.

bfd:
	* elf32-arm.c (ELF_MAXPAGESIZE): Always set to 0x1000.
2023-01-12 17:25:18 +01:00
b305015577 ld/testsuite: Adjust for ELF_MAXPAGESIZE 0x1000
Many tests reflect a setting of ELF_MAXPAGESIZE to 64 KiB.
With ELF_MAXPAGESIZE changed to 4 KiB, layout is sometimes
different and symbols end up in other places.  Avoid churn
and regexpification of old test patterns by passing the
max-page-size setting active at the time.

ld/testsuite:

	* testsuite/ld-arm/arm-elf.exp,
        testsuite/ld-arm/non-contiguous-arm2.d,
        testsuite/ld-arm/non-contiguous-arm3.d,
        testsuite/ld-arm/non-contiguous-arm5.d,
        testsuite/ld-arm/non-contiguous-arm6.d,
        testsuite/ld-arm/thumb-plt-got.d, testsuite/ld-arm/thumb-plt.d:
	Pass -z max-page-size=0x10000 explicitly to test that rely on
	that value in output-matching patterns.
2023-01-12 17:24:43 +01:00