Kernel build parameter CONFIG_REGPARAM breaks binary modules

Earle Robert Nietzel nietzel at rhinobox.org
Tue Mar 16 23:47:13 UTC 2004


I've noticed since moving to 2.6.x that none of my binary modules would
load correctly.

After reading that CONFIG_REGPARAM was the culprit I disabled it but to
my surprise nothing changed.

Come to find out that in "arch/i386/Makefile":

CFLAGS += -pipe -mregparm=3 -msoft-float -fno-builtin-sprintf -fno-
builtin-log2 -fno-builtin-puts

You'll notice "-mregparm=3"?

After removing this compiler flag my binary modules began to load
correctly.

Anyone care to comment on this?


Earle Nietzel




Here is what the kernel oops looks like with with "-mregparm=3":

Unable to handle kernel paging request at virtual address e0a18ab4
 printing eip:
e0a64a58
*pde = 170fc2a5
Oops: 0000 [#1]
CPU:    1
EIP:    0060:[<e0a64a58>]    Tainted: PF
EFLAGS: 00010246
EIP is at firegl_init+0x40/0xf6 [fglrx]
eax: e0a891e0   ebx: e0a18ab4   ecx: 00000002   edx: dead4ead
esi: e0a893a0   edi: e0a89210   ebp: c033ebb8   esp: def79f58
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 761, threadinfo=def78000 task=df166000)
Stack: 00000012 00000000 00000000 e0a891e0 e0a88980 e0a891e0 e0a88980
e0807280
       e0a18ab4 00000246 09289088 00000000 c032e618 b7e77008 c033ebd8
c033ebd8
       c033ebb8 c01450a6 c016bc7c df505578 df5055a0 00000000 b7e77008
bff73658
Call Trace:
 [<e0807280>] firegl_init_module+0x110/0x1b0 [fglrx]
 [<c01450a6>] sys_init_module+0x136/0x290
 [<c016bc7c>] sys_close+0x7c/0xf0
 [<c010bc3f>] syscall_call+0x7/0xb
 
Code: 81 3b 00 00 02 10 74 11 c7 44 24 04 03 7b a7 e0 c7 04 24 40








More information about the fedora-devel-list mailing list