svn commit: r224683 - head/lib/libthread_db

Marcel Moolenaar marcel at xcllnt.net
Sun Aug 7 02:35:58 UTC 2011


On Aug 6, 2011, at 4:24 PM, Marius Strobl wrote:

> On Sun, Aug 07, 2011 at 01:06:48AM +0300, Andriy Gapon wrote:
>> on 07/08/2011 00:41 Garrett Cooper said the following:
>>> It's not just i386. It's other architectures like arm, mips, and pc98
>>> according to the tinderbox reports (this list is potentially
>>> incomplete).
>> 
>> Yeah, confusingly enough thr_pread_long() is declared to take uint64_t* as its
>> third argument, so this commit breaks all platforms where uint64_t is not
>> derived from (unsigned) long.
>> Just in case, thr_pread_int() takes uint32_t* as well.
>> 
> 
> Yes, the type of val is wrong. I'm currently running a fix through a
> universe build

Ah, euh, ok, I forgot about this particular quirk:

uint64_t is deliberate, because it's the width of long on 64-bit
architectures and thread_db is to be used as a support library
for a cross-tool (i.e. a 32-bit debugger for a 64-bit target).

That's why thr_pread_long() takes a pointer to uint64_t and
thr_pread_int() takes a pointer to uint32_t...

Sorry for missing this in the review.
FYI,

-- 
Marcel Moolenaar
marcel at xcllnt.net




More information about the svn-src-all mailing list