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

Re: Unofficial sparc64 porterboxes? (For problem unreproducible in Qemu)



Hi Adrian,

(Thanks for the porterbox account, I changed my password first thing,
and am now able to reproduce the issue. I'm currently figuring out why
exactly that crashes, something related to thread local storage access
of errno. Which is weird, because I'd expect it to crash also in Qemu,
if that were completely broken.)

On 05/16/2016 10:06 PM, John Paul Adrian Glaubitz wrote:
> On 05/16/2016 09:58 AM, Christian Seiler wrote:
>> My problem is that under qemu-system-sparc64 [2] I simply cannot
>> reproduce this problem, the test suite of mksh passes when compiled
>> against dietlibc. (The other bugs that I could reproduce, see e.g.
>> the problems in the sid version [3], I was able to fix in dietlibc
>> in experimental.)
> 
> Btw, I spotted a potential problem in dietlibc as it tests for sparc64
> with "#if defined(__sparc64__)" which never works since __sparc64__
> is not defined on sparc64.
> 
> Instead, gcc defines __arch64__ on top of __sparc__. Could you have
> a look at dietlibc if this might cause any problems?

Oh, I didn't realize that __sparc64__ is there at all. sys/endian.h
is correct (I fixed some things there a while back), but some other
headers are wrong.

 - sys/ucontext.h: __sparc__ || __sparc64__, so there it doesn't
   matter (the context stuff only works on x86 anyway atm)

 - sys/types.h: ouch, this could be bad

 - include/pthread.h: wrong there, but not a big deal, because it
   just imposes an artificially lower limit

 - libdl/_dl_int.h: not actually used in builds atm. because we
   only build the static variant, but definitely wrong

So the big thing here is sys/types.h, I'll take a closer look there.
Thanks for noticing that!

Regards,
Christian

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: