Messages in this thread | | | From | Bodo Eggert <> | Subject | Re: Trying to convert old modules to newer kernels | Date | Fri, 21 Dec 2007 01:16:09 +0100 |
| |
linux-os (Dick Johnson) <linux-os@analogic.com> wrote: > On Thu, 20 Dec 2007, Sam Ravnborg wrote:
>>> It never gets to the printk(). You were right about the >>> compilation. Somebody changed the kernel to compile with >>> parameter passing in REGISTERS! This means that EVERYTHING >>> needs to be compiled the same way, 'C' calling conventions >>> were not good enough! >> >> How did you build the module. It reads like you failed to use >> kbuild to build your module which is why you did not pass >> correct options to gcc - correct? >> >> If you did not use kbuild - why not? >> Is there anything missing you need?
> I need to get rid of -mregparm=3 on gcc's command line. It > is completely incompatible with the standard calling conventions > used in all our assembly-language files in our drivers. We make > very high-speed number-crunching drivers that munge high-speed > data into images. We need to do that in assembly as we have > always done.
According to my quick googling, "__attribute__((regparm,0))" is what you need.
| |