Problems porting L4Linux 2.4 module to 2.6

Adam Lackorzynski adam at os.inf.tu-dresden.de
Tue Sep 20 16:15:08 CEST 2005


Hi,

On Mon Sep 19, 2005 at 17:47:19 +0200, Derick Swanepoel wrote:
> I'm trying to convert a custom kernel 2.4 module to 2.6. The most
> serious problem I'm having is that there are now some unresolved
> symbols with 2.6:
> 
> *** Warning: "l4rm_detach"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> *** Warning: "kmalloc"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> *** Warning: "l4rm_do_attach"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> *** Warning: "l4env_err_ipcstrings"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> *** Warning: "l4lx_thread_shutdown"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> *** Warning: "l4lx_thread_create"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> *** Warning: "l4_sleep"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> *** Warning: "names_waitfor_name"
> [/home/drops/DROPS-20050908/l4/pkg/test/examples/module.ko] undefined!
> 
> I see that there is no l4_ksyms.c in l4linux 2.6 like there was in 2.4.

In 2.6 they're writing the EXPORT_SYMBOLS directly under the functions
and not in a single file anymore. I've added a few to the bottom of the
main.c file but for sure not all the needed ones. We haven't been
playing around with l4 related modules lately so this is why those
symbols are missing. Just add the ones you need and send the list over,
I'll add them.

> Secondly, I get more unresolved symbols if the objects that are linked
> are specified at the end of the command line instead of the beginning
> (linking succeeds in both cases, however). The kernel build system
> puts the objects at the end while the DROPS build system puts them at
> the beginning. Does anyone have an idea why two otherwise equivalent
> linking commands would cause such different behaviour depending on the
> position of the object arguments? Here are the two command lines (the
> paths are slightly different because the kernel build system always
> outputs to the source directory:

I guess that's because of the way ld works, it only processes the list
of arguments once (if not told otherwise) and depending on the order of
the objects/libs given different unresolved symbols may occur.





Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list