Port-i386 archive

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

Re: Running Old a.out x86 Binaries on NetBSD



In article <loom.20140126T203057-732%post.gmane.org@localhost>,
Dan Plassche  <dplassche%gmail.com@localhost> wrote:
>Christos Zoulas <christos <at> astron.com> writes:
>
>> 
>> I fixed a whole bunch of bugs on HEAD, and I've tested 1.0 i386 binaries
>> on amd64. Most of them work now. If you either run head or pull up my
>> changes on netbsd-6 things will work again. There is one more change
>> that I might need on i386 a.out (open NULL != open ".") and that
>> makes binaries that use multiple dynamic libraries to fail. Perhaps
>> you'll also run into the mmap issue which again I fixed only in compat32.
>> Let me know and I can supply patches for those too.
>>  
>
>Hi Christos,
>
>Thank you!  I updated by extracting the most recent daily build from HEAD
>(201401260150Z) and made sure the files contained your recent oommits.  The
>same ls and pwd 0.9 binaries error out with an abort trap message now.  I
>tested using the GENERIC kernel from HEAD and recompiling the same from
>source to be certain.  Please advise if there's something else I should try.

Yes,

On amd64 the compat_netbsd32 module autoloads and things just work. On
i386, you need to manually modload exec_aout if it is not compiled in.
When I modload exec_aout, things seems to work but sometimes I get
the abort too. Seems that the sigcode allocation sometimes fails. I will
track this down more. I also added compatibility for open and mmap on
i386, but you need to build a kernel with COMPAT_10 enabled to get those.
Also can you ktrace and kdump the a.out binary. The simplest way to get
to the bottom of this is to compile a kernel with DEBUG_EXEC, and see
which allocation failed (which is what I am planning to do when I get
some spare time).

christos



Home | Main Index | Thread Index | Old Index