Guo Ren 28bb030f93 csky/ftrace: Add dynamic function tracer (include graph tracer)
Support dynamic ftrace including dynamic graph tracer. Gcc-csky with -pg
will produce call site in every function prologue and we can use these
call site to hook trace function.

gcc with -pg origin call site:
	push	lr
	jbsr	_mcount
	nop32
	nop32

If the (callee - caller)'s offset is in range of bsr instruction, we'll
modify code with:
	push	lr
	bsr	_mcount
	nop32
	nop32
Else if the (callee - caller)'s offset is out of bsr instrunction, we'll
modify code with:
	push	lr
	movih	r26, ...
	ori	r26, ...
	jsr	r26

(r26 is reserved for jsr link reg in csky abiv2 spec.)

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
2019-04-22 13:44:57 +08:00
..
2018-10-25 23:36:19 +08:00
2018-10-26 00:54:13 +08:00
2018-12-31 23:16:46 +08:00
2018-10-26 00:54:24 +08:00
2018-10-26 00:54:24 +08:00
2018-10-26 00:54:24 +08:00
2018-10-26 00:54:24 +08:00
2018-10-26 00:54:24 +08:00
2018-10-26 00:54:24 +08:00
2018-10-26 00:54:24 +08:00