summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--miscutils/flash_eraseall.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/miscutils/flash_eraseall.c b/miscutils/flash_eraseall.c
index e0e07ae..ece2500 100644
--- a/miscutils/flash_eraseall.c
+++ b/miscutils/flash_eraseall.c
@@ -20,11 +20,15 @@
#define isNAND (1 << _bitNAND)
#define bbtest (1 << 3)
-/* This is used in the cpu_to_je/je_to_cpu macros in jffs2_user.h */
-/* FIXME: target_endian should be const!
- * FIXME: Also it sounds more sensible to use our own existing SWAP_ macros.
- */
-/* const */ int target_endian = __BYTE_ORDER;
+struct globals {
+ /* This is used in the cpu_to_je/je_to_cpu macros in jffs2_user.h */
+ int tgt_endian;
+};
+#define G (*(struct globals*)&bb_common_bufsiz1)
+#define target_endian (G.tgt_endian)
+#define INIT_G() do { \
+ target_endian = __BYTE_ORDER; \
+} while (0)
static uint32_t crc32(uint32_t val, const void *ss, int len,
uint32_t *crc32_table)
@@ -54,6 +58,7 @@ int flash_eraseall_main(int argc UNUSED_PARAM, char **argv)
unsigned int flags;
char *mtd_name;
+ INIT_G();
opt_complementary = "=1";
flags = getopt32(argv, "jq");