summaryrefslogtreecommitdiff
path: root/rtld-base.ini
diff options
context:
space:
mode:
Diffstat (limited to 'rtld-base.ini')
-rw-r--r--rtld-base.ini23
1 files changed, 16 insertions, 7 deletions
diff --git a/rtld-base.ini b/rtld-base.ini
index 3293ea8..b15f4cd 100644
--- a/rtld-base.ini
+++ b/rtld-base.ini
@@ -14,15 +14,14 @@ generator = printf-generator
; A printf generator prints to stdout the trace functions.
;
[printf-generator]
-map-sym-prefix = rtld_pg__
headers = printf-generator-headers
-arg-trace = "rtld_pg_print_arg(@ARG_NUM@, @ARG_TYPE@, @ARG_SIZE@, &@ARG_LABEL@);"
-ret-trace = "rtld_pg_print_ret(@RET_TYPE@, @RETG_SIZE@, &@RET_LABEL@);"
+arg-trace = "rtld_pg_print_arg(@ARG_NUM@, @ARG_TYPE@, @ARG_SIZE@, (void*) &@ARG_LABEL@);"
+ret-trace = "rtld_pg_print_ret(@RET_TYPE@, @RET_SIZE@, (void*) &@RET_LABEL@);"
code = <<<CODE
-static inline void rtld_pg_print_arg(int arg_num,
- const char* arg_type,
- int arg_size,
- void* arg)
+static inline void rtld_pg_print_arg(int arg_num,
+ const char* arg_type,
+ int arg_size,
+ void* arg)
{
const char* p = arg;
int i;
@@ -30,6 +29,16 @@ static inline void rtld_pg_print_arg(int arg_num,
for (i = 0; i < arg_size; ++i, ++p) printf ("%02x", (unsigned int) *p);
printf ("\n");
}
+static inline void rtld_pg_print_ret(const char* ret_type,
+ int ret_size,
+ void* ret)
+{
+ const char* p = ret;
+ int i;
+ printf (" rt] %s(%d) = ", ret_type, ret_size);
+ for (i = 0; i < ret_size; ++i, ++p) printf ("%02x", (unsigned int) *p);
+ printf ("\n");
+}
CODE
[printf-generator-headers]