+# Perform arch-dependent adjustments to a register name.
+#
+# In very specific situations, it may be necessary for the register
+# name present in a SystemTap probe's argument to be handled in a
+# special way. For example, on i386, GCC may over-optimize the
+# register allocation and use smaller registers than necessary. In
+# such cases, the client that is reading and evaluating the SystemTap
+# probe (ourselves) will need to actually fetch values from the wider
+# version of the register in question.
+#
+# To illustrate the example, consider the following probe argument
+# (i386):
+#
+# 4@%ax
+#
+# This argument says that its value can be found at the %ax register,
+# which is a 16-bit register. However, the argument's prefix says
+# that its type is "uint32_t", which is 32-bit in size. Therefore, in
+# this case, GDB should actually fetch the probe's value from register
+# %eax, not %ax. In this scenario, this function would actually
+# replace the register name from %ax to %eax.
+#
+# The rationale for this can be found at PR breakpoints/24541.
+M;std::string;stap_adjust_register;struct stap_parse_info *p, const std::string \®name, int regnum;p, regname, regnum
+