Messages in this thread | | | Date | Sun, 4 May 2008 21:24:34 +0200 | From | Sam Ravnborg <> | Subject | Re: How to link a .o with all modules |
| |
On Sun, May 04, 2008 at 01:22:38PM -0500, Kumar Gala wrote: > Sam, > > We have a case in powerpc in which we want to link some library > routines with all module objects. The routines are intended for > handling out-of-line function call register save/restore so having > them as EXPORT_SYMBOL() is counter productive (we do also need to link > the same "library" code into the kernel). > > Any suggestions on how to handle this?
I assume you have the .o file build somewhere as part of the normal kernel build.
Then you in arch/powerpc/Makefile adds the following assignment:
LDFLAGS_MODULE += arch/powerpc/lib/my_magic_file.o
kbuild will then during the modpost stage link this file on all modules. To add the same file to the kernel just include it in a obj-y += my_magic_file.o
One trap is that my_magic_file.o needs to be built for a modules build too. I think you need to assign it to always:
always := my_magic_file.o
to accomplish this.
So in the end we will have:
arch/powerpc/Makefile: LDFLAGS_MODULE += arch/powerpc/lib/my_magic_file.o
arch/powerpc/lib/Makefile: always := my_magic_file.o obj-y += my_magic_file.o
Let me know if this does address your question.
Sam
| |