linux or linux32 on i386 (was: Re: svn commit: r219561 - in head/sys: cddl/dev/systrace modules/dtrace modules/dtrace/dtraceall modules/dtrace/systrace_freebsd32 modules/dtrace/systrace_linux32)

Alexander Leidinger Alexander at
Sun Mar 13 13:13:40 UTC 2011

On Sun, 13 Mar 2011 09:10:52 +0200 Andriy Gapon <avg at> wrote:

> on 13/03/2011 08:35 Artem Belevich said the following:
> > On Sat, Mar 12, 2011 at 12:14 PM, Alexander Leidinger
> > <Alexander at> wrote:
> >> But this looks like it will be named linux32 in any case. In the
> >> short term I would prefer:
> >> ---snip---
> >> #if defined(__amd64__)
> >> #define MODNAME "linux32"
> >> #elif defined(__i386__)
> >> #define MODNAME "linux"
> >> #endif
> >> ---snip---
> > 
> > Makes sense. It's what's done with freebsd syscalls -- 'freebsd' for
> > native syscalls, freebsd32 for 32-bit compat.
> BTW, in my opinion, it might not make a lot of sense.
> That is, we can have native and compat FreeBSD system calls, but
> Linux system calls are always compat and never native, whether the
> emulation is for the same arch or not.  Explicit suffix makes things
> clearer.  But that's just my opinion.

So far we use sys/i386/linux and sys/amd64/linux32 as the directory
structure. When the native linux code for amd64 arrives I would expect
it is named linux and not linux64. On i386 we also do not refer to
linux32 anywhere. It may not be the native ABI, but it is the native
code size. I also doubt anyone would expect to see a linux64 on i386.

IMO it is too late for a explicit suffix (this would be the onl place
which is using it, all other places use plain linux and it would be a
lot of changes necessary to change this) and it would be more consistent
to use linux instead of linux32 on i386.

> A public mailing list may be a better place to discuss this further.

I switched to arch and emulation.


More information about the freebsd-arch mailing list