summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-extended/mdadm/mdadm/fix_for_compilation_with_gcc-4.6.0.patch174
-rw-r--r--meta/recipes-extended/mdadm/mdadm_3.2.1.bb5
2 files changed, 177 insertions, 2 deletions
diff --git a/meta/recipes-extended/mdadm/mdadm/fix_for_compilation_with_gcc-4.6.0.patch b/meta/recipes-extended/mdadm/mdadm/fix_for_compilation_with_gcc-4.6.0.patch
new file mode 100644
index 0000000000..f79511b42c
--- /dev/null
+++ b/meta/recipes-extended/mdadm/mdadm/fix_for_compilation_with_gcc-4.6.0.patch
@@ -0,0 +1,174 @@
+Upstream-Status: Pending
+
+Nitin A Kamble <nitin.a.kamble@intel.com> 2011/05/06
+
+Fix these compilation errors with gcc 4.6.0
+
+| super1.c: In function 'calc_sb_1_csum':
+| super1.c:114:6: error: variable 'i' set but not used [-Werror=unused-but-set-variable]
+| Query.c: In function 'Query':
+| Query.c:38:16: error: variable 'superrno' set but not used [-Werror=unused-but-set-variable]
+| super1.c: In function 'examine_super1':
+| super1.c:390:7: error: variable 'me' set but not used [-Werror=unused-but-set-variable]
+| cc1: all warnings being treated as errors
+|
+| make: *** [Query.o] Error 1
+| make: *** Waiting for unfinished jobs....
+| mdadm.c: In function 'main':
+| mdadm.c:106:6: error: variable 'auto_update_home' set but not used [-Werror=unused-but-set-variable]
+| mdmon.c: In function 'mdmon':
+| mdmon.c:354:6: error: variable 'ignore' set but not used [-Werror=unused-but-set-variable]
+| cc1: all warnings being treated as errors
+|
+| make: *** [mdmon.o] Error 1
+| cc1: all warnings being treated as errors
+|
+| sysfs.c: In function 'sysfs_uevent':
+| sysfs.c:421:6: error: variable 'n' set but not used [-Werror=unused-but-set-variable]
+| cc1: all warnings being treated as errors
+|
+| make: *** [mdadm.o] Error 1
+| make: *** [super1.o] Error 1
+| cc1: all warnings being treated as errors
+|
+| make: *** [sysfs.o] Error 1
+| Grow.c: In function 'Grow_reshape':
+| Grow.c:1315:6: error: variable 'changed' set but not used [-Werror=unused-but-set-variable]
+| cc1: all warnings being treated as errors
+|
+| make: *** [Grow.o] Error 1
+| ERROR: oe_runmake failed
+
+Index: mdadm-3.2.1/Grow.c
+===================================================================
+--- mdadm-3.2.1.orig/Grow.c
++++ mdadm-3.2.1/Grow.c
+@@ -1312,7 +1312,6 @@ int Grow_reshape(char *devname, int fd,
+ char *subarray = NULL;
+
+ int frozen;
+- int changed = 0;
+ char *container = NULL;
+ char container_buf[20];
+ int cfd = -1;
+@@ -1479,7 +1478,6 @@ int Grow_reshape(char *devname, int fd,
+ if (!quiet)
+ fprintf(stderr, Name ": component size of %s has been set to %lluK\n",
+ devname, size);
+- changed = 1;
+ } else if (array.level != LEVEL_CONTAINER) {
+ size = get_component_size(fd)/2;
+ if (size == 0)
+Index: mdadm-3.2.1/Query.c
+===================================================================
+--- mdadm-3.2.1.orig/Query.c
++++ mdadm-3.2.1/Query.c
+@@ -35,7 +35,7 @@ int Query(char *dev)
+ int fd = open(dev, O_RDONLY);
+ int vers;
+ int ioctlerr;
+- int superror, superrno;
++ int superror;
+ struct mdinfo info;
+ mdu_array_info_t array;
+ struct supertype *st = NULL;
+@@ -84,7 +84,6 @@ int Query(char *dev)
+ st = guess_super(fd);
+ if (st) {
+ superror = st->ss->load_super(st, fd, dev);
+- superrno = errno;
+ } else
+ superror = -1;
+ close(fd);
+Index: mdadm-3.2.1/mdadm.c
+===================================================================
+--- mdadm-3.2.1.orig/mdadm.c
++++ mdadm-3.2.1/mdadm.c
+@@ -103,7 +103,7 @@ int main(int argc, char *argv[])
+ char *shortopt = short_options;
+ int dosyslog = 0;
+ int rebuild_map = 0;
+- int auto_update_home = 0;
++ int __attribute__((__unused__)) auto_update_home = 0;
+ char *subarray = NULL;
+ char *remove_path = NULL;
+ char *udev_filename = NULL;
+Index: mdadm-3.2.1/mdmon.c
+===================================================================
+--- mdadm-3.2.1.orig/mdmon.c
++++ mdadm-3.2.1/mdmon.c
+@@ -351,7 +351,6 @@ static int mdmon(char *devname, int devn
+ struct sigaction act;
+ int pfd[2];
+ int status;
+- int ignore;
+ pid_t victim = -1;
+ int victim_sock = -1;
+
+@@ -459,7 +458,6 @@ static int mdmon(char *devname, int devn
+ if (victim >= 0)
+ victim_sock = connect_monitor(container->devname);
+
+- ignore = chdir("/");
+ if (!takeover && victim > 0 && victim_sock >= 0) {
+ if (fping_monitor(victim_sock) == 0) {
+ fprintf(stderr, "mdmon: %s already managed\n",
+@@ -507,10 +505,8 @@ static int mdmon(char *devname, int devn
+ close(0);
+ open("/dev/null", O_RDWR);
+ close(1);
+- ignore = dup(0);
+ #ifndef DEBUG
+ close(2);
+- ignore = dup(0);
+ #endif
+
+ do_manager(container);
+Index: mdadm-3.2.1/super1.c
+===================================================================
+--- mdadm-3.2.1.orig/super1.c
++++ mdadm-3.2.1/super1.c
+@@ -111,7 +111,6 @@ static unsigned int calc_sb_1_csum(struc
+ unsigned long long newcsum;
+ int size = sizeof(*sb) + __le32_to_cpu(sb->max_dev)*2;
+ unsigned int *isuper = (unsigned int*)sb;
+- int i;
+
+ /* make sure I can count... */
+ if (offsetof(struct mdp_superblock_1,data_offset) != 128 ||
+@@ -123,7 +122,7 @@ static unsigned int calc_sb_1_csum(struc
+ disk_csum = sb->sb_csum;
+ sb->sb_csum = 0;
+ newcsum = 0;
+- for (i=0; size>=4; size -= 4 ) {
++ for (; size>=4; size -= 4 ) {
+ newcsum += __le32_to_cpu(*isuper);
+ isuper++;
+ }
+@@ -387,13 +386,10 @@ static void examine_super1(struct supert
+ printf(" Array State : ");
+ for (d=0; d<__le32_to_cpu(sb->raid_disks) + delta_extra; d++) {
+ int cnt = 0;
+- int me = 0;
+ unsigned int i;
+ for (i=0; i< __le32_to_cpu(sb->max_dev); i++) {
+ unsigned int role = __le16_to_cpu(sb->dev_roles[i]);
+ if (role == d) {
+- if (i == __le32_to_cpu(sb->dev_number))
+- me = 1;
+ cnt++;
+ }
+ }
+Index: mdadm-3.2.1/sysfs.c
+===================================================================
+--- mdadm-3.2.1.orig/sysfs.c
++++ mdadm-3.2.1/sysfs.c
+@@ -418,7 +418,7 @@ int sysfs_set_num(struct mdinfo *sra, st
+ int sysfs_uevent(struct mdinfo *sra, char *event)
+ {
+ char fname[50];
+- int n;
++ int __attribute__((__unused__)) n;
+ int fd;
+
+ sprintf(fname, "/sys/block/%s/uevent",
diff --git a/meta/recipes-extended/mdadm/mdadm_3.2.1.bb b/meta/recipes-extended/mdadm/mdadm_3.2.1.bb
index 937abad845..80fe520293 100644
--- a/meta/recipes-extended/mdadm/mdadm_3.2.1.bb
+++ b/meta/recipes-extended/mdadm/mdadm_3.2.1.bb
@@ -8,9 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
-PR = "r0"
+PR = "r1"
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.bz2"
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.bz2 \
+ file://fix_for_compilation_with_gcc-4.6.0.patch"
SRC_URI[md5sum] = "d1e2549202bd79d9e99f1498d1109530"
SRC_URI[sha256sum] = "7f68f149c6c0e8893d0b9220ac255b46af08e6a6b81223cab57ed54d628ae125"