===================================================================
@@ -1284,6 +1284,11 @@
*/
bool arm_eabi_unwinder;
+ /* True if the target wants .debug_pubtypes and .debug_pubnames. In
+ most cases these are not interesting, as GDB and other tools do
+ not use them. */
+ bool want_debug_pub_sections;
+
/* Leave the boolean fields at the end. */
};
===================================================================
@@ -1,5 +1,6 @@
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/39706
+// { dg-do compile { target *-*-darwin* } }
// { dg-options "-g -dA -fno-merge-debug-strings" }
// { dg-do compile }
//
===================================================================
@@ -11080,17 +11080,20 @@
static void
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.name = xstrdup (str);
- VEC_safe_push (pubname_entry, gc, pubname_table, &e);
+ e.die = die;
+ e.name = xstrdup (str);
+ VEC_safe_push (pubname_entry, gc, pubname_table, &e);
+ }
}
static void
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);
if (name)
@@ -11105,6 +11108,9 @@
{
pubname_entry e;
+ if (!targetm.want_debug_pub_sections)
+ return;
+
e.name = NULL;
if ((TREE_PUBLIC (decl)
|| die->die_parent == comp_unit_die)
===================================================================
@@ -680,6 +680,8 @@
#define TARGET_ARM_EABI_UNWINDER false
+#define TARGET_WANT_DEBUG_PUB_SECTIONS false
+
#define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode
#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_false
@@ -1085,7 +1087,8 @@
TARGET_ASM_FILE_START_FILE_DIRECTIVE, \
TARGET_HANDLE_PRAGMA_EXTERN_PREFIX, \
TARGET_RELAXED_ORDERING, \
- TARGET_ARM_EABI_UNWINDER \
+ TARGET_ARM_EABI_UNWINDER, \
+ TARGET_WANT_DEBUG_PUB_SECTIONS \
}
#define TARGET_HANDLE_C_OPTION default_handle_c_option
===================================================================
@@ -471,6 +471,8 @@
#define DEBUG_STR_SECTION "__DWARF,__debug_str,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. */
#define DBX_USE_BINCL