Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Apr 2010 08:21:01 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-stable@freebsd.org
Cc:        gerald@freebsd.org
Subject:   Re: ifconfig-i386 on 8-STABLE/amd64
Message-ID:  <201004160821.01135.jhb@freebsd.org>
In-Reply-To: <20100416000602.GA79362@osiris.chen.org.nz>
References:  <20100415215941.GA14428@osiris.chen.org.nz> <g2wa78074951004151612yf4105587nfe9a547b62d77115@mail.gmail.com> <20100416000602.GA79362@osiris.chen.org.nz>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004160821.01135.jhb>