diff -rubB cromwell-gcc4/boot/LoadLinux.c cromwell/boot/LoadLinux.c
--- cromwell-gcc4/boot/LoadLinux.c	Sun Apr  8 21:27:20 2007
+++ cromwell/boot/LoadLinux.c	Sun Apr  8 21:19:16 2007
@@ -23,6 +23,10 @@
 #include "iso_fs.h"
 #include "bootinfo.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int strlen(const char* s);
+char* strncpy(char* dst, const char* src, size_t len);
+
 //Grub bits
 unsigned long saved_drive;
 grub_error_t errnum;
diff -rubB cromwell-gcc4/drivers/flash/BootFlash.c cromwell/drivers/flash/BootFlash.c
--- cromwell-gcc4/drivers/flash/BootFlash.c	Sun Apr  8 21:24:48 2007
+++ cromwell/drivers/flash/BootFlash.c	Sun Apr  8 21:12:14 2007
@@ -12,6 +12,9 @@
 #include "BootFlash.h"
 #include <stdio.h>
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* dst, const char* s, ...);
+
 // gets device ID, sets pof up accordingly
 // returns true if device okay or false for unrecognized device
 
diff -rubB cromwell-gcc4/drivers/ide/BootIde.c cromwell/drivers/ide/BootIde.c
--- cromwell-gcc4/drivers/ide/BootIde.c	Sun Apr  8 21:24:48 2007
+++ cromwell/drivers/ide/BootIde.c	Sun Apr  8 21:13:29 2007
@@ -11,6 +11,10 @@
 
 #undef sprintf
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* s, const char* fmt, ...);
+char* strncpy(char* dst, const char* src, size_t len);
+
 ////////////////////////////////////
 // IDE types and constants
 #define IDE_SECTOR_SIZE 		0x200
diff -rubB cromwell-gcc4/drivers/usb/core/hcd.c cromwell/drivers/usb/core/hcd.c
--- cromwell-gcc4/drivers/usb/core/hcd.c	Sun Apr  8 21:24:48 2007
+++ cromwell/drivers/usb/core/hcd.c	Sun Apr  8 21:14:09 2007
@@ -49,6 +49,9 @@
 
 // #define USB_BANDWIDTH_MESSAGES
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int strlen(const char* s);
+
 /*-------------------------------------------------------------------------*/
 
 /*
diff -rubB cromwell-gcc4/drivers/video/BootVideoHelpers.c cromwell/drivers/video/BootVideoHelpers.c
--- cromwell-gcc4/drivers/video/BootVideoHelpers.c	Sun Apr  8 21:24:48 2007
+++ cromwell/drivers/video/BootVideoHelpers.c	Sun Apr  8 21:15:40 2007
@@ -22,6 +22,9 @@
 #include "decode-jpg.h"
 #define WIDTH_SPACE_PIXELS 5
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* s, const char* fmt, ...);
+
 // returns number of x pixels taken up by ascii character bCharacter
 
 unsigned int BootVideoGetCharacterWidth(u8 bCharacter, bool fDouble)
diff -rubB cromwell-gcc4/drivers/video/focus.c cromwell/drivers/video/focus.c
--- cromwell-gcc4/drivers/video/focus.c	Sun Apr  8 21:24:48 2007
+++ cromwell/drivers/video/focus.c	Sun Apr  8 21:14:44 2007
@@ -11,6 +11,7 @@
  *
  * VGA SoG/internal sync not yet implemented
 */
+#include "boot.h"
 #include "focus.h"
 #include "encoder.h"
 
diff -rubB cromwell-gcc4/drivers/video/xcalibur.c cromwell/drivers/video/xcalibur.c
--- cromwell-gcc4/drivers/video/xcalibur.c	Sun Apr  8 21:24:48 2007
+++ cromwell/drivers/video/xcalibur.c	Sun Apr  8 21:15:06 2007
@@ -11,6 +11,7 @@
  * Overscanned composite and svideo, 480p component only.
  *
 */
+#include "boot.h"
 #include "xcalibur.h"
 #include "xcalibur-regs.h"
 #include "encoder.h"
diff -rubB cromwell-gcc4/fs/cdrom/iso9660.c cromwell/fs/cdrom/iso9660.c
--- cromwell-gcc4/fs/cdrom/iso9660.c	Sun Apr  8 21:24:48 2007
+++ cromwell/fs/cdrom/iso9660.c	Sun Apr  8 21:05:37 2007
@@ -17,6 +17,10 @@
 #endif
 #include "iso_fs.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* s, const char* fmt, ...);
+int strlen(const char* s);
+
 int isupper( int ch )
 {
 	return (unsigned int)(ch - 'A') < 26u;
diff -rubB cromwell-gcc4/fs/fatx/BootFATX.c cromwell/fs/fatx/BootFATX.c
--- cromwell-gcc4/fs/fatx/BootFATX.c	Sun Apr  8 21:24:48 2007
+++ cromwell/fs/fatx/BootFATX.c	Sun Apr  8 21:08:02 2007
@@ -5,6 +5,8 @@
 #include "BootFATX.h"
 #include <sys/types.h>
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int strlen(const char* s);
 
 #undef FATX_DEBUG
 
diff -rubB cromwell-gcc4/fs/grub/fsys_ext2fs.c cromwell/fs/grub/fsys_ext2fs.c
--- cromwell-gcc4/fs/grub/fsys_ext2fs.c	Sun Apr  8 21:24:48 2007
+++ cromwell/fs/grub/fsys_ext2fs.c	Sun Apr  8 21:10:47 2007
@@ -19,9 +19,12 @@
 
 #ifdef FSYS_EXT2FS
 
+#include "boot.h"
 #include "shared.h"
 #include "filesys.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+void* memcpy(void* dst, const void* src, size_t len); 
 static int mapblock1, mapblock2;
 
 /* sizes are always in bytes, BLOCK values are always in DEV_BSIZE (sectors) */
diff -rubB cromwell-gcc4/fs/grub/fsys_reiserfs.c cromwell/fs/grub/fsys_reiserfs.c
--- cromwell-gcc4/fs/grub/fsys_reiserfs.c	Sun Apr  8 21:24:48 2007
+++ cromwell/fs/grub/fsys_reiserfs.c	Sun Apr  8 21:09:00 2007
@@ -21,6 +21,10 @@
 #ifdef FSYS_REISERFS
 #include "shared.h"
 #include "filesys.h"
+#include "boot.h"
+
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+void* memcpy(void* dst, const void* src, size_t len);
 
 #undef REISERDEBUG
 
diff -rubB cromwell-gcc4/fs/grub/fsys_ufs.c cromwell/fs/grub/fsys_ufs.c
--- cromwell-gcc4/fs/grub/fsys_ufs.c	Sun Apr  8 21:24:48 2007
+++ cromwell/fs/grub/fsys_ufs.c	Sun Apr  8 21:11:32 2007
@@ -58,6 +58,9 @@
 #include "ufs_dinode.h"
 #include "ufs_fs.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+void* memcpy(void* dst, const void* src, size_t len);
+
 #ifdef __i386__
 /* XXX: Revert to old (broken for over 1.5Tb filesystems) version of cgbase
    (see sys/ufs/ffs/fs.h rev 1.39) so that i386 boot loader (boot2) can
diff -rubB cromwell-gcc4/lib/misc/BootParser.c cromwell/lib/misc/BootParser.c
--- cromwell-gcc4/lib/misc/BootParser.c	Sun Apr  8 21:24:48 2007
+++ cromwell/lib/misc/BootParser.c	Sun Apr  8 21:16:53 2007
@@ -1,5 +1,10 @@
 #include "boot.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* s, const char* fmt, ...);
+int strlen(const char* s);
+char* strncpy(char* dst, const char* src, size_t len);
+
 CONFIGENTRY *ParseConfig(char *szBuffer, unsigned int fileLen, char *szPath) {
 	char *linePtr;
 	char *currentPos = szBuffer;
diff -rubB cromwell-gcc4/lib/misc/LED.c cromwell/lib/misc/LED.c
--- cromwell-gcc4/lib/misc/LED.c	Sun Apr  8 21:24:48 2007
+++ cromwell/lib/misc/LED.c	Sun Apr  8 21:18:51 2007
@@ -17,6 +17,9 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int strlen(const char* s);
+
 // Set the pattern of the LED.
 // The pattern must be 4 characters long and must consist
 // only of 'r', 'g', 'o' and 'x'.
diff -rubB cromwell-gcc4/lib/misc/setup.c cromwell/lib/misc/setup.c
--- cromwell-gcc4/lib/misc/setup.c	Sun Apr  8 21:24:48 2007
+++ cromwell/lib/misc/setup.c	Sun Apr  8 21:17:47 2007
@@ -1,6 +1,9 @@
 #include "boot.h"
 #include "memory_layout.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+char* strncpy(char* dst, const char* src, size_t len);
+
 /* parameters to be passed to the kernel */
 /* most parameters are documented in linux/Documentation/i386/zero-page.txt */
 struct kernel_setup_t {
diff -rubB cromwell-gcc4/menu/actions/MenuActions.c cromwell/menu/actions/MenuActions.c
--- cromwell-gcc4/menu/actions/MenuActions.c	Sun Apr  8 21:24:48 2007
+++ cromwell/menu/actions/MenuActions.c	Sun Apr  8 21:19:44 2007
@@ -23,6 +23,9 @@
 CONFIGENTRY *LoadConfigCD(int);
 TEXTMENU *TextMenuInit(void);
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+char* strncpy(char* dst, const char* src, size_t len);
+
 void AdvancedMenu(void *textmenu) {
 	TextMenu((TEXTMENU*)textmenu, NULL);
 }
diff -rubB cromwell-gcc4/menu/iconmenu/IconMenuInit.c cromwell/menu/iconmenu/IconMenuInit.c
--- cromwell-gcc4/menu/iconmenu/IconMenuInit.c	Sun Apr  8 21:24:48 2007
+++ cromwell/menu/iconmenu/IconMenuInit.c	Sun Apr  8 21:20:09 2007
@@ -15,6 +15,9 @@
 #include "IconMenu.h"
 #include "MenuActions.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* s, const char* fmt, ...);
+
 void InitFatXIcons(void);
 void InitNativeIcons(void);
 
diff -rubB cromwell-gcc4/menu/misc/Confirm.c cromwell/menu/misc/Confirm.c
--- cromwell-gcc4/menu/misc/Confirm.c	Sun Apr  8 21:24:48 2007
+++ cromwell/menu/misc/Confirm.c	Sun Apr  8 21:20:35 2007
@@ -1,6 +1,9 @@
 #include "Confirm.h"
 #include "TextMenu.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+char* strncpy(char* dst, const char* src, size_t len);
+
 int Confirm_Result;
 static void Confirm_Yes(void*);
 static void Confirm_No(void*);
diff -rubB cromwell-gcc4/menu/textmenu/FlashMenuInit.c cromwell/menu/textmenu/FlashMenuInit.c
--- cromwell-gcc4/menu/textmenu/FlashMenuInit.c	Sun Apr  8 21:24:48 2007
+++ cromwell/menu/textmenu/FlashMenuInit.c	Sun Apr  8 21:21:03 2007
@@ -12,6 +12,9 @@
 #include "TextMenu.h"
 #include "FlashMenuActions.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* s, const char* fmt, ...);
+
 TEXTMENU* FlashMenuInit(void) {
 	TEXTMENUITEM *itemPtr;
 	TEXTMENU *menuPtr;
diff -rubB cromwell-gcc4/menu/textmenu/HddMenuInit.c cromwell/menu/textmenu/HddMenuInit.c
--- cromwell-gcc4/menu/textmenu/HddMenuInit.c	Sun Apr  8 21:24:48 2007
+++ cromwell/menu/textmenu/HddMenuInit.c	Sun Apr  8 21:21:27 2007
@@ -12,6 +12,9 @@
 #include "TextMenu.h"
 #include "HddMenuActions.h"
 
+/* Missing prototypes, this solves GCC 4.1+ warnings */
+int sprintf(char* s, const char* fmt, ...);
+
 TEXTMENU *HddMenuInit(void) {
 	TEXTMENUITEM *itemPtr;
 	TEXTMENU *menuPtr;
