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
>