-#define ASM_OUTPUT_SOURCE_LINE(file, line, counter) \
- { static tree last_function_decl = NULL; \
- if (current_function_decl == last_function_decl) \
- fprintf (file, "\t.stabn 68,0,%d,L$M%d-%s\nL$M%d:\n", \
- line, counter, \
- XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0) + 1, \
- counter); \
- else \
- fprintf (file, "\t.stabn 68,0,%d,0\n", line); \
- last_function_decl = current_function_decl; \
+#define ASM_OUTPUT_SOURCE_LINE(file, line, counter) \
+ { static tree last_function_decl = NULL; \
+ if (current_function_decl == last_function_decl) \
+ { \
+ rtx func = DECL_RTL (current_function_decl); \
+ const char *name = XSTR (XEXP (func, 0), 0); \
+ fprintf (file, "\t.stabn 68,0,%d,L$M%d-%s\nL$M%d:\n", \
+ line, counter, \
+ (* targetm.strip_name_encoding) (name), \
+ counter); \
+ } \
+ else \
+ fprintf (file, "\t.stabn 68,0,%d,0\n", line); \
+ last_function_decl = current_function_decl; \