Package: gdb / 8.2.1-2

Metadata

Package Version Patches format
gdb 8.2.1-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
gdb fortran main.patch | (download)

gdb/symtab.c | 9 7 + 2 - 0 !
gdb/testsuite/gdb.fortran/lang.exp | 40 40 + 0 - 0 !
2 files changed, 47 insertions(+), 2 deletions(-)

 gdb-fortran-main

Daniel,

Although the proper way of adding case insensitivity to symbol lookup is 
still under discussion, I think it might be desirable to set the main 
function of Fortran programs to "MAIN__" first.  Because it can at least 
let GDB recognize that the language is Fortran after loading a Fortran 
executable only.  What is your idea on this?  Please comments.  TIA!

Here is the patch to set the main function in Fortran programs to 
"MAIN__".  And followed is a patch to verify this.  Tested with g77 and 
gfortran on x86, and g77 on ppc64.  With the first patch, it reported 
PASS; without, report FAIL.  No regression is found in gdb.fortran 
testcases.  

P.S: if there is a symbol named "MAIN__" in sources of other languages, it 
might disturb the debugging.  But I am not sure how much it is.

solve_PATH_MAX_issue.patch | (download)

gdb/nto-tdep.c | 12 9 + 3 - 0 !
1 file changed, 9 insertions(+), 3 deletions(-)

 patch out a path_max usage, for hurd's benefit
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

gdb 6.5 bz185337 resolve tls without debuginfo v2.patch | (download)

gdb/printcmd.c | 6 5 + 1 - 0 !
gdb/testsuite/gdb.dwarf2/dw2-errno.c | 28 28 + 0 - 0 !
gdb/testsuite/gdb.dwarf2/dw2-errno.exp | 60 60 + 0 - 0 !
gdb/testsuite/gdb.dwarf2/dw2-errno2.c | 28 28 + 0 - 0 !
gdb/testsuite/gdb.dwarf2/dw2-errno2.exp | 71 71 + 0 - 0 !
5 files changed, 192 insertions(+), 1 deletion(-)

 gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2

Bug-Debian: http://bugs.debian.org/581707
Bug-Redhat: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=185337
python config.patch | (download)

gdb/configure | 106 100 + 6 - 0 !
gdb/configure.ac | 14 8 + 6 - 0 !
2 files changed, 108 insertions(+), 12 deletions(-)

 use system python-config if available

gdb glibc vdso workaround.patch | (download)

gdb/solib.c | 7 5 + 2 - 0 !
1 file changed, 5 insertions(+), 2 deletions(-)

 [rfc] work around pr libc/13097 "linux-vdso.so.1" #2

Hi,

missed the x86_64-m32 case:

gdb/
2011-08-16  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Work around PR libc/13097.
	* solib.c (update_solib_list): Ignore "linux-vdso.so.1".

load versioned libcc1.patch | (download)

include/gcc-c-interface.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 load-versioned-libcc1

* d/p/load-versioned-libcc1.patch:
  - load libcc1.so.0 instead unversioned file.

* d/p/load-versioned-libcc1.patch:
  - load libcc1.so.0 instead unversioned file.
gdb_configure.nat.patch | (download)

gdb/configure.nat | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 gdb_configure.nat

===================================================================

gdb PATH_MAX.patch | (download)

gdb/remote.c | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 gdb-path_max

===================================================================

gnu nat.c.patch | (download)

gdb/gnu-nat.c | 21 14 + 7 - 0 !
1 file changed, 14 insertions(+), 7 deletions(-)

 gnu-nat.c

===================================================================

struct thread_info.patch | (download)

gdb/breakpoint.c | 2 1 + 1 - 0 !
gdb/infcmd.c | 4 2 + 2 - 0 !
gdb/linux-tdep.c | 2 1 + 1 - 0 !
gdb/mi/mi-main.c | 2 1 + 1 - 0 !
gdb/progspace-and-thread.c | 2 1 + 1 - 0 !
gdb/python/py-record-btrace.c | 8 4 + 4 - 0 !
gdb/remote.c | 6 3 + 3 - 0 !
gdb/thread.c | 22 11 + 11 - 0 !
8 files changed, 24 insertions(+), 24 deletions(-)

 struct-thread_info

===================================================================

0001 Import patch to fix PR23919 from the mainline.patch | (download)

bfd/ChangeLog | 28 28 + 0 - 0 !
bfd/bfd-in2.h | 6 4 + 2 - 0 !
bfd/bfd.c | 21 16 + 5 - 0 !
bfd/compress.c | 37 27 + 10 - 0 !
bfd/elf.c | 4 3 + 1 - 0 !
5 files changed, 78 insertions(+), 18 deletions(-)

 import patch to fix pr23919 from the mainline.
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

	PR binutils/23919
bfd	* bfd.c (bfd_update_compression_header): Explicitly set alignment.
	(bfd_check_compression_header): Add uncompressed_alignment_power
	argument. Check ch_addralign is a power of 2.
	* bfd-in2.h: Regenerated.
	* compress.c (bfd_compress_section_contents): Get and set
	orig_uncompressed_alignment_pow if section is decompressed.
	(bfd_is_section_compressed_with_header): Add and get
	uncompressed_align_pow_p argument.
	(bfd_is_section_compressed): Add uncompressed_align_power argument
	to bfd_is_section_compressed_with_header call.
	(bfd_init_section_decompress_status): Get and set
	uncompressed_alignment_power.
	* elf.c (_bfd_elf_make_section_from_shdr): Add
	uncompressed_align_power argument to
	bfd_is_section_compressed_with_header call.

	* compress.c (bfd_is_section_compressed_with_header): Initialize
	* uncompressed_align_pow_p to 0.

binutils* readelf.c (dump_sections_as_strings): Remove bogus addralign check.
	(dump_sections_as_bytes): Likewise.
	(load_specific_debug_sections): Likewise.
	* testsuite/binutils-all/dw2-3.rS: Adjust alignment.
	* testsuite/binutils-all/dw2-3.rt: Likewise.

gold	* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
	Get addralign from decompressed_section_contents.
	* object.cc (build_compressed_section_map): Set info.addralign.
	(Object::decompressed_section_contents): Add a palign
	argument and store p->second.addralign in *palign if it isn't
	NULL.
	* object.h (Compressed_section_info): Add addralign.
	(section_is_compressed): Add a palign argument, default it
	to NULL, store p->second.addralign in *palign if it isn't NULL.
	(Object::decompressed_section_contents): Likewise.
	* output.cc (Output_section::add_input_section): Get addralign
	from section_is_compressed.

Signed-off-by: Héctor Orón Martínez <zumbi@debian.org>

gdb rhbz1560010 fix assertion symbol language dict language 1of5.patch | (download)

gdb/dictionary.c | 554 486 + 68 - 0 !
gdb/dictionary.h | 15 15 + 0 - 0 !
2 files changed, 501 insertions(+), 68 deletions(-)

 
 gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-1of5.patch

;; Fix 'Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed.'
;; Keith Seitz, RHBZ#1560010.

gdb/23712: Introduce multidictionary's

gdb/23712 is a new manifestation of the now-infamous (at least to me)
symtab/23010 assertion failure (DICT_LANGUAGE == SYMBOL_LANGAUGE).

An example of the problem (using test case from symtab/23010):

Reading symbols from /home/rdiez/rdiez/arduino/JtagDue/BuildOutput/JtagDue-obj-release/firmware.elf...done.
(gdb) p SysTick_Handler
dwarf2read.c:9715: internal-error: void dw2_add_symbol_to_list(symbol*, pending**): Assertion `(*listhead) == NULL || (SYMBOL_LANGUAGE ((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)

This assertion was added specifically to catch this condition (of adding
gdb rhbz1560010 fix assertion symbol language dict language 2of5.patch | (download)

gdb/block.c | 31 17 + 14 - 0 !
gdb/block.h | 8 4 + 4 - 0 !
gdb/buildsym.c | 30 14 + 16 - 0 !
gdb/dictionary.h | 119 60 + 59 - 0 !
gdb/jit.c | 10 4 + 6 - 0 !
gdb/mdebugread.c | 8 4 + 4 - 0 !
gdb/objfiles.c | 64 32 + 32 - 0 !
gdb/symmisc.c | 6 3 + 3 - 0 !
8 files changed, 138 insertions(+), 138 deletions(-)

 
 gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-2of5.patch

;; Fix 'Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed.'
;; Keith Seitz, RHBZ#1560010.

gdb/23712: Use new multidictionary API

This patch builds on the previous by enabling the `new' multidictionary
API.  A lot of the hunks are simply textual replacements of "dict_"
with "mdict_" and similar transformations.

A word of warning, even with the use of multidictionaries, the code
still does not satisfactorily fix the reported problems with gdb/23712
(or gdb/23010). We still have additional changes to make before that
happens.

gdb/ChangeLog:

	PR gdb/23712
	PR symtab/23010
	* dictionary.h (struct dictionary): Replace declaration with
	multidictionary.
	(dict_create_hashed, dict_create_hashed_expandable)
	(dict_create_linear, dict_create_linear_expandable)
	(dict_free, dict_add_symbol, dict_add_pending, dict_empty)
	(dict_iterator_first, dict_iterator_next, dict_iter_match_first)
	(dict_iter_match_next, dict_size): Rename to "mdict_" versions
	taking multidictionary argument.
	[ALL_DICT_SYMBOLS]: Update for multidictionary.
	* block.h (struct block) <dict>: Change to multidictionary
	and rename `multidict'.
	* block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c,
	symmisc.c: Update all dictionary references to multidictionary.

gdb rhbz1560010 fix assertion symbol language dict language 3of5.patch | (download)

gdb/dictionary.c | 97 23 + 74 - 0 !
1 file changed, 23 insertions(+), 74 deletions(-)

 
 gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-3of5.patch

;; Fix 'Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed.'
;; Keith Seitz, RHBZ#1560010.

gdb/23712: Cleanup/Remove temporary dictionary functions

Now that multidictionary's are being used, there is no longer any need
to retain the four temporary functions introduced in the beginning of
this series.

This patch removes them.

As an additional cleanup, since the single-language dictionaries are
no longer used outside dictionary.c, make all of those functions
static.

gdb/ChangeLog:

	PR gdb/23712
	PR symtab/23010
	* dictionary.c (pending_to_vector): Remove.
	(dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
	Remove _1 suffix, replacing functions of the same name.  Update
	all callers.
	(dict_create_hashed, dict_create_hashed_expandable)
	(dict_create_linear, dict_create_linear_expandable, dict_free)
	(dict_add_symbol, dict_add_pending, dict_size, dict_empty):
	Make functions static.

gdb rhbz1560010 fix assertion symbol language dict language 4of5.patch | (download)

gdb/dwarf2read.c | 25 4 + 21 - 0 !
1 file changed, 4 insertions(+), 21 deletions(-)

 
 gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-4of5.patch

;; Fix 'Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed.'
;; Keith Seitz, RHBZ#1560010.

gdb/23712: Remove dw2_add_symbol_to_list

Finally, we can remove dw2_add_symbol_to_list since the wrapper function
originally introduced to catch this multi-language scenario is no longer
needed.  With multi-language dictionaries, we can now support adding
symbols of multiple languages, negating the need for the assertion
entirely.

This patch should now fix gdb/23712 (and symtab/23010).  At least it will
if the NULL buildsym_compunit problem doesn't strike first (see gdb/23773).

gdb/ChangeLog:

	PR gdb/23712
	PR symtab/23010
	* dwarf2read.c (dw2_add_symbol_to_list): Remove.
	(fixup_go_packaging, new_symbol): Use add_symbol_to_list.

gdb rhbz1560010 fix assertion symbol language dict language 5of5.patch | (download)

gdb/testsuite/gdb.dwarf2/multidictionary.exp | 157 157 + 0 - 0 !
1 file changed, 157 insertions(+)

 
 gdb-rhbz1560010-fix-assertion-symbol-language-dict-language-5of5.patch

;; Fix 'Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed.'
;; Keith Seitz, RHBZ#1560010.

gdb/23712: Test case for multidictionary

This is a test derived from one of the reproducers in symtab/23010.
The DIE tree used here is typical of compilations with LTO, where an
artificial parent DIE of language C99 imports DIEs of other languages.

gdb/testsuite/ChangeLog:

	PR gdb/23712
	PR symtab/23010
	* gdb.dwarf2/multidictionary.exp: New file.

gdb_bsd kvm.c.diff | (download)

gdb/bsd-kvm.c | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

---