This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make kernel DWARF unwinder work with ksalr.


Hi Torsten,

On Sun, 2018-04-22 at 10:52 +0200, Torsten Polle wrote:
> I noticed that you made a similar commit
> (17ee540dd61113fe4f557f191db3480db875cca1)
> to the one I proposed in [1].

O, too bad I missed that thread. It would have saved me lots of time
figuring out what was going on. Your observation in the last email is
very true "The reason is that the backtrace operation has so many
failsafe paths that it works most of the time. ;-)"


> The only difference is that you leave out the alignment of s->static_addr.
> s->static_addr is equal to „_stext“, which is 0xc9600358 on my test instance.
> While s->sec_load_offset is aligned to 0xc1000000 in a particular run. This
> results in a misaligned offset. While on X86 and ARM64, the offset is aligned.
> Without the alignment, I get strange results.
> 
> Arguably I choose a hard coded value 0x1fffff. Actually it should be based on
> CONFIG_PHYSICAL_ALIGN on X86, but on ARM64 it is hard coded as well.

On my system it is 0x200000 and it looks like sec_load_offset is
already aligned to that, which explains why it seems to work for me.

I can see CONFIG_PHYSICAL_ALIGN being used for x86 and powerpc, but not
arm64, can you point at where it is used (or hard-coded)?

Thanks,

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]