fix non-modular ftape compile
Subsystems (2)
PATCH 1/1 fix non-modular ftape compile
I got the following link error in 2.60-test5-mm4 (but it doesn't seem to be specific to -mm):
<-- snip -->
...
LD .tmp_vmlinux1
drivers/built-in.o(.exit.text+0xfe6): In function `ftape_exit':
: undefined reference to `ftape_proc_destroy'
make: *** [.tmp_vmlinux1] Error 1
<-- snip -->
ftape_proc_destroy is only available #ifdef MODULE, the following patch fixes the link error:
drivers/char/ftape/lowlevel/ftape-init.c renamed from drivers/char/ftape/lowlevel/ftape-init.c.old +1 -1
@@ -148,7 +148,7 @@ {TRACE_FUN (ft_t_flow); -#if defined(CONFIG_PROC_FS ) && defined(CONFIG_FT_PROC_FS ) +#if defined(CONFIG_PROC_FS ) && defined(CONFIG_FT_PROC_FS ) && defined(MODULE )ftape_proc_destroy ();#endif (void )ftape_set_nr_buffers (0 );
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 2 lines · Adrian Bunk
ftape_proc_destroyis only available #ifdef MODULE, the following patch fixes the link error:
I'd suggest to kill the #ifdef MODULE instead and mark it __exit. Same result but less ifdef crap..
Quoted 6 lines · Christoph Hellwig
Quoted 2 lines · Adrian Bunk
ftape_proc_destroyis only available #ifdef MODULE, the following patch fixes the link error:I'd suggest to kill the #ifdef MODULE instead and mark it
__exit. Same result but less ifdef crap..
It increases the kernel size since in 2.6 __exit functions are discarded at runtime and not at link time.
Anyway, I agree with your suggestion. The following patch works instead of the first patch I sent.
drivers/char/ftape/lowlevel/ftape-proc.c renamed from drivers/char/ftape/lowlevel/ftape-proc.c.old +1 -3
@@ -207,11 +207,9 @@ ftape_read_proc, NULL) != NULL; } -#ifdef MODULE -void ftape_proc_destroy (void ) +void __exit ftape_proc_destroy(void) {remove_proc_entry ("ftape" , &proc_root); } -#endif #endif /* defined(CONFIG_PROC_FS) && defined(CONFIG_FT_PROC_FS) */
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 2 lines · Adrian Bunk
It increases the kernel size since in 2.6
__exitfunctions are discarded at runtime and not at link time.
Oh. That sounds silly. Do you remember who changed it and why?
Quoted 5 lines · Christoph Hellwig
Quoted 2 lines · Adrian Bunk
It increases the kernel size since in 2.6
__exitfunctions are discarded at runtime and not at link time.Oh. That sounds silly. Do you remember who changed it and why?
Andi Kleen changed it, it was needed for .altinstructions .
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed