Re: [PATCH] Remove mfinfo[64] used by get_wchan()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Atsushi Nemoto wrote:
> On Fri, 18 Aug 2006 10:50:01 +0200, Franck Bui-Huu <vagabon.xyz@xxxxxxxxx> wrote:
>> Does something like this seem correct ? If an exception occured on a first
>> instruction of a function, show_backtrace() will call get_frame_info()
>> with info->func_size != 0 but very small. In this case it returns 1.
> 
> Why get_frame_info() will be called with info->func_size != 0 ?  The
> offset of a _first_ instruction is 0, so "ofs" of this line in
> unwind_stack() will be 0.
> 
> 	info.func_size = ofs;	/* analyze from start to ofs */
> 

because in unwind_stack(), before the line you showed, we do:

	if (!kallsyms_lookup(pc, &size, &ofs, &modname, namebuf))
		return 0;
	if (ofs == 0)
		return 0;

Maybe we should do instead:

	if (!kallsyms_lookup(pc, &size, &ofs, &modname, namebuf))
		return 0;
	/* return ra if an exception occured at the first instruction */
	if (ofs == 0)
		return ra;

And in any cases, if we pass info->func_size = 0 to get_frame_info(),
then it will consider the function size as unknown.

		Franck


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux