Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jul 2007 10:53:13 -0700
From:      Jeremy Chadwick <koitsu@FreeBSD.org>
To:        freebsd-amd64@freebsd.org
Subject:   accf_http.ko breaks without COMPAT_IA32 (module linker problems?)
Message-ID:  <20070703175313.GA31065@eos.sc1.parodius.com>

next in thread | raw e-mail | index | archive | help
Came across this today (and is reproducable):

With COMPAT_IA32 removed from the kernel configuration, accf_http.ko
breaks in a bad way.  Only shown on the console is the message "kldload:
Unsupported file type" when kldload is used to load the module.  Worse,
the module linker appears to load a portion of the module anyways:

# kldstat
Id Refs Address            Size     Name
 1    2 0xffffffff80100000 566cd0   kernel
 2    1 0xffffffffb468a000 795      accf_http.ko

# kldstat -v -i 2
Id Refs Address            Size     Name
 2    1 0xffffffffb468a000 795      accf_http.ko
        Contains modules:
                Id Name
                173 accf_http

And attempts to unload the module fail (which is where I question the
reliability of the module linker (no offence intended)):

# kldunload accf_http.ko
kldunload: can't unload file: Operation not supported
icarus# kldunload -v -f accf_http.ko
Unloading accf_http.ko, id=2
kldunload: can't unload file: Operation not supported

Minor details:

-r-xr-xr-x  1 root  wheel  5544 Jul  3 10:35 /boot/kernel/accf_http.ko

/boot/kernel/accf_http.ko: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (FreeBSD), not stripped

Putting COMPAT_IA32 back in results in proper behaviour all around.

-- 
| Jeremy Chadwick                                    jdc at parodius.com |
| Parodius Networking                           http://www.parodius.com/ |
| UNIX Systems Administrator                      Mountain View, CA, USA |
| Making life hard for others since 1977.                  PGP: 4BD6C0CB |




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