39 lines
666 B
Plaintext
39 lines
666 B
Plaintext
.TH GETCALLERPC 2
|
|
.SH NAME
|
|
getcallerpc \- fetch return PC of current function
|
|
.SH SYNOPSIS
|
|
.br
|
|
.B #include <u.h>
|
|
.br
|
|
.B #include <libc.h>
|
|
.PP
|
|
.B uintptr getcallerpc(void *firstarg)
|
|
.SH DESCRIPTION
|
|
.I Getcallerpc
|
|
is a portable way to discover the PC to which the current function will return.
|
|
.I Firstarg
|
|
should be a pointer to the first argument to the function in question.
|
|
.SH EXAMPLE
|
|
.IP
|
|
.EX
|
|
void
|
|
printpc(int arg)
|
|
{
|
|
print("Called from %p\en", getcallerpc(&arg));
|
|
}
|
|
|
|
void
|
|
main(int argc, char *argv[])
|
|
{
|
|
printpc(0);
|
|
printpc(0);
|
|
printpc(0);
|
|
}
|
|
.EE
|
|
.SH SOURCE
|
|
.B /sys/src/libc/$objtype/getcallerpc.[cs]
|
|
.SH BUGS
|
|
The
|
|
.I firstarg
|
|
parameter should not be necessary.
|