lkml.org 
[lkml]   [2006]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectOCFS2: __init / __exit problem
Hi!

$ make ARCH=vax CROSS_COMPILE=vax-linux-uclibc- mopboot
:
LD .tmp_vmlinux1
`exit_ocfs2_uptodate_cache' referenced in section `.init.text' of fs/built-in.o: defined in discarded section `.exit.text' of fs/built-in.o
`exit_ocfs2_extent_maps' referenced in section `.init.text' of fs/built-in.o: defined in discarded section `.exit.text' of fs/built-in.o
make: *** [.tmp_vmlinux1] Error 1

This happens with CONFIG_MODULES=n because:

super.c:
~~~~~~~~
static int __init ocfs2_init(void)
{
:
leave:
if (status < 0) {
ocfs2_free_mem_caches();
exit_ocfs2_uptodate_cache();
exit_ocfs2_extent_maps();
}
:
}


uptodate.h:void __exit exit_ocfs2_uptodate_cache(void);
extent_map.c:void __exit exit_ocfs2_extent_maps(void)
extent_map.h:void exit_ocfs2_extent_maps(void);

So an __inint function references __exit functions (which are
discarded for non-modular builds) and the declaration of
exit_ocfs2_extent_maps() in extent_map.h is missing __exit.

MfG, JBG

--
Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2006-01-07 14:22    [W:0.036 / U:0.548 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site