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: Prelinking on ARM with Debug Link


> Am 23.02.2016 um 17:46 schrieb Mark Wielaard <mjw@redhat.com>:
> 
> On Mon, 2016-02-22 at 22:45 +0100, Torsten Polle wrote:
>> the principle idea of your patch works. But I had to rewrite it to
>> really work in my environment. Could you please have a look at my
>> proposal? Would something like that be acceptable?
> 
> Could you give an example of what didn't work?
> You cast both debug_frame_off and dwbias to uint32_t before
> substracting. Is that really necessary/correct? Both are Dwarf_Addrs
> which are always uint64_t. And we care about the difference here.

In my case debug_frame_off is larger than dwbias. If for instance debug_frame_off is 0 and dwbias is -1, the result is -1. As the arithmethics on the 64bit host is unsigned, the result is 0xffffffffffffffff in hex notation and 18446744073709551615 in decimal notation. As stap-symbols.h is used for the target, the values are too large for the 32bit wide unsigned int, which is the data type for the field sec_load_offset. Therefore the compiler complains. The type cast to uint32_t forces the host compiler to use only a 32bit value. Therefore the result is 0xffffffff (4294967295). At least that is what happens on my host. I need the âuâ because even 4294967295 is considered to be too large.

>> I would like to double check in my environment if we could fall back to the hex notation again.
> 
> Isn't it simpler and consistent to just always use decimal in this case?
> There should at least be a comment why we use a different notation for
> elf32 vs elf64 targets.

I would go for a consistent notation. Personally, I prefer the hex notation for the addresses. I hope to be able to check whether the hex notation with casts works tomorrow and get back to you.

Regards,
Torsten

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