Age | Commit message (Collapse) | Author | Files | Lines |
|
* compress.c (bfd_is_section_compressed): Don't decompress the
section.
|
|
gdb/ChangeLog:
* ravenscar-sparc-thread.c (ravenscar_sparc_fetch_registers):
Add comments.
|
|
When debugging a program using the Ravenscar profile, the debugger
sometimes tries to send the following packet to the remote after
the inferior exited.
(gdb) c
Continuing.
[...]
Sending packet: $vCont;c:1#13...Ack
Packet received: W00
Sending packet: $Hg1#e0...putpkt: write failed: Broken pipe.
As the inferior exited, the remote has already disconnected, and thus
the operation fails.
The reason why GDB sends the package is because the ravenscar-thread
module tries to updates the list of threads. But this doesn't make
sense, since the program has exited. This patch fixes it.
gdb/ChangeLog:
* ravenscar-thread.c (ravenscar_wait): Only update the list
of threads and inferior_ptid if the inferior is still alive.
|
|
We use a list of regular expressions to match a symtab filenames
against the names of the files in the Ada runtime. These regular
expressions do assume that the filename is a basename, however.
So make sure to evaluate these regular expressions against
the symtab's filename.
Without this patch, we run into problems when the Ada runtime was built
using a project file (through gprbuild).
gdb/ChangeLog:
* ada-lang.c (is_known_support_routine): Use lbasename when
matching the symtab's filename against
known_runtime_file_name_patterns.
|
|
Given the following variable declaration...
Www : Wide_String := "12345";
... this patch allows the following assignment to work:
(gdb) set variable www := "qwert"
Without this patch, the debugger rejects the assignment because
the size of the array elements are different:
(gdb) set www := "asdfg"
Incompatible types in assignment
(on the lhs, we have an array of 2-bytes elements, and on the rhs,
we have a standard 1-byte string).
gdb/ChangeLog:
* ada-lang.c (ada_same_array_size_p): New function.
(ada_promote_array_of_integrals): New function.
(coerce_for_assign): Add handling of arrays where the elements
are integrals of a smaller size than the size of the target
array element type.
gdb/testsuite/ChangeLog:
* gdb.ada/set_wstr: New testcase.
|
|
Assuming the following variable definition:
long double inp = 2.0;
On platforms where "long double" is a double precision IEEE flaoting
point, GDB currently behaves as follow:
(gdb) set variable inp = 1.6e+308l
(gdb) p inp
$2 = inf <<<<---- !!!!
Instead, the value of "inp" should be printed as:
(gdb) p inp
$1 = 1.6e+308
The problem is due to a small error in the comparison of the exponent
versus the maximum value this exponent can take, causing us to think
that the value was too big to fit. But it isn't.
gdb/ChangeLog:
* doublest.c (convert_doublest_to_floatformat): Fix comparison
against maximum exponent value.
gdb/testsuite/ChangeLog:
* gdb.base/ldbl_e308.c, gdb.base/ldbl_e308.exp: New files.
|
|
On x86_64-windows with GCC 4.7 (using native SEH info), the debugger
behaves as follow:
(gdb) catch exception unhandled
Catchpoint 1: unhandled Ada exceptions
(gdb) run
Starting program: C:\[...]\b.exe
Catchpoint 1, unhandled CONSTRAINT_ERROR at 0x000000000040cc57 in _GCC_specific_handler ([...]) at ../../../src/libgcc/unwind-seh.c:289
[...]
This is after compiler the following code:
procedure B is
begin
raise Constraint_Error;
end B;
... using the following command:
% gnatmake -g b
When hitting the exception catchpoint, it should have gone up the stack
all the way until finding the frame corresponding to procedure B.
But if stopped short because unwind-seh.c is compiled with debugging
information, and the debugger is also able to locate that source file.
To prevent this from happening, this patch adds unwind-seh.c to the list
of files that should be ignored, regardless of other factors.
gdb/ChangeLog:
* ada-lang.h (ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS): Add entry for
"unwind-seh.c".
|
|
gdb/ChangeLog:
* ada-lang.c (ada_template_to_fixed_record_type_1): Do not
strip typedef layer when computing the fixed type's field type,
only when computing its size.
gdb/testsuite/ChangeLog:
* gdb.ada/unc_arr_ptr_in_var_rec: New testcase.
|
|
|
|
* i386-tdep.c (i386_return_value): Handle complex double and long
double.
|
|
* gdb.base/callfuncs.exp (do_function_calls): Fix
setup_kfail_for_target for -m32 mode.
|
|
against Mingw64 w32api.
* configure: Regenerate.
|
|
The following works...
% gdb c:\path to exe\foo.exe
(gdb) start
... unless a file or directory called "c:\path" or "c:\path to" exist.
This is what happens in the latter case:
(gdb) start
[...]
Error creating process C:\path to exe\foo.exe (error 193).
This is because we are calling CreateProcess (et al) without specifying
the lpApplicationName, so Windows determines the name of the executable
using the second argument, which is the entire command line. This
command line is a space-separated list of tokens, so the space in
the path to the executable which potentially creates an ambiguity.
The ambiguity is automatically resolved unless we're in the situation
above.
The solution, as suggested by the MSDN documentation for CreateProcess
is to quote the executable name.
gdb/ChangeLog:
* windows-nat.c (windows_create_inferior) [!__CYGWIN__]:
New local variable args_len.
Quote the name of the executable when computing the command line.
|
|
* binutils-all/ar.exp (bfdtest1): Remove findfile.
|
|
include/
* bfdlink.h (bfd_link_info): Add
disable_target_specific_optimizations.
ld/
* ld.h (command_line): Remove
disable_target_specific_optimizations.
(RELAXATION_DISABLED_BY_DEFAULT): Removed.
(RELAXATION_DISABLED_BY_USER): Likewise.
(RELAXATION_ENABLED): Likewise.
(DISABLE_RELAXATION): Likewise.
(ENABLE_RELAXATION): Likewise.
* ldmain.c (main): Updated.
* ldmain.h (RELAXATION_DISABLED_BY_DEFAULT): New macro.
(RELAXATION_DISABLED_BY_USER): Likewise.
(RELAXATION_ENABLED): Likewise.
(DISABLE_RELAXATION): Likewise.
(ENABLE_RELAXATION): Likewise.
|
|
* testsuite/Makefile.am (TEST_OBJCOPY): New macro.
* testsuite/Makefile.in: Regenerate.
* testsuite/dwp_test.h: New source file.
* testsuite/dwp_test_1.cc: New source file.
* testsuite/dwp_test_1.s: New source file.
* testsuite/dwp_test_1.sh: New source file.
* testsuite/dwp_test_1b.cc: New source file.
* testsuite/dwp_test_1b.s: New source file.
* testsuite/dwp_test_2.cc: New source file.
* testsuite/dwp_test_2.s: New source file.
* testsuite/dwp_test_2.sh: New source file.
* testsuite/dwp_test_main.cc: New source file.
* testsuite/dwp_test_main.s: New source file.
|
|
* dwp.h: New header file.
* dwp.cc: New source file.
* gold.h: Move shared declarations to system.h.
* system.h: New header file.
* Makefile.am: Add dwp.
* Makefile.in: Regenerate.
|
|
* dwarf.c (do_debug_addr, do_debug_cu_index): New global flags.
(load_debug_info): Fix typo.
(cu_tu_indexes_read, shndx_pool, shndx_pool_size, shndx_pool_used):
New global variables.
(prealloc_cu_tu_list, add_shndx_to_cu_tu_entry, end_cu_tu_entry)
(process_cu_tu_index, load_cu_tu_indexes, find_cu_tu_set)
(display_cu_index): New functions.
(dwarf_select_sections_by_names): Add "debug_addr", "cu_index".
Sort entries alphabetically.
(dwarf_select_sections_all): Set do_debug_addr, do_debug_cu_index.
(debug_displays): Add .debug_cu_index, .debug_tu_index.
Clean up formatting.
* dwarf.h (dwarf_section_display_enum): Add dwp_cu_index,
dwp_tu_index.
(do_debug_addr, do_debug_cu_index): New global flags.
(find_cu_tu_set): New function declaration.
* objdump.c (usage): Add --dwarf=addr, --dwarf=cu_index.
* readelf.c (find_section_in_set): New function.
(usage): Add --debug-dump=addr, --debug_dump=cu_index.
(process_section_headers): Check do_debug_addr and do_debug_cu_index.
(section_subset): New global variable.
(load_debug_section): Restrict search to section subset.
(display_debug_section): Add section index as paramter. Select subset
of sections when dumping a .dwp file. Update caller.
|
|
|
|
* configure.ac (have_static_libs): Force 'no' for GCC version < 4.5.
* configure: Regenerate.
|
|
|
|
* dwarf_reader.cc (Dwarf_ranges_table::read_range_list): Call
Dwarf_info_reader::read_from_pointer.
(Dwarf_pubnames_table::read_header): Likewise.
(Dwarf_pubnames_table::next_name): Likewise.
(Dwarf_die::read_attributes): Likewise.
(Dwarf_die::skip_attributes): Likewise.
(Dwarf_info_reader::read_from_pointer): New function template.
* dwarf_reader.h (Dwarf_ranges_table): Add dwinfo_.
(Dwarf_pubnames_table): Likewise.
(Dwarf_info_reader::read_from_pointer): New function template.
* gdb-index.cc (Gdb_index_info_reader): Adjust call to
Dwarf_pubnames_table ctor.
|
|
* dwarf_reader.cc (Dwarf_info_reader::do_parse): Use stored
abbrev_shndx.
* dwarf_reader.h (Dwarf_info_reader::Dwarf_info_reader): Initialize
abbrev_shndx_.
(Dwarf_info_reader::set_abbrev_shndx): New method.
(Dwarf_info_reader::abbrev_shndx_): New data member.
|
|
* dwarf_reader.cc (make_elf_reloc_mapper): Check size and endianness
from object, not parameters.
(Dwarf_info_reader::parse): Likewise.
* object.h (Relobj::elfsize, Relobj::is_big_endian): New methods.
(Relobj::do_elfsize, Relobj::do_is_big_endian): New methods.
(Sized_relobj::do_elfsize, Sized_relobj::do_is_big_endian): New
methods.
|
|
* fileread.cc (Input_file::Input_file): New constructor.
* fileread.h (class Input_file): Add new constructor.
|
|
are now fixed.
|
|
PR gdb/12798
PR gdb/12800
* amd64-tdep.h (enum amd64_regnum): Add AMD64_ST1_REGNUM and
AMD64_FTAG_REGNUM.
* amd64-tdep.c (amd64_classify): Classify complex types.
(amd64_return_value): Handle the COMPLEX_X87 class.
|
|
* readelf.c (get_note_type): Handle NT_SIGINFO, NT_FILE.
(print_core_note): New function.
(process_note): Call it.
include/common/elf
* common.h (NT_SIGINFO, NT_FILE): New defines.
|
|
* gdb.base/info-os.exp: Resume the inferior until it exits.
|
|
On ppc-aix, type wchar_t is 2 bytes long, so override the default
target-wide-charset (UTF-32) with UTF-16. This allows us to print
wide characters correctly.
gdb/ChangeLog:
* rs6000-aix-tdep.c (rs6000_aix_auto_wide_charset): New function.
(rs6000_aix_init_osabi): Set auto_wide_charset gdbarch method.
|
|
Type wchar_t is only 2 bytes long on x86_64-windows.
gdb/ChangeLog:
* amd64-windows-tdep.c (amd64_windows_auto_wide_charset): New
function.
(amd64_windows_init_abi): Set auto_wide_charset gdbarch method
to amd64_windows_auto_wide_charset.
|
|
* bfd-in.h (bfd_elf_stack_segment_size): Declare.
* bfd-in2.h: Rebuilt.
* elfxx-target.h (elf_backend_stack_align): New.
(elfNN_bed): Add it.
* elf-bfd.h (struct elf_backend_data): Add stack_align field.
* elf.c (bfd_elf_map_sections_to_segments): Pay attention to
stack_align and stacksize for PT_GNU_STACK segment.
(assign_file_positions_for_non_load_sections): Set p_memsz for
PT_GNU_STACK segment.
(copy_elf_program_header): Copy PT_GNU_STACK size.
* elflink.c (bfd_elf_stack_segment_size): New function, taken from
uclinux backends.
(bfd_elf_size_dynamic_sections): Determine
PT_GNU_STACK requirements after calling backend. Pay attention to
stacksize.
* elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Call
bfd_elf_stack_segment_size.
(elf32_bfinfdpic_modify_program_headers): Delete.
(elf32_bfingfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK
here.
(elf_backend_stack_align): Override.
(elf_backend_modify_program_headers): Don't override.
* elf32-frv.c (frvfdpic_always_size_sections): Call
bfd_elf_stack_segment_size.
(elf32_frvfdpic_modify_program_headers): Delete.
(elf32_frvfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK
here.
(elf_backend_stack_align): Override.
(elf_backend_modify_program_headers): Don't override.
* elf32-lm32.c (lm32_elf_always_size_sections): Leave
PT_GNU_STACK creation to underlying elf support. Check
__stacksize here for backwards compatibility, and set it if
needed.
(lm32_elf_modify_segment_map): Delete.
(lm32_elf_modify_program_headers): Delete.
(elf_backend_stack_align): Override.
(elf_backend_modify_segment_map): Don't override.
(elf_backend_modify_program_headers): Don't override.
* elf32-sh.c (sh_elf_always_size_sections): Call
bfd_elf_stack_segment_size.
(sh_elf_modify_program_headers): Delete.
(sh_elf_copy_private_data): Don't copy PT_GNU_STACK
here.
(elf_backend_stack_align): Override.
(elf_backend_modify_program_headers): Don't override.
* elf32-tic6x.c (elf32_tic6x_always_size_sections): Call
bfd_elf_stack_segment_size.
(elf32_tic6x_modify_program_headers): Delete.
(elf32_tic6x_copy_private_data): Delete.
(elf_backend_stack_align): Override.
(bfd_elf32_bfd_copy_private_bfd_data): Don't override.
(elf_backend_modify_program_headers): Don't override.
include/
* bfdlink.h (struct bfd_link_info): Add stacksize option.
ld/
* ld.texinfo (stack-size): New option.
* emultempl/elf32.em: Add stack-size option.
ld/testsuite/
* ld-elf/binutils.exp: Add -z stack-size=0.
* ld-elf/elf.exp: Add stack-exec and stack-size tests.
* ld-elf/orphan-region.d: Add stack-size option. Remove xfail.
* ld-elf/stack-exec.rd: New.
* ld-elf/stack-size.rd: New.
* ld-elf/stack.s: New.
* ld-scripts/empty-aligned.d: Add stack-size option.
* ld-sh/fdpic-stack-set.d: New.
* ld-tic6x/shlib-1.rd: Remove __stacksize symbol.
* ld-tic6x/shlib-1b.rd: Likewise.
* ld-tic6x/shlib-1r.rd: Likewise.
* ld-tic6x/shlib-1rb.rd: Likewise.
* ld-tic6x/shlib-app-1.rd: Likewise.
* ld-tic6x/shlib-app-1b.rd: Likewise.
* ld-tic6x/shlib-app-1r.rd: Likewise.
* ld-tic6x/shlib-app-1rb.rd: Likewise.
* ld-tic6x/shlib-noindex.rd: Likewise.
* ld-tic6x/static-app-1.rd: Likewise.
* ld-tic6x/static-app-1b.rd: Likewise.
* ld-tic6x/static-app-1r.rd: Likewise.
* ld-tic6x/static-app-1rb.rd: Likewise.
|
|
* event-top.c (mark_async_signal_handler_wrapper): Remove.
* event-top.h: Remove its declaration.
(async_request_quit): Call mark_async_signal_handler instead of
mark_async_signal_handler_wrapper.
(async_do_nothing, async_disconnect): Likewise.
(async_stop_sig): Likewise.
* remote.c (handle_remote_sigint): Likewise.
(handle_remote_sigint_twice): Likewise.
|
|
* event-top.c (sigint_token, sighup_token): Replace 'void *'
with 'static struct async_signal_handler *'.
(sighup_token, sigquit_token, sigstp_token): Likewise.
|
|
|
|
|
|
* ppc-opc.c (powerpc_opcodes) <vcfpsxws>: Fix opcode spelling.
gas/testsuite/
* gas/ppc/altivec.s <vcfpsxws>: Fix opcode spelling.
|
|
* gdbarch.sh (function_list): Use 'pstring' when printing a
variable which could return NULL.
* gdbarch.c: Regenerate.
|
|
PR ld/14426
* bfdlink.h (bfd_link_info): Add ignore_hash.
ld/
PR ld/14426
* ldlex.h (option_values): Add OPTION_IGNORE_UNRESOLVED_SYMBOL.
* lexsup.c (parse_args): Likewise.
(ld_options): Describe --ignore-unresolved-symbol.
* ldmain.h (add_ignoresym): Declare.
* ldmain.c (add_ignoresym): New function, extracted from..
(undefined_symbol): ..here. Return if the symbol is in ignore_hash.
(constructor_callback): Don't use global link_info here.
(reloc_overflow): Likewise.
|
|
current sbrk(0) and start_sbrk.
* (main): Set start_sbrk to sbrk(0) on entry.
|
|
* Makefile.tpl (STAGE1_FLAGS_TO_PASS): New variable.
(all-[+prefix+][+module+]): Pass stage1_args to sub-makes.
(all-stage[+id+]-[+prefix+][+module+]): Likewise, if prev is false.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, if prev is false.
(host_modules): Set stage1_args to STAGE1_FLAGS_TO_PASS.
* Makefile.in: Regenerate.
* configure.ac (have_static_libs): New variable and associated check.
(stage1-ldflags): Move to after stage1_libs and set to -static-libstdc++
-static-libgcc if stage1_libs is empty and have_static_libs is yes.
* configure: Regenerate.
|
|
|
|
|
|
|
|
|
|
* binutils-all/dw2-1.W: Updated.
|
|
* objdump.c (dump_dwarf): Handle bfd_mach_x64_32 and
bfd_mach_x64_32_intel_syntax.
|
|
* compress.c (bfd_cache_section_contents): New function.
* bfd-in2.h: Regenerate.
binutils/
* objdump.c (load_specific_debug_section): Use
bfd_cache_section_contents.
|
|
|
|
no-longer-global symbol entered as a BFD_PLUGIN.
|