diff -Naur ltp-base-20080630/testcases/kernel/mem/shmt/shmt09.c ltp-base-20080630_new/testcases/kernel/mem/shmt/shmt09.c
--- ltp-base-20080630/testcases/kernel/mem/shmt/shmt09.c	2008-06-29 01:49:40.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/mem/shmt/shmt09.c	2008-08-21 10:01:36.000000000 +0530
@@ -64,6 +64,8 @@
 #define INCREMENT		262144	/* 256Kb */
 #elif defined __sh__ || defined (__arm__)
 #define INCREMENT 		16384   /* 16kb */
+#elif defined (__arm__)
+#define INCREMENT 		32768   /* 32kb */
 #else
 #define INCREMENT 		SHMLBA
 #endif
@@ -145,6 +147,8 @@
 	vp = (void *)((char *)sbrk(0) + 256 * K_1);
 #elif  defined(__powerpc__) || defined(__powerpc64__)
 	vp = (void *)((char *)sbrk(0) + getpagesize());
+#elif  defined __arm__
+    vp = (void *)((char *)sbrk(0) + 32 * K_1);
 #else
 	/* SHM_RND rounds vp on the nearest multiple of SHMLBA */
 	vp = (void *)SHMALIGN((char *)sbrk(0) + 1);
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/msgctl/msgctl01.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/msgctl/msgctl01.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/msgctl/msgctl01.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/msgctl/msgctl01.c	2008-08-21 10:02:38.000000000 +0530
@@ -91,7 +91,7 @@
 		 * Get the msqid_ds structure values for the queue
 		 */
 	
-		TEST(msgctl(msg_q_1, IPC_STAT, &qs_buf));
+		TEST(msgctl(msg_q_1, IPC_STAT | 0x100, &qs_buf));
 	
 		if (TEST_RETURN == -1) {
 			tst_resm(TFAIL, "%s call failed - errno = %d"
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/msgctl/msgctl06.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/msgctl/msgctl06.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/msgctl/msgctl06.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/msgctl/msgctl06.c	2008-08-21 10:04:03.000000000 +0530
@@ -90,7 +90,7 @@
 	        tst_exit();
 	}
 
-	TEST(msgctl(msqid, IPC_STAT, &buf));
+	TEST(msgctl(msqid, IPC_STAT | 0x100, &buf));
 	status = TEST_RETURN;
 	if (TEST_RETURN == -1)
 	{
@@ -190,7 +190,7 @@
 #endif
 	fflush (stdout);
 	(void) msgctl(msqid, IPC_RMID, (struct msqid_ds *)NULL);
-	if ((status = msgctl(msqid, IPC_STAT, &buf)) != -1)
+	if ((status = msgctl(msqid, IPC_STAT | 0x100, &buf)) != -1)
 	{
 		(void) msgctl(msqid, IPC_RMID, (struct msqid_ds *)NULL);
                 tst_resm(TFAIL, "msgctl(msqid, IPC_RMID) failed");
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/msgsnd/msgsnd01.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/msgsnd/msgsnd01.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/msgsnd/msgsnd01.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/msgsnd/msgsnd01.c	2008-08-21 10:04:36.000000000 +0530
@@ -107,7 +107,7 @@
 		if (STD_FUNCTIONAL_TEST) {
 
 			/* get the queue status */
-			if (msgctl(msg_q_1, IPC_STAT, &qs_buf) == -1) {
+			if (msgctl(msg_q_1, IPC_STAT | 0x100, &qs_buf) == -1) {
 				tst_brkm(TBROK, cleanup, "Could not "
 					 "get queue status");
 			}
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/semctl/semctl01.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/semctl/semctl01.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/semctl/semctl01.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/semctl/semctl01.c	2008-08-21 10:05:47.000000000 +0530
@@ -122,9 +122,9 @@
 	union semun arg;
 	void (*func_setup)();	/* the setup function if necessary */
 } TC[] = {
-	{0, IPC_STAT, func_stat, SEMUN_CAST &buf, NULL},
+	{0, IPC_STAT | 0x100, func_stat, SEMUN_CAST &buf, NULL},
 
-	{0, IPC_SET, func_set, SEMUN_CAST &buf, set_setup},
+	{0, IPC_SET | 0x100, func_set, SEMUN_CAST &buf, set_setup},
 
 	{0, GETALL, func_gall, SEMUN_CAST array, NULL},
 
@@ -294,7 +294,7 @@
 func_set()
 {
 	/* first stat the semaphore to get the new data */
-	if (semctl(sem_id_1, 0, IPC_STAT, (union semun)&buf) == -1) {
+	if (semctl(sem_id_1, 0, IPC_STAT | 0x100, (union semun)&buf) == -1) {
 		tst_resm(TBROK, "stat failed in func_set()");
 		return;
 	}
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/semctl/semctl07.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/semctl/semctl07.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/semctl/semctl07.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/semctl/semctl07.c	2008-08-21 10:06:23.000000000 +0530
@@ -91,7 +91,7 @@
 /*--------------------------------------------------------------*/
 
 	arg.buf = &buf_ds;
-	if ((status = semctl(semid, 0, IPC_STAT, arg)) == -1) {
+	if ((status = semctl(semid, 0, IPC_STAT | 0x100, arg)) == -1) {
 		tst_resm(TFAIL, "semctl() failed errno = %d", errno);
 		semctl(semid, 1, IPC_RMID, arg);
 		tst_exit();
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/semget/semget01.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/semget/semget01.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/semget/semget01.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/semget/semget01.c	2008-08-21 10:09:47.000000000 +0530
@@ -131,7 +131,7 @@
 
 	/* STAT the semaphore */
 	un_arg.buf = &semary;
-	if (semctl(sem_id_1, 0, IPC_STAT, un_arg) == -1) {
+	if (semctl(sem_id_1, 0, IPC_STAT | 0x100, un_arg) == -1) {
 		tst_brkm(TBROK, cleanup, "Could not stat the semaphore");
 		return;
 	}
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c	2008-08-21 10:17:13.000000000 +0530
@@ -109,15 +109,15 @@
 	void (*func_setup)();	/* the setup function if necessary */
 } TC[] = {
 
-	{IPC_STAT, func_stat, stat_setup},
+	{IPC_STAT | 0x100, func_stat, stat_setup},
 
 #ifndef UCLINUX
 	/* The second test is not applicable to uClinux; shared memory segments
 	   are detached on exec(), so cannot be passed to uClinux children. */
-	{IPC_STAT, func_stat, stat_setup},
+	{IPC_STAT | 0x100, func_stat, stat_setup},
 #endif
 
-	{IPC_SET, func_set, set_setup},
+	{IPC_SET | 0x100, func_set, set_setup},
 
 	{IPC_RMID, func_rmid, NULL}
 };
@@ -445,7 +445,7 @@
 	int fail = 0;
 
 	/* first stat the shared memory to get the new data */
-	if (shmctl(shm_id_1, IPC_STAT, &buf) == -1) {
+	if (shmctl(shm_id_1, IPC_STAT | 0x100, &buf) == -1) {
 		tst_resm(TBROK, "stat failed in func_set()");
 		return;
 	}
diff -Naur ltp-base-20080630/testcases/kernel/syscalls/ipc/shmget/shmget01.c ltp-base-20080630_new/testcases/kernel/syscalls/ipc/shmget/shmget01.c
--- ltp-base-20080630/testcases/kernel/syscalls/ipc/shmget/shmget01.c	2008-06-29 01:49:43.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/syscalls/ipc/shmget/shmget01.c	2008-08-21 10:18:03.000000000 +0530
@@ -96,7 +96,7 @@
 			shm_id_1 = TEST_RETURN;
 			if (STD_FUNCTIONAL_TEST) {
 				/* do a STAT and check some info */
-				if (shmctl(shm_id_1, IPC_STAT, &buf) == -1) {
+				if (shmctl(shm_id_1, IPC_STAT | 0x100, &buf) == -1) {
 					tst_resm(TBROK, "shmctl failed in "
 						 "functional test");
 					continue;
