tm.texi: Update.
gcc * doc/tm.texi: Update. * doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>: Add @hook. * target.def (want_debug_pub_sections): New hook. * config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define. * dwarf2out.c (add_pubname_string): Check targetm.want_debug_pub_sections. (add_pubname): Likewise. (add_pubtype): Likewise. gcc/testsuite * g++.dg/debug/dwarf2/pubnames-1.C: Make darwin-specific. From-SVN: r161924
This commit is contained in:
parent
f5d5226b3d
commit
9730bc27c9
|
@ -1,3 +1,15 @@
|
||||||
|
2010-07-07 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* doc/tm.texi: Update.
|
||||||
|
* doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
|
||||||
|
Add @hook.
|
||||||
|
* target.def (want_debug_pub_sections): New hook.
|
||||||
|
* config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
|
||||||
|
* dwarf2out.c (add_pubname_string): Check
|
||||||
|
targetm.want_debug_pub_sections.
|
||||||
|
(add_pubname): Likewise.
|
||||||
|
(add_pubtype): Likewise.
|
||||||
|
|
||||||
2010-07-07 Jie Zhang <jie@codesourcery.com>
|
2010-07-07 Jie Zhang <jie@codesourcery.com>
|
||||||
|
|
||||||
* genautomata.c (output_automata_list_min_issue_delay_code):
|
* genautomata.c (output_automata_list_min_issue_delay_code):
|
||||||
|
|
|
@ -471,6 +471,8 @@ extern GTY(()) int darwin_ms_struct;
|
||||||
#define DEBUG_STR_SECTION "__DWARF,__debug_str,regular,debug"
|
#define DEBUG_STR_SECTION "__DWARF,__debug_str,regular,debug"
|
||||||
#define DEBUG_RANGES_SECTION "__DWARF,__debug_ranges,regular,debug"
|
#define DEBUG_RANGES_SECTION "__DWARF,__debug_ranges,regular,debug"
|
||||||
|
|
||||||
|
#define TARGET_WANT_DEBUG_PUB_SECTIONS true
|
||||||
|
|
||||||
/* When generating stabs debugging, use N_BINCL entries. */
|
/* When generating stabs debugging, use N_BINCL entries. */
|
||||||
|
|
||||||
#define DBX_USE_BINCL
|
#define DBX_USE_BINCL
|
||||||
|
|
|
@ -9278,6 +9278,10 @@ line debug info sections. This will result in much more compact line number
|
||||||
tables, and hence is desirable if it works.
|
tables, and hence is desirable if it works.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
|
@deftypevr {Target Hook} bool TARGET_WANT_DEBUG_PUB_SECTIONS
|
||||||
|
True if the @code{.debug_pubtypes} and @code{.debug_pubnames} sections should be emitted. These sections are not used on most platforms, and in particular GDB does not use them.
|
||||||
|
@end deftypevr
|
||||||
|
|
||||||
@defmac ASM_OUTPUT_DWARF_DELTA (@var{stream}, @var{size}, @var{label1}, @var{label2})
|
@defmac ASM_OUTPUT_DWARF_DELTA (@var{stream}, @var{size}, @var{label1}, @var{label2})
|
||||||
A C statement to issue assembly directives that create a difference
|
A C statement to issue assembly directives that create a difference
|
||||||
@var{lab1} minus @var{lab2}, using an integer of the given @var{size}.
|
@var{lab1} minus @var{lab2}, using an integer of the given @var{size}.
|
||||||
|
|
|
@ -9277,6 +9277,8 @@ line debug info sections. This will result in much more compact line number
|
||||||
tables, and hence is desirable if it works.
|
tables, and hence is desirable if it works.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
|
@hook TARGET_WANT_DEBUG_PUB_SECTIONS
|
||||||
|
|
||||||
@defmac ASM_OUTPUT_DWARF_DELTA (@var{stream}, @var{size}, @var{label1}, @var{label2})
|
@defmac ASM_OUTPUT_DWARF_DELTA (@var{stream}, @var{size}, @var{label1}, @var{label2})
|
||||||
A C statement to issue assembly directives that create a difference
|
A C statement to issue assembly directives that create a difference
|
||||||
@var{lab1} minus @var{lab2}, using an integer of the given @var{size}.
|
@var{lab1} minus @var{lab2}, using an integer of the given @var{size}.
|
||||||
|
|
|
@ -11238,17 +11238,20 @@ dwarf2_name (tree decl, int scope)
|
||||||
static void
|
static void
|
||||||
add_pubname_string (const char *str, dw_die_ref die)
|
add_pubname_string (const char *str, dw_die_ref die)
|
||||||
{
|
{
|
||||||
pubname_entry e;
|
if (targetm.want_debug_pub_sections)
|
||||||
|
{
|
||||||
|
pubname_entry e;
|
||||||
|
|
||||||
e.die = die;
|
e.die = die;
|
||||||
e.name = xstrdup (str);
|
e.name = xstrdup (str);
|
||||||
VEC_safe_push (pubname_entry, gc, pubname_table, &e);
|
VEC_safe_push (pubname_entry, gc, pubname_table, &e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
add_pubname (tree decl, dw_die_ref die)
|
add_pubname (tree decl, dw_die_ref die)
|
||||||
{
|
{
|
||||||
if (TREE_PUBLIC (decl))
|
if (targetm.want_debug_pub_sections && TREE_PUBLIC (decl))
|
||||||
{
|
{
|
||||||
const char *name = dwarf2_name (decl, 1);
|
const char *name = dwarf2_name (decl, 1);
|
||||||
if (name)
|
if (name)
|
||||||
|
@ -11263,6 +11266,9 @@ add_pubtype (tree decl, dw_die_ref die)
|
||||||
{
|
{
|
||||||
pubname_entry e;
|
pubname_entry e;
|
||||||
|
|
||||||
|
if (!targetm.want_debug_pub_sections)
|
||||||
|
return;
|
||||||
|
|
||||||
e.name = NULL;
|
e.name = NULL;
|
||||||
if ((TREE_PUBLIC (decl)
|
if ((TREE_PUBLIC (decl)
|
||||||
|| die->die_parent == comp_unit_die)
|
|| die->die_parent == comp_unit_die)
|
||||||
|
|
|
@ -2337,6 +2337,13 @@ DEFHOOKPOD
|
||||||
"",
|
"",
|
||||||
bool, false)
|
bool, false)
|
||||||
|
|
||||||
|
DEFHOOKPOD
|
||||||
|
(want_debug_pub_sections,
|
||||||
|
"True if the @code{.debug_pubtypes} and @code{.debug_pubnames} sections\
|
||||||
|
should be emitted. These sections are not used on most platforms, and\
|
||||||
|
in particular GDB does not use them.",
|
||||||
|
bool, false)
|
||||||
|
|
||||||
/* Leave the boolean fields at the end. */
|
/* Leave the boolean fields at the end. */
|
||||||
|
|
||||||
/* Empty macro arguments are undefined in C90, so use an empty macro. */
|
/* Empty macro arguments are undefined in C90, so use an empty macro. */
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2010-07-07 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* g++.dg/debug/dwarf2/pubnames-1.C: Make darwin-specific.
|
||||||
|
|
||||||
2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
|
2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR target/44844
|
PR target/44844
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// Contributed by Dodji Seketeli <dodji@redhat.com>
|
// Contributed by Dodji Seketeli <dodji@redhat.com>
|
||||||
// Origin PR debug/39706
|
// Origin PR debug/39706
|
||||||
|
// { dg-do compile { target *-*-darwin* } }
|
||||||
// { dg-options "-g -dA -fno-merge-debug-strings" }
|
// { dg-options "-g -dA -fno-merge-debug-strings" }
|
||||||
// { dg-do compile }
|
|
||||||
//
|
//
|
||||||
// There should be one debug_pubnames section generated.
|
// There should be one debug_pubnames section generated.
|
||||||
// On Darwin though, there is also a label pointing at the begining of the
|
// On Darwin though, there is also a label pointing at the begining of the
|
||||||
|
|
Loading…
Reference in New Issue