diff options
author | Jameson Nash <vtjnash@gmail.com> | 2020-12-18 14:08:53 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2020-12-18 14:09:05 -0500 |
commit | a9e48095a8e595f04042f9455a50ce6acbd5232c (patch) | |
tree | e565f51351b5e51b3b3a234c1066146965768777 /gdb/ChangeLog | |
parent | 86ef42bd7333091725991ba568807fcec0a2c1d1 (diff) | |
download | fsf-binutils-gdb-a9e48095a8e595f04042f9455a50ce6acbd5232c.zip fsf-binutils-gdb-a9e48095a8e595f04042f9455a50ce6acbd5232c.tar.gz fsf-binutils-gdb-a9e48095a8e595f04042f9455a50ce6acbd5232c.tar.bz2 |
gdb: define COFF file offsets with file_ptr
The arguments to these functions are file_ptr, so these declarations
were accidentally implicitly down-casting them to signed int. This
allows for reading files between 2 and 4 GB in size in my testing (I
don't have a larger dll currently to test). These may not be natively
supported by Windows, but can appear when using split-dwarf information.
This solves a "can't get string table" error resulting from attempting
to pass a negative offset to bfd_seek. I encountered this occuring while
trying to use a debug file for libLLVM.dll, but searching online reveals
at least one other person may have run into a similar problem with
Firefox?
https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/CA+cU71k2bU0azQxjy4-77ynQj1O+TKmgtaTKe59n7Bjub1y7Tg@mail.gmail.com/
With this patch, the debug file appears to load successfully and I can
see debug information in gdb for the library.
gdb/ChangeLog:
* coffread.c (linetab_offset): Change type to file_ptr.
(linetab_size): Likewise.
(enter_linenos): Change parameter type to file_ptr.
(init_lineno): Likewise.
(init_stringtab): Likewise.
(coff_symtab_read): Likewise.
(coff_symfile_read): Change variable types to file_ptr.
Change-Id: I6ae3bf31efc51c826734ade6731ea6b1c32129f3
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c7eeb1e..9b7b010 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2020-12-18 Jameson Nash <vtjnash@gmail.com> + + * coffread.c (linetab_offset): Change type to file_ptr. + (linetab_size): Likewise. + (enter_linenos): Change parameter type to file_ptr. + (init_lineno): Likewise. + (init_stringtab): Likewise. + (coff_symtab_read): Likewise. + (coff_symfile_read): Change variable types to file_ptr. + 2020-12-17 Tom Tromey <tromey@adacore.com> * printcmd.c (print_variable_and_value): Don't use n_spaces. |