|
@@ -0,0 +1,261 @@
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/common.mk mtd-utils-1.5.0/common.mk
|
|
|
+--- mtd-utils-1.5.0.orig/common.mk 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/common.mk 2014-03-22 11:25:31.000000000 +0100
|
|
|
+@@ -13,8 +13,6 @@
|
|
|
+ $(call cc-option,-Wwrite-strings) \
|
|
|
+ $(call cc-option,-Wno-sign-compare)
|
|
|
+ CFLAGS += $(WFLAGS)
|
|
|
+-SECTION_CFLAGS := $(call cc-option,-ffunction-sections -fdata-sections -Wl$(comma)--gc-sections)
|
|
|
+-CFLAGS += $(SECTION_CFLAGS)
|
|
|
+
|
|
|
+ ifneq ($(WITHOUT_LARGEFILE), 1)
|
|
|
+ CPPFLAGS += -D_FILE_OFFSET_BITS=64
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/compr_lzo.c mtd-utils-1.5.0/compr_lzo.c
|
|
|
+--- mtd-utils-1.5.0.orig/compr_lzo.c 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/compr_lzo.c 2014-03-22 11:12:06.000000000 +0100
|
|
|
+@@ -26,7 +26,6 @@
|
|
|
+ #include <string.h>
|
|
|
+
|
|
|
+ #ifndef WITHOUT_LZO
|
|
|
+-#include <asm/types.h>
|
|
|
+ #include <linux/jffs2.h>
|
|
|
+ #include <lzo/lzo1x.h>
|
|
|
+ #include "compr.h"
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/compr_zlib.c mtd-utils-1.5.0/compr_zlib.c
|
|
|
+--- mtd-utils-1.5.0.orig/compr_zlib.c 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/compr_zlib.c 2014-03-22 11:11:57.000000000 +0100
|
|
|
+@@ -39,7 +39,6 @@
|
|
|
+ #include <zlib.h>
|
|
|
+ #undef crc32
|
|
|
+ #include <stdio.h>
|
|
|
+-#include <asm/types.h>
|
|
|
+ #include <linux/jffs2.h>
|
|
|
+ #include "common.h"
|
|
|
+ #include "compr.h"
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/include/byteswap.h mtd-utils-1.5.0/include/byteswap.h
|
|
|
+--- mtd-utils-1.5.0.orig/include/byteswap.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
++++ mtd-utils-1.5.0/include/byteswap.h 2014-03-22 10:52:15.000000000 +0100
|
|
|
+@@ -0,0 +1,25 @@
|
|
|
++#ifndef _BYTESWAP_H
|
|
|
++#define _BYTESWAP_H
|
|
|
++
|
|
|
++#include <stdint.h>
|
|
|
++
|
|
|
++static __inline uint16_t __bswap_16(uint16_t __x)
|
|
|
++{
|
|
|
++ return __x<<8 | __x>>8;
|
|
|
++}
|
|
|
++
|
|
|
++static __inline uint32_t __bswap_32(uint32_t __x)
|
|
|
++{
|
|
|
++ return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
|
|
|
++}
|
|
|
++
|
|
|
++static __inline uint64_t __bswap_64(uint64_t __x)
|
|
|
++{
|
|
|
++ return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32);
|
|
|
++}
|
|
|
++
|
|
|
++#define bswap_16(x) __bswap_16(x)
|
|
|
++#define bswap_32(x) __bswap_32(x)
|
|
|
++#define bswap_64(x) __bswap_64(x)
|
|
|
++
|
|
|
++#endif
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/include/endian.h mtd-utils-1.5.0/include/endian.h
|
|
|
+--- mtd-utils-1.5.0.orig/include/endian.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
++++ mtd-utils-1.5.0/include/endian.h 2014-03-22 11:09:57.000000000 +0100
|
|
|
+@@ -0,0 +1,20 @@
|
|
|
++#ifndef _ENDIAN_H
|
|
|
++#define _ENDIAN_H
|
|
|
++
|
|
|
++#ifndef __BIG_ENDIAN
|
|
|
++#define __BIG_ENDIAN 4321
|
|
|
++#endif
|
|
|
++
|
|
|
++ #ifndef __LITTLE_ENDIAN
|
|
|
++ #define __LITTLE_ENDIAN 1234
|
|
|
++ #endif
|
|
|
++
|
|
|
++#ifndef __BYTE_ORDER
|
|
|
++#define __BYTE_ORDER __LITTLE_ENDIAN
|
|
|
++#endif
|
|
|
++
|
|
|
++#ifndef BYTE_ORDER
|
|
|
++#define BYTE_ORDER __LITTLE_ENDIAN
|
|
|
++#endif
|
|
|
++
|
|
|
++#endif
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/include/linux/types.h mtd-utils-1.5.0/include/linux/types.h
|
|
|
+--- mtd-utils-1.5.0.orig/include/linux/types.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
++++ mtd-utils-1.5.0/include/linux/types.h 2014-03-22 11:17:12.000000000 +0100
|
|
|
+@@ -0,0 +1,18 @@
|
|
|
++#ifndef _LINUX_TYPES_H
|
|
|
++#define _LINUX_TYPES_H
|
|
|
++
|
|
|
++#include <mtd/ubi-media.h>
|
|
|
++
|
|
|
++typedef uint16_t __u16;
|
|
|
++typedef uint32_t __u32;
|
|
|
++typedef uint64_t __u64;
|
|
|
++
|
|
|
++typedef __u16 __le16;
|
|
|
++typedef __u32 __le32;
|
|
|
++typedef __u64 __le64;
|
|
|
++typedef __u64 off64_t;
|
|
|
++
|
|
|
++typedef __u16 __sum16;
|
|
|
++typedef __u32 __wsum;
|
|
|
++
|
|
|
++#endif /* _LINUX_TYPES_H */
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/include/mtd/jffs2-user.h mtd-utils-1.5.0/include/mtd/jffs2-user.h
|
|
|
+--- mtd-utils-1.5.0.orig/include/mtd/jffs2-user.h 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/include/mtd/jffs2-user.h 2014-03-22 11:01:37.000000000 +0100
|
|
|
+@@ -9,8 +9,13 @@
|
|
|
+
|
|
|
+ /* This file is blessed for inclusion by userspace */
|
|
|
+ #include <linux/jffs2.h>
|
|
|
++#if defined(__APPLE__)
|
|
|
++#include "endian.h"
|
|
|
++#include "byteswap.h"
|
|
|
++#else
|
|
|
+ #include <endian.h>
|
|
|
+ #include <byteswap.h>
|
|
|
++#endif
|
|
|
+
|
|
|
+ #undef cpu_to_je16
|
|
|
+ #undef cpu_to_je32
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/include/mtd/mtd-abi.h mtd-utils-1.5.0/include/mtd/mtd-abi.h
|
|
|
+--- mtd-utils-1.5.0.orig/include/mtd/mtd-abi.h 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/include/mtd/mtd-abi.h 2014-03-22 11:21:06.000000000 +0100
|
|
|
+@@ -171,9 +171,9 @@
|
|
|
+ /* Get info about OOB modes (e.g., RAW, PLACE, AUTO) - legacy interface */
|
|
|
+ #define MEMGETOOBSEL _IOR('M', 10, struct nand_oobinfo)
|
|
|
+ /* Check if an eraseblock is bad */
|
|
|
+-#define MEMGETBADBLOCK _IOW('M', 11, __kernel_loff_t)
|
|
|
++#define MEMGETBADBLOCK _IOW('M', 11, off_t)
|
|
|
+ /* Mark an eraseblock as bad */
|
|
|
+-#define MEMSETBADBLOCK _IOW('M', 12, __kernel_loff_t)
|
|
|
++#define MEMSETBADBLOCK _IOW('M', 12, off_t)
|
|
|
+ /* Set OTP (One-Time Programmable) mode (factory vs. user) */
|
|
|
+ #define OTPSELECT _IOR('M', 13, int)
|
|
|
+ /* Get number of OTP (One-Time Programmable) regions */
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/include/mtd/ubi-media.h mtd-utils-1.5.0/include/mtd/ubi-media.h
|
|
|
+--- mtd-utils-1.5.0.orig/include/mtd/ubi-media.h 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/include/mtd/ubi-media.h 2014-03-22 11:18:03.000000000 +0100
|
|
|
+@@ -30,7 +30,15 @@
|
|
|
+ #ifndef __UBI_MEDIA_H__
|
|
|
+ #define __UBI_MEDIA_H__
|
|
|
+
|
|
|
++#ifdef __linux__
|
|
|
+ #include <asm/byteorder.h>
|
|
|
++#else
|
|
|
++#include <stdint.h>
|
|
|
++typedef uint8_t __u8;
|
|
|
++typedef uint16_t __be16;
|
|
|
++typedef uint32_t __be32;
|
|
|
++typedef uint64_t __be64;
|
|
|
++#endif
|
|
|
+
|
|
|
+ /* The version of UBI images supported by this implementation */
|
|
|
+ #define UBI_VERSION 1
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/lib/libfec.c mtd-utils-1.5.0/lib/libfec.c
|
|
|
+--- mtd-utils-1.5.0.orig/lib/libfec.c 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/lib/libfec.c 2014-03-22 11:24:15.000000000 +0100
|
|
|
+@@ -61,8 +61,6 @@
|
|
|
+ };
|
|
|
+ #define gettimeofday(x, dummy) { (x)->ticks = clock() ; }
|
|
|
+ #define DIFF_T(a,b) (1+ 1000000*(a.ticks - b.ticks) / CLOCKS_PER_SEC )
|
|
|
+-typedef unsigned long u_long ;
|
|
|
+-typedef unsigned short u_short ;
|
|
|
+ #else /* typically, unix systems */
|
|
|
+ #include <sys/time.h>
|
|
|
+ #define DIFF_T(a,b) \
|
|
|
+@@ -625,7 +623,7 @@
|
|
|
+ #define FEC_MAGIC 0xFECC0DEC
|
|
|
+
|
|
|
+ struct fec_parms {
|
|
|
+- u_long magic ;
|
|
|
++ unsigned long magic ;
|
|
|
+ int k, n ; /* parameters of the code */
|
|
|
+ gf *enc_matrix ;
|
|
|
+ } ;
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/lib/libmtd.c mtd-utils-1.5.0/lib/libmtd.c
|
|
|
+--- mtd-utils-1.5.0.orig/lib/libmtd.c 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/lib/libmtd.c 2014-03-22 11:15:49.000000000 +0100
|
|
|
+@@ -1006,7 +1006,7 @@
|
|
|
+ int mtd_is_bad(const struct mtd_dev_info *mtd, int fd, int eb)
|
|
|
+ {
|
|
|
+ int ret;
|
|
|
+- loff_t seek;
|
|
|
++ off_t seek;
|
|
|
+
|
|
|
+ ret = mtd_valid_erase_block(mtd, eb);
|
|
|
+ if (ret)
|
|
|
+@@ -1015,7 +1015,7 @@
|
|
|
+ if (!mtd->bb_allowed)
|
|
|
+ return 0;
|
|
|
+
|
|
|
+- seek = (loff_t)eb * mtd->eb_size;
|
|
|
++ seek = (off_t)eb * mtd->eb_size;
|
|
|
+ ret = ioctl(fd, MEMGETBADBLOCK, &seek);
|
|
|
+ if (ret == -1)
|
|
|
+ return mtd_ioctl_error(mtd, eb, "MEMGETBADBLOCK");
|
|
|
+@@ -1025,7 +1025,7 @@
|
|
|
+ int mtd_mark_bad(const struct mtd_dev_info *mtd, int fd, int eb)
|
|
|
+ {
|
|
|
+ int ret;
|
|
|
+- loff_t seek;
|
|
|
++ off_t seek;
|
|
|
+
|
|
|
+ if (!mtd->bb_allowed) {
|
|
|
+ errno = EINVAL;
|
|
|
+@@ -1036,7 +1036,7 @@
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+
|
|
|
+- seek = (loff_t)eb * mtd->eb_size;
|
|
|
++ seek = (off_t)eb * mtd->eb_size;
|
|
|
+ ret = ioctl(fd, MEMSETBADBLOCK, &seek);
|
|
|
+ if (ret == -1)
|
|
|
+ return mtd_ioctl_error(mtd, eb, "MEMSETBADBLOCK");
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/lib/libmtd_legacy.c mtd-utils-1.5.0/lib/libmtd_legacy.c
|
|
|
+--- mtd-utils-1.5.0.orig/lib/libmtd_legacy.c 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/lib/libmtd_legacy.c 2014-03-22 11:22:18.000000000 +0100
|
|
|
+@@ -234,7 +234,7 @@
|
|
|
+ struct stat st;
|
|
|
+ struct mtd_info_user ui;
|
|
|
+ int fd, ret;
|
|
|
+- loff_t offs = 0;
|
|
|
++ off_t offs = 0;
|
|
|
+ struct proc_parse_info pi;
|
|
|
+
|
|
|
+ if (stat(node, &st)) {
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/mkfs.jffs2.c mtd-utils-1.5.0/mkfs.jffs2.c
|
|
|
+--- mtd-utils-1.5.0.orig/mkfs.jffs2.c 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/mkfs.jffs2.c 2014-03-22 11:11:15.000000000 +0100
|
|
|
+@@ -70,7 +70,12 @@
|
|
|
+ #include <sys/xattr.h>
|
|
|
+ #include <sys/acl.h>
|
|
|
+ #endif
|
|
|
++#if defined(__APPLE__)
|
|
|
++#include "endian.h"
|
|
|
++#include "byteswap.h"
|
|
|
++#else
|
|
|
+ #include <byteswap.h>
|
|
|
++#endif
|
|
|
+ #include <crc32.h>
|
|
|
+ #include <inttypes.h>
|
|
|
+
|
|
|
+diff -Nur mtd-utils-1.5.0.orig/rbtree.h mtd-utils-1.5.0/rbtree.h
|
|
|
+--- mtd-utils-1.5.0.orig/rbtree.h 2012-05-07 09:19:39.000000000 +0200
|
|
|
++++ mtd-utils-1.5.0/rbtree.h 2014-03-22 11:07:58.000000000 +0100
|
|
|
+@@ -94,8 +94,7 @@
|
|
|
+ #ifndef _LINUX_RBTREE_H
|
|
|
+ #define _LINUX_RBTREE_H
|
|
|
+
|
|
|
+-#include <linux/kernel.h>
|
|
|
+-#include <linux/stddef.h>
|
|
|
++#include <stddef.h>
|
|
|
+
|
|
|
+ struct rb_node
|
|
|
+ {
|