------- Comment #11 from davek at gcc dot gnu dot org 2009-09-19 11:17 ------- (In reply to comment #10) > Actually, I think it is wrong how mem_loc_descriptor handles CONST_STRING, I'm > afraid we can't do anything for it, unless we can find such string in the > rodata section of the compilation unit.
So rather than write code to index and search all the strings emitted during compilation, I'm giving this a try: Index: dwarf2out.c =================================================================== --- dwarf2out.c (revision 151860) +++ dwarf2out.c (working copy) @@ -11598,8 +11598,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mod break; case CONST_STRING: - rtl = get_debug_string_label (XSTR (rtl, 0)); - goto symref; + /* These can't easily be tracked, see PR41404. */ + break; default: #ifdef ENABLE_CHECKING As might be expected, there is no longer an undefined reference to any debuginfo string in the generated source after this. Shall I take it for a full bootstrap and test? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41404