ifconfig-i386 on 8-STABLE/amd64
John Baldwin
jhb at freebsd.org
Fri Apr 16 12:22:29 UTC 2010
On Thursday 15 April 2010 8:06:02 pm Jonathan Chen wrote:
> On Thu, Apr 15, 2010 at 04:12:11PM -0700, Xin LI wrote:
> > Hi,
> >
> > On Thu, Apr 15, 2010 at 2:59 PM, Jonathan Chen <jonc at chen.org.nz> wrote:
> > > ?? ??$ /compat/i386/sbin/ifconfig
> > > ?? ??: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>
> > > ?? ?? ?? ??inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
> > > ?? ?? ?? ??inet 192.168.1.11 netmask 0xffffffff broadcast 192.168.1.11
> > > ?? ?? ?? ??inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
> > > ?? ?? ?? ??inet 192.168.2.10 netmask 0xffffffff broadcast 192.168.2.10
> > > ?? ?? ?? ??inet 192.168.2.12 netmask 0xffffffff broadcast 192.168.2.12
> > > ?? ?? ?? ??inet 127.0.0.1 netmask 0xff000000
> > > ?? ??ifconfig: ioctl(SIOCGIFINFO_IN6): Device not configured
> > >
> > > Why is the output from the 32-bit ifconfig severely mangled?
> >
> > My understanding is that 32-bit management tools like ifconfig is not
> > supported on 64-bit FreeBSD. Someone has to sit down and write a
> > compatibility layer for translating back and forth :(
>
> Ah. The reason I ask is because wine's (32-bit) network-i/f iteration code
> is breaking when running under amd64. It uses code similar to
> ifconfig's to determine available network interfaces. I didn't expect
> the read-only interface would break when crossing the 32 to 64 barrier.
You could patch the kernel backend to support 32-bit processes, it's just a
bit of work to do so. Can you find the specific sysctl or syscall that wine
is invoking? You can then just fix that handler to support 32-bit processes
which should fix wine.
--
John Baldwin
More information about the freebsd-stable
mailing list