aboutsummaryrefslogtreecommitdiff
path: root/gdb/tracepoint.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tracepoint.c')
-rw-r--r--gdb/tracepoint.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 20379c1..2d13d11 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -1207,19 +1207,30 @@ collect_symbol (collect, sym)
printf_filtered ("LOC_REG[parm] %s: ", SYMBOL_NAME (sym));
add_register (collect, reg);
break;
- case LOC_ARG:
case LOC_REF_ARG:
- printf_filtered ("Sorry, don't know how to do LOC_ARGs yet.\n");
+ printf_filtered ("Sorry, don't know how to do LOC_REF_ARG yet.\n");
printf_filtered (" (will not collect %s)\n",
SYMBOL_NAME (sym));
break;
+ case LOC_ARG:
+ offset = SYMBOL_VALUE (sym);
+ reg = FP_REGNUM;
+ if (info_verbose)
+ {
+ printf_filtered ("LOC_LOCAL %s: Collect %d bytes at offset",
+ SYMBOL_NAME (sym), len);
+ printf_filtered (" %d from frame ptr reg %d\n", offset, reg);
+ }
+ add_memrange (collect, reg, offset, len);
+ break;
case LOC_REGPARM_ADDR:
reg = SYMBOL_VALUE (sym);
offset = 0;
if (info_verbose)
{
- printf_filtered ("LOC_REGPARM_ADDR %s: Collect %d bytes at offset %d from reg %d\n",
- SYMBOL_NAME (sym), len, offset, reg);
+ printf_filtered ("LOC_REGPARM_ADDR %s: Collect %d bytes at offset",
+ SYMBOL_NAME (sym), len);
+ printf_filtered (" %d from reg %d\n", offset, reg);
}
add_memrange (collect, reg, offset, len);
break;
@@ -1229,8 +1240,9 @@ collect_symbol (collect, sym)
reg = FP_REGNUM;
if (info_verbose)
{
- printf_filtered ("LOC_LOCAL %s: Collect %d bytes at offset %d from frame ptr reg %d\n",
- SYMBOL_NAME (sym), len, offset, reg);
+ printf_filtered ("LOC_LOCAL %s: Collect %d bytes at offset",
+ SYMBOL_NAME (sym), len);
+ printf_filtered (" %d from frame ptr reg %d\n", offset, reg);
}
add_memrange (collect, reg, offset, len);
break;