aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorImre Kaloz <kaloz@openwrt.org>2013-12-13 16:38:43 +0000
committerImre Kaloz <kaloz@openwrt.org>2013-12-13 16:38:43 +0000
commit1eff212ce83608a401a18de31f0799e66a3e9200 (patch)
tree606fe04f742a4fb5d94cc25e4a6df29aedce47eb
parent9c3adcb2e6b2204e9e7e931b2d10b833d83bd7ab (diff)
downloadupstream-1eff212ce83608a401a18de31f0799e66a3e9200.tar.gz
upstream-1eff212ce83608a401a18de31f0799e66a3e9200.tar.bz2
upstream-1eff212ce83608a401a18de31f0799e66a3e9200.zip
fix jffs2 with internal libgcc and switch omap4 to ext4
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> SVN-Revision: 39044
-rw-r--r--package/boot/uboot-omap/patches/001-switch_omap4_ext4.patch11
-rw-r--r--package/boot/uboot-omap/patches/002-fix_jffs2.patch34
2 files changed, 45 insertions, 0 deletions
diff --git a/package/boot/uboot-omap/patches/001-switch_omap4_ext4.patch b/package/boot/uboot-omap/patches/001-switch_omap4_ext4.patch
new file mode 100644
index 0000000000..d741c08675
--- /dev/null
+++ b/package/boot/uboot-omap/patches/001-switch_omap4_ext4.patch
@@ -0,0 +1,11 @@
+--- a/include/configs/omap4_common
++++ b/include/configs/omap4_common.h
+@@ -143,7 +143,7 @@
+ "vram=16M\0" \
+ "mmcdev=0\0" \
+ "mmcroot=/dev/mmcblk0p2 rw\0" \
+- "mmcrootfstype=ext3 rootwait\0" \
++ "mmcrootfstype=ext4 rootwait\0" \
+ "mmcargs=setenv bootargs console=${console} " \
+ "vram=${vram} " \
+ "root=${mmcroot} " \
diff --git a/package/boot/uboot-omap/patches/002-fix_jffs2.patch b/package/boot/uboot-omap/patches/002-fix_jffs2.patch
new file mode 100644
index 0000000000..cba0e25aac
--- /dev/null
+++ b/package/boot/uboot-omap/patches/002-fix_jffs2.patch
@@ -0,0 +1,34 @@
+Building boards that have JFFS2 support enabled will fail when using
+U-Boot's builtin GCC library, for example like this:
+
+USE_PRIVATE_LIBGCC=yes ./MAKEALL omap3_evm
+...
+fs/jffs2/libjffs2.o: In function `jffs2_1pass_build_lists':
+fs/jffs2/jffs2_1pass.c:1441: undefined reference to `__aeabi_uldivmod'
+
+This is caused by a u64 / u32 division in jffs2_1pass.c; the problem
+can be avoided by using do_div() instead of plain division.
+
+Signed-off-by: Wolfgang Denk <wd@denx.de>
+Reported-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
+Cc: Chris Ruehl <chris.ruehl@gtsys.com.hk>
+
+---
+ fs/jffs2/jffs2_1pass.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fs/jffs2/jffs2_1pass.c b/fs/jffs2/jffs2_1pass.c
+index c856983..a7dbe79 100644
+--- a/fs/jffs2/jffs2_1pass.c
++++ b/fs/jffs2/jffs2_1pass.c
+@@ -1438,7 +1438,7 @@ jffs2_1pass_build_lists(struct part_info * part)
+ {
+ struct b_lists *pL;
+ struct jffs2_unknown_node *node;
+- u32 nr_sectors = part->size/part->sector_size;
++ u32 nr_sectors = do_div(part->size, part->sector_size);
+ u32 i;
+ u32 counter4 = 0;
+ u32 counterF = 0;
+--
+1.8.3.1