Hello!
I seem to have a problem when compiling 2.4.x kernel. My system is using
RedHat Linux 6.2 but with programs needed by 2.4.x upgraded to the latest
versions. I recieve the following error message when I compile the 2.4.x
kernel.:
---begin error message---
ld -m elf_i386 -T /testingan/linux/arch/i386/vmlinux.lds -e stext
arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
init/version.o \
--start-group \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
fs/fs.o ipc/ipc.o \
drivers/block/block.o drivers/char/char.o drivers/misc/misc.o
drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o
drivers/net/fc/fc.o drivers/net/tokenring/tr.o drivers/ide/idedriver.o
drivers/cdrom/driver.o drivers/pci/driver.o drivers/pnp/pnp.o
drivers/video/video.o drivers/usb/usbdrv.o drivers/md/mddev.o \
net/network.o \
/testingan/linux/arch/i386/lib/lib.a /testingan/linux/lib/lib.a
/testingan/linux/arch/i386/lib/lib.a \
--end-group \
-o vmlinux
init/main.o: In function `check_fpu':
init/main.o(.text.init+0x63): undefined reference to `__buggy_fxsr_alignment'
make: *** [vmlinux] Error 1
---end error message---
After seeing the error message, I tried several settings for the kernel. I
never encountered the error message when I disabled MTRR. So after
discovering this, I tried to look at the source at found in
include/asm/bugs.h the following lines of code.
---begin code---
if (offsetof(struct task_struct, thread.i387.fxsave) & 15) {
extern void __buggy_fxsr_alignment(void);
__buggy_fxsr_alignment();
}
if (cpu_has_fxsr) {
printk(KERN_INFO "Enabling fast FPU save and restore... ");
set_in_cr4(X86_CR4_OSFXSR);
printk("done.\n");
}
if (cpu_has_xmm) {
printk(KERN_INFO "Enabling unmasked SIMD FPU exception support... ");
set_in_cr4(X86_CR4_OSXMMEXCPT);
printk("done.\n");
}
---end code---
If you can see from the error message, there seems to be the problem about
the function '__buggy_fxsr_alignment' being absent or something like that.
From the code, I can see that bugs.h was calling an external function of
that name. Since the code above code has something to do with PIIIs and I'm
only using a PII, I commented out those lines. I'm just wondering where's
that '__buggy_fxsr_alignment' thing. I searched the whole directory
containing the linux source but it's only bugs.h that has this function so
it must be one of the libraries included with linux or some of the
utilities, especially binutils. I'm using the latest version of binutils
(2.11.90.0.5) but still no effect. I wonder what librari=y has this
function. Any ideas? Just curious. Anyway, I might upgrade to RedHat 7.1
this Labor Day or on the weekend.
========================================================
Gideon N. Guillen
Internet: [EMAIL PROTECTED]
========================================================
_
Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph
To leave: send "unsubscribe" in the body to [EMAIL PROTECTED]
To subscribe to the Linux Newbies' List: send "subscribe" in the body to
[EMAIL PROTECTED]