tags 318567 patch thanks I've attatched a patch that fixes the build problems. I've removed -Werror from the CFLAGS, since there are loads of warnings with gcc-4.0, mostly about signed/unsigned conflicts at assignments.
Futhermore -Os is used instead of -O2, since there is an error about a too large image otherwise. Several minor changes were also done. The patch works fine when thrown into debian/patches. The build works afterwords, but since I don't have an xbox ready I can't test the product. HTH, Christian Aichinger
diff -Nur build-tree/cromwell/lib/gzip/misc.c btree/cromwell/lib/gzip/misc.c --- build-tree/cromwell/lib/gzip/misc.c 2004-06-06 16:27:26.000000000 +0200 +++ btree/cromwell/lib/gzip/misc.c 2005-08-06 18:29:18.000000000 +0200 @@ -24,6 +24,10 @@ #undef memset #undef memcpy +// Work around clash with previous non-static declaration +#define memset memset_miscc +#define memcpy memcpy_miscc + /* * Why do we do this? Don't ask me.. * diff -Nur build-tree/cromwell/Makefile btree/cromwell/Makefile --- build-tree/cromwell/Makefile 2005-08-06 18:27:56.000000000 +0200 +++ btree/cromwell/Makefile 2005-08-06 18:30:31.000000000 +0200 @@ -11,7 +11,8 @@ -I$(TOPDIR)/lib/jpeg/ -I$(TOPDIR)/menu/actions -I$(TOPDIR)/menu/textmenu -I$(TOPDIR)/menu/iconmenu #These are intended to be non-overridable. -CROM_CFLAGS=-O2 -mcpu=pentium -Werror -pipe -fomit-frame-pointer -Wstrict-prototypes $(INCLUDE) +#We need -Os, since the image is too large otherwise +CROM_CFLAGS=-Os -mcpu=pentium -pipe -fomit-frame-pointer -Wstrict-prototypes $(INCLUDE) # add the option for gcc 3.3 only, again, non-overridable ifeq ($(GCC_3.3), 1) @@ -30,7 +31,7 @@ ETH_SUBDIRS = etherboot CROM_CFLAGS += -DETHERBOOT ETH_INCLUDE = -I$(TOPDIR)/etherboot/include -I$(TOPDIR)/etherboot/arch/i386/include -ETH_CFLAGS = -O2 -mcpu=pentium -Werror $(ETH_INCLUDE) -Wstrict-prototypes -fomit-frame-pointer -pipe -Ui386 +ETH_CFLAGS = -Os -mcpu=pentium $(ETH_INCLUDE) -Wstrict-prototypes -fomit-frame-pointer -pipe -Ui386 endif LDFLAGS-ROM = -s -S -T $(TOPDIR)/scripts/ldscript-crom.ld diff -Nur build-tree/cromwell/menu/actions/VideoMenuActions.c btree/cromwell/menu/actions/VideoMenuActions.c --- build-tree/cromwell/menu/actions/VideoMenuActions.c 2004-11-30 02:23:48.000000000 +0100 +++ btree/cromwell/menu/actions/VideoMenuActions.c 2005-08-06 18:25:29.000000000 +0200 @@ -13,6 +13,20 @@ #include "VideoInitialization.h" #include "BootEEPROM.h" +int +strcmp (const char *s1, const char *s2) +{ + while (*s1 || *s2) { + if (*s1 < *s2) + return -1; + else if (*s1 > *s2) + return 1; + s1 ++; + s2 ++; + } + return 0; +} + void SetWidescreen(void *menuItemText) { char *text = (char *)menuItemText; if (!strcmp(text, "Display Size: Widescreen")) { diff -Nur build-tree/cromwell/menu/iconmenu/IconMenuInit.c btree/cromwell/menu/iconmenu/IconMenuInit.c --- build-tree/cromwell/menu/iconmenu/IconMenuInit.c 2004-12-01 00:42:06.000000000 +0100 +++ btree/cromwell/menu/iconmenu/IconMenuInit.c 2005-08-06 18:03:25.000000000 +0200 @@ -104,7 +104,7 @@ //See if there is an MBR - no MBR means no native boot options. if( !(ba[0x1fe]==0x55) || !(ba[0x1ff]==0xaa)) return; - (volatile u8 *)pb=&ba[0x1be]; + pb=&ba[0x1be]; //Check the primary partitions for (n=0; n<4; n++,pb+=16) { if(pb[0]&0x80) { diff -Nur build-tree/cromwell/Rules.make btree/cromwell/Rules.make --- build-tree/cromwell/Rules.make 2004-09-10 19:32:25.000000000 +0200 +++ btree/cromwell/Rules.make 2005-08-06 18:03:25.000000000 +0200 @@ -9,7 +9,7 @@ # .PHONY: dummy -CFLAGSBR = -Wall -Werror +CFLAGSBR = -Wall # # Special variables which should not be exported
signature.asc
Description: Digital signature