summaryrefslogtreecommitdiffstats
path: root/target/linux/linux-2.4/patches/generic
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/linux-2.4/patches/generic')
-rw-r--r--target/linux/linux-2.4/patches/generic/006-build_flags.patch99
-rw-r--r--target/linux/linux-2.4/patches/generic/006-extra_optimization.patch24
-rw-r--r--target/linux/linux-2.4/patches/generic/209-build_fixes.patch48
-rw-r--r--target/linux/linux-2.4/patches/generic/209-mkdep_fix.patch22
4 files changed, 147 insertions, 46 deletions
diff --git a/target/linux/linux-2.4/patches/generic/006-build_flags.patch b/target/linux/linux-2.4/patches/generic/006-build_flags.patch
new file mode 100644
index 000000000..207dd0be2
--- /dev/null
+++ b/target/linux/linux-2.4/patches/generic/006-build_flags.patch
@@ -0,0 +1,99 @@
+diff -urN linux.old/Makefile linux.dev/Makefile
+--- linux.old/Makefile 2005-08-26 13:41:41.689634168 +0200
++++ linux.dev/Makefile 2005-08-26 13:44:34.233403528 +0200
+@@ -17,9 +17,9 @@
+ FINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net $(HPATH)/math-emu
+
+ HOSTCC = gcc
+-HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
++HOSTCFLAGS = -Wall -Wstrict-prototypes -Os -fomit-frame-pointer
+
+-CROSS_COMPILE =
++CROSS_COMPILE=
+
+ #
+ # Include the make variables (CC, etc...)
+@@ -89,6 +89,8 @@
+ # standard CFLAGS
+ #
+
++check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
++
+ CPPFLAGS := -D__KERNEL__ -I$(HPATH)
+
+ CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
+@@ -91,8 +93,10 @@
+
+ CPPFLAGS := -D__KERNEL__ -I$(HPATH)
+
+-CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
++CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
+ -fno-strict-aliasing -fno-common
++
++
+ ifndef CONFIG_FRAME_POINTER
+ CFLAGS += -fomit-frame-pointer
+ endif
+@@ -100,6 +105,12 @@
+ endif
+ AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)
+
++CFLAGS += $(call check_gcc, -funit-at-a-time,)
++
++
++
++
++
+ #
+ # ROOT_DEV specifies the default root-device when making the image.
+ # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
+diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile
+--- linux.old/arch/mips/Makefile 2005-11-07 23:12:50.582887000 +0100
++++ linux.dev/arch/mips/Makefile 2005-11-07 21:57:08.537629000 +0100
+@@ -46,10 +46,10 @@
+ GCCFLAGS := -I $(TOPDIR)/include/asm/gcc
+ GCCFLAGS += -G 0 -mno-abicalls -fno-pic -pipe
+ GCCFLAGS += $(call check_gcc, -finline-limit=100000,)
+-LINKFLAGS += -G 0 -static -n
+-MODFLAGS += -mlong-calls
++LINKFLAGS += -G 0 -static -n -nostdlib
++MODFLAGS += -mlong-calls -fno-common
+
+-ifdef CONFIG_DEBUG_INFO
++ifdef CONFIG_REMOTE_DEBUG
+ GCCFLAGS += -g
+ ifdef CONFIG_SB1XXX_CORELIS
+ GCCFLAGS += -mno-sched-prolog -fno-omit-frame-pointer
+@@ -71,13 +71,13 @@
+ set_gccflags = $(shell \
+ while :; do \
+ cpu=$(1); isa=-$(2); \
+- for gcc_opt in -march= -mcpu=; do \
++ for gcc_opt in -march= -mtune=; do \
+ $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+ -xc /dev/null > /dev/null 2>&1 && \
+ break 2; \
+ done; \
+ cpu=$(3); isa=-$(4); \
+- for gcc_opt in -march= -mcpu=; do \
++ for gcc_opt in -march= -mtune=; do \
+ $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+ -xc /dev/null > /dev/null 2>&1 && \
+ break 2; \
+@@ -92,7 +92,7 @@
+ fi; \
+ gas_abi=-Wa,-32; gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \
+ while :; do \
+- for gas_opt in -Wa,-march= -Wa,-mcpu=; do \
++ for gas_opt in -Wa,-march= -Wa,-mtune=; do \
+ $(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \
+ -o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \
+ break 2; \
+@@ -174,6 +174,7 @@
+ endif
+
+ AFLAGS += $(GCCFLAGS)
++ASFLAGS += $(GCCFLAGS)
+ CFLAGS += $(GCCFLAGS)
+
+ LD += -m $(ld-emul)
diff --git a/target/linux/linux-2.4/patches/generic/006-extra_optimization.patch b/target/linux/linux-2.4/patches/generic/006-extra_optimization.patch
deleted file mode 100644
index 5ae25cbfb..000000000
--- a/target/linux/linux-2.4/patches/generic/006-extra_optimization.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- linux-2.4.30/Makefile 2005-10-23 20:52:56.813948000 +0200
-+++ linux.dev/Makefile 2005-10-23 20:53:12.482927250 +0200
-@@ -89,6 +89,8 @@
- # standard CFLAGS
- #
-
-+check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
-+
- CPPFLAGS := -D__KERNEL__ -I$(HPATH)
-
- CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
-@@ -100,6 +102,12 @@
- endif
- AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)
-
-+CFLAGS += $(call check_gcc, -funit-at-a-time,)
-+
-+
-+
-+
-+
- #
- # ROOT_DEV specifies the default root-device when making the image.
- # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
diff --git a/target/linux/linux-2.4/patches/generic/209-build_fixes.patch b/target/linux/linux-2.4/patches/generic/209-build_fixes.patch
new file mode 100644
index 000000000..1c85437a5
--- /dev/null
+++ b/target/linux/linux-2.4/patches/generic/209-build_fixes.patch
@@ -0,0 +1,48 @@
+diff -urN linux.old/Makefile linux.dev/Makefile
+--- linux.old/Makefile 2005-08-26 13:41:41.689634168 +0200
++++ linux.dev/Makefile 2005-08-26 13:44:34.233403528 +0200
+@@ -354,7 +354,7 @@
+ @rm -f .ver1
+
+ include/linux/version.h: ./Makefile
+- @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
++ @-expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
+ (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
+ @echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
+ @echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver
+@@ -509,7 +509,7 @@
+ ifdef CONFIG_MODVERSIONS
+ $(MAKE) update-modverfile
+ endif
+- scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
++ find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print | xargs scripts/mkdep -- > .hdepend
+ scripts/mkdep -- init/*.c > .depend
+
+ ifdef CONFIG_MODVERSIONS
+--- linux.old/Rules.make 2005-08-31 00:37:34.363109288 +0200
++++ linux.dev/Rules.make 2005-08-31 13:59:20.140676296 +0200
+@@ -126,7 +126,7 @@
+ # This make dependencies quickly
+ #
+ fastdep: dummy
+- $(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS_nostdinc) -- $(wildcard *.[chS]) > .depend
++ find -name '*.[chS]' | xargs $(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS_nostdinc) -- > .depend
+ ifdef ALL_SUB_DIRS
+ $(MAKE) $(patsubst %,_sfdep_%,$(ALL_SUB_DIRS)) _FASTDEP_ALL_SUB_DIRS="$(ALL_SUB_DIRS)"
+ endif
+@@ -176,7 +176,14 @@
+ _modinst__: dummy
+ ifneq "$(strip $(ALL_MOBJS))" ""
+ mkdir -p $(MODLIB)/kernel/$(MOD_DESTDIR)
+- cp $(sort $(ALL_MOBJS)) $(MODLIB)/kernel/$(MOD_DESTDIR)
++ #@cp $(sort $(ALL_MOBJS)) $(MODLIB)/kernel/$(MOD_DESTDIR)
++ for f in $(ALL_MOBJS) ; do \
++ $(OBJCOPY) -R __ksymtab -R .comment -R .note -x \
++ `$(NM) $$f | cut -f3- -d' ' | sed -n \
++ -e 's/__module_parm_\(.*\)/-K \1/p' \
++ -e 's/__ks..tab_\(.*\)/-K \1/p'` \
++ $$f $(MODLIB)/kernel/$(MOD_DESTDIR)$(MOD_TARGET)$$f; \
++ done
+ endif
+
+ .PHONY: modules_install
diff --git a/target/linux/linux-2.4/patches/generic/209-mkdep_fix.patch b/target/linux/linux-2.4/patches/generic/209-mkdep_fix.patch
deleted file mode 100644
index a43d1d2fe..000000000
--- a/target/linux/linux-2.4/patches/generic/209-mkdep_fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- linux.old/Rules.make 2005-08-31 00:37:34.363109288 +0200
-+++ linux.dev/Rules.make 2005-08-31 13:59:20.140676296 +0200
-@@ -126,7 +126,7 @@
- # This make dependencies quickly
- #
- fastdep: dummy
-- $(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS_nostdinc) -- $(wildcard *.[chS]) > .depend
-+ find -name '*.[chS]' | xargs $(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS_nostdinc) -- > .depend
- ifdef ALL_SUB_DIRS
- $(MAKE) $(patsubst %,_sfdep_%,$(ALL_SUB_DIRS)) _FASTDEP_ALL_SUB_DIRS="$(ALL_SUB_DIRS)"
- endif
---- linux-2.4.30/Makefile.old 2005-11-11 14:27:55.878482250 +0100
-+++ linux-2.4.30/Makefile 2005-11-11 14:28:57.926360000 +0100
-@@ -509,7 +509,7 @@
- ifdef CONFIG_MODVERSIONS
- $(MAKE) update-modverfile
- endif
-- scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
-+ find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print | xargs scripts/mkdep -- > .hdepend
- scripts/mkdep -- init/*.c > .depend
-
- ifdef CONFIG_MODVERSIONS