Re: printk() format %pS wrong symbol

2020-07-07 Thread Valentin Vidić
On Tue, Jul 07, 2020 at 08:39:27PM +0200, Valentin Vidić wrote: > From what I understand print_backtrace() tries to handle the case when > call is the last instruction in a function: > > func1: ... >... >... >call noret_func3() > func2: ... >... >... > >

Re: printk() format %pS wrong symbol

2020-07-07 Thread Valentin Vidić
On Mon, Jul 06, 2020 at 06:06:42PM -0400, William Tambe wrote: > the issue I am having is due to sprint_backtrace() calling > __sprint_symbol() with its argument symbol_offset == -1. > Despite the comment above its definition, it is hard to understand why > sprint_backtrace() calls

Re: printk() format %pS wrong symbol

2020-07-06 Thread William Tambe
On Sat, Jul 4, 2020 at 1:15 PM Valentin Vidić wrote: > > On Sat, Jul 04, 2020 at 12:04:59PM -0400, William Tambe wrote: > > How or which function within that file translates an address to the string > > symbol+offset for the format %pS ? > > %pS seems to end up in here: Thanks, the issue I am

Re: printk() format %pS wrong symbol

2020-07-04 Thread Valentin Vidić
On Sat, Jul 04, 2020 at 12:04:59PM -0400, William Tambe wrote: > How or which function within that file translates an address to the string > symbol+offset for the format %pS ? %pS seems to end up in here: static int __sprint_symbol(char *buffer, unsigned long address,

Re: printk() format %pS wrong symbol

2020-07-04 Thread William Tambe
On Sat, Jul 4, 2020 at 6:29 AM Valentin Vidić wrote: > On Sat, Jul 04, 2020 at 06:11:19AM -0400, William Tambe wrote: > > I am seeing an issue in our Linux port where printk() format %pS will > print > > a symbol as: > > kernel_init+0x120/0x120 > > where the offset within the function 0x120, is

Re: printk() format %pS wrong symbol

2020-07-04 Thread Valentin Vidić
On Sat, Jul 04, 2020 at 06:11:19AM -0400, William Tambe wrote: > I am seeing an issue in our Linux port where printk() format %pS will print > a symbol as: > kernel_init+0x120/0x120 > where the offset within the function 0x120, is the same as the function > size 0x120; in fact, the largest offset

printk() format %pS wrong symbol

2020-07-04 Thread William Tambe
I am seeing an issue in our Linux port where printk() format %pS will print a symbol as: kernel_init+0x120/0x120 where the offset within the function 0x120, is the same as the function size 0x120; in fact, the largest offset within the function should be 0x11f. When printing above symbol+offset