lkml.org 
[lkml]   [2003]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: porting driver to 2.6, partly solved
Randy.Dunlap wrote:

>On Wed, 27 Aug 2003 18:15:51 +0200 LGW <large@lilymarleen.de> wrote:
>
>| Alan Cox wrote:
>|
>| >On Mer, 2003-08-27 at 16:34, LGW wrote:
>| >
>| >
>| >>The driver is mostly a wrapper around a generic driver released by the
>| >>manufacturer, and that's written in C++. But it worked like this for the
>| >>2.4.x kernel series, so I think it has something todo with the new
>| >>module loader code. Possibly ld misses something when linking the object
>| >>specific stuff like constructors?
>| >>
>| >>
>| >
>| >The new module loader is kernel side, it may well not know some of the
>| >C++ specific relocation types.
>| >
>| To you think it's possible to remove those relocations completely, so
>| that the whole C++ stuff is linked "without" any more open relocations?
>
>Hopefully Rusty will see this and make some comments on it.
>
>You could try using objdump to look for the item(s) that have this
>relocation type (0). That might help to see what is causing it.
>
>Or you could modify the module loader to ignore relocation type 0...
>and see what happens.
>
>
Hm objdump -r snd-echoaudio.ko gives about six records (of course many
others):
R_386_NONE *ABS*

I'm not really sure what they refer to. Or, I don't even know. I think
that the driver uses some system functions and they are linked like
that, or so? I had a look and R_386_NONE means "no relocation" - so it
should be safe to ignore them?

Modifying the kernel module loader like

switch (reloc_type) {
...
case R_386_NONE:
break;
...
}

did the trick, but this feels like a really really really UGLY trick.

Of course the best thing would be to rewrite the whole stuff, as it is
more than hacked together, but I don't have time to do so, know. At
least the soundcard device appears and plays sound now. I'll see what
time brings.

Thanks for your support,
Lars


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.917 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site