[uClibc-cvs] svn commit: trunk/buildroot/target/cramfs

andersen at uclibc.org andersen at uclibc.org
Fri May 6 00:17:05 UTC 2005


Author: andersen
Date: 2005-05-05 18:17:04 -0600 (Thu, 05 May 2005)
New Revision: 10252

Log:
Teach cramfs to handle byteswapping sanely.  I want to specify
big endian or little endian, not whether to unconditionally do
byteswapping regardless of build system byte order.


Modified:
   trunk/buildroot/target/cramfs/cramfs-02-endian.patch
   trunk/buildroot/target/cramfs/cramfs.mk


Changeset:
Modified: trunk/buildroot/target/cramfs/cramfs-02-endian.patch
===================================================================
--- trunk/buildroot/target/cramfs/cramfs-02-endian.patch	2005-05-05 04:26:07 UTC (rev 10251)
+++ trunk/buildroot/target/cramfs/cramfs-02-endian.patch	2005-05-06 00:17:04 UTC (rev 10252)
@@ -8,11 +8,12 @@
  
  static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid;
  static const char *const memory_exhausted = "memory exhausted";
-@@ -155,6 +156,7 @@
+@@ -155,6 +156,8 @@
  		" -i file    insert a file image into the filesystem (requires >= 2.4.0)\n"
  		" -n name    set name of cramfs filesystem\n"
  		" -p         pad by %d bytes for boot code\n"
-+		" -r         reverse endian-ness of filesystem\n"
++		" -l         litte endian filesystem\n"
++		" -b         big endian filesystem\n"
  		" -s         sort directory entries (old option, ignored)\n"
  		" -v         be more verbose\n"
  		" -z         make explicit holes (requires >= 2.3.39)\n"
@@ -108,18 +109,26 @@
  
  	/* command line options */
 -	while ((c = getopt(argc, argv, "hEe:i:n:psvzD:q")) != EOF) {
-+	while ((c = getopt(argc, argv, "hEe:i:n:prsvzD:q")) != EOF) {
++	while ((c = getopt(argc, argv, "hEe:i:n:psvzD:qlb")) != EOF) {
  		switch (c) {
  		case 'h':
  			usage(MKFS_OK);
-@@ -1174,6 +1226,10 @@
+@@ -1174,6 +1227,18 @@
  			opt_pad = PAD_SIZE;
  			fslen_ub += PAD_SIZE;
  			break;
-+		case 'r':
++		case 'b':
++#if __BYTE_ORDER == __LITTLE_ENDIAN
 +			swap_endian = 1;
 +			printf("Swapping filesystem endian-ness\n");
++#endif
 +			break;
++		case 'l':
++#if __BYTE_ORDER == __BIG_ENDIAN
++			swap_endian = 1;
++			printf("Swapping filesystem endian-ness\n");
++#endif
++			break;
  		case 's':
  			/* old option, ignored */
  			break;

Modified: trunk/buildroot/target/cramfs/cramfs.mk
===================================================================
--- trunk/buildroot/target/cramfs/cramfs.mk	2005-05-05 04:26:07 UTC (rev 10251)
+++ trunk/buildroot/target/cramfs/cramfs.mk	2005-05-06 00:17:04 UTC (rev 10252)
@@ -33,23 +33,24 @@
 # Build the cramfs root filesystem image
 #
 #############################################################
+CRAMFS_ENDIANNESS=-l
 ifeq ($(strip $(BR2_armeb)),y)
-CRAMFS_ENDIANNESS=-r
+CRAMFS_ENDIANNESS=-b
 endif
 ifeq ($(strip $(BR2_mips)),y)
-CRAMFS_ENDIANNESS=-r
+CRAMFS_ENDIANNESS=-b
 endif
 ifeq ($(strip $(BR2_powerpc)),y)
-CRAMFS_ENDIANNESS=-r
+CRAMFS_ENDIANNESS=-b
 endif
 ifeq ($(strip $(BR2_sh3eb)),y)
-CRAMFS_ENDIANNESS=-r
+CRAMFS_ENDIANNESS=-b
 endif
 ifeq ($(strip $(BR2_sh4eb)),y)
-CRAMFS_ENDIANNESS=-r
+CRAMFS_ENDIANNESS=-b
 endif
 ifeq ($(strip $(BR2_sparc)),y)
-CRAMFS_ENDIANNESS=-r
+CRAMFS_ENDIANNESS=-b
 endif
 
 cramfsroot: cramfs




More information about the uClibc-cvs mailing list