Subject: Re: Assembly Language Programs
To: der Mouse <mouse@rodents.montreal.qc.ca>
From: Kailash Sethuraman <hsaliak@gmail.com>
List: tech-kern
Date: 04/12/2006 12:29:46
Hi all,

I came across this very issue recently and it seems that when there is
no NetBSD specific note section, it seems to assume that it is a linux
binary, at least on NetBSD/i386 ( current / 3.0) . I believe this is
so because linux itself does not have a OS specific elf note.

http://www.netbsd.org/Documentation/kernel/elf-notes.html contains
more information on this subject.

Regards,
Kailash






On 4/12/06, der Mouse <mouse@rodents.montreal.qc.ca> wrote:
> [I was going to move this to tech-userlevel, since it is mostly a
> userlevel issue, but it seems the kernel is involved in that emulations
> appear to be relevant.  So I'm just adding tech-userlevel; please
> remove one or the other if you're replying to just one aspect.]
>
> > I am interested to developing a little
> > assembly language programs.
>
> > I [read] the article written by Thomas Sommers
> > ( http://user.nj.net/~tms/hello.html )
> > I followed author's instructions but at the end of compilation
>
> >    as -o <name>.o <name>.s
> >    ld -o <name> <name>.o
>
> > what I have is
>
> >   #./<name>
> >   #  Segmentation fault ( core dumped )
>
> >   Someone knows what is happenig ?
>
> The article says it's for FreeBSD, but you're using NetBSD.  This
> strikes me as the most likely underlying problem.
>
> Looking at the code, there is nothing obviously wrong with it, though.
> I find that when I try it, it simply exits, without a coredump.
> Running it under ktrace reveals that it is being mistaken for a Linux
> executable:
>
>  12754 ktrace   CALL  execve(0xbfbfd4ac,0xbfbfd938,0xbfbfd940)
>  12754 ktrace   NAMI  "./z"
>  12754 z        EMUL  "linux"
>  12754 z        RET   oldolduname -1 errno -2 No such file or directory
>  12754 z        CALL  write(0xbfbfdff0,0,0)
>  12754 z        RET   write -1 errno -9 Bad file descriptor
>  12754 z        CALL  exit(0xbfbfdff0)
>
> Why it isn't behaving this way for you is a good question.  Perhaps
> it's a NetBSD version difference (what version are you using?), perhaps
> it's your kernel (do you ahve COMPAT_LINUX turned on?)....
>
> I suspect there may be missing .note sections or some such.
>
> /~\ The ASCII                           der Mouse
> \ / Ribbon Campaign
>  X  Against HTML               mouse@rodents.montreal.qc.ca
> / \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B
>