Apologies if you've heard this one before. >From the latest 2.5 (2.6.0-test1) bk, I get: CC kernel/suspend.o kernel/suspend.c:293: warning: #warning This might be broken. We need to somehow wait for data to reach the disk kernel/suspend.c:86: conflicting types for `_text' include/asm-generic/sections.h:6: previous declaration of `_text' kernel/suspend.c:86: conflicting types for `_etext' include/asm-generic/sections.h:6: previous declaration of `_etext' kernel/suspend.c:86: conflicting types for `_edata' include/asm-generic/sections.h:7: previous declaration of `_edata' kernel/suspend.c:86: conflicting types for `__bss_start' include/asm-generic/sections.h:8: previous declaration of `__bss_start' make[1]: *** [kernel/suspend.o] Error 1 make: *** [kernel] Error 2 sections.h defines things like "extern char _text[]" whereas suspend.c defines "extern char _text" Since the _text, _etext, etc symbols are not even used in suspend.c, removing them seems the correct thing to do. --- 1.42/kernel/suspend.c Fri May 2 14:16:11 2003 +++ edited/suspend.c Mon Jul 21 11:20:14 2003 @@ -83,7 +83,6 @@ #define ADDRESS2(x) __ADDRESS(__pa(x)) /* Needed for x86-64 where some pages are in memory twice */ /* References to section boundaries */ -extern char _text, _etext, _edata, __bss_start, _end; extern char __nosave_begin, __nosave_end; extern int is_head_of_free_region(struct page *);