process.c: introduce XLAT_UOFF macro

Introduce XLAT_UOFF macro and use it to automatically transform
struct_user_offsets array into a more readable and compact form.

for n in $(sed -n 's/^[[:space:]]*{[[:space:]]*uoff(\([a-z_0-9]\+\)),.*/\1/p' process.c |sort -u); do
	sed -i 's/^\([[:space:]]*\){[[:space:]]*uoff('"$n"'),[[:space:]]*"offsetof(struct user,[[:space:]]*'"$n"')"[[:space:]]*},$/\1XLAT_UOFF('"$n"'),/' process.c
done

* process.c (XLAT_UOFF): New macro.
(struct_user_offsets): Use it.
diff --git a/process.c b/process.c
index 817cf97..892d6fe 100644
--- a/process.c
+++ b/process.c
@@ -81,6 +81,7 @@
 #include "xlat/nt_descriptor_types.h"
 
 #define uoff(member)	offsetof(struct user, member)
+#define XLAT_UOFF(member)	{ uoff(member), "offsetof(struct user, " #member ")" }
 
 const struct xlat struct_user_offsets[] = {
 #if defined(S390) || defined(S390X)
@@ -627,8 +628,8 @@
 	{ 588,			"TR7(U)"				},
 	/* This entry is in case pt_regs contains dregs (depends on
 	   the kernel build options). */
-	{ uoff(regs),		"offsetof(struct user, regs)"		},
-	{ uoff(fpu),		"offsetof(struct user, fpu)"		},
+	XLAT_UOFF(regs),
+	XLAT_UOFF(fpu),
 #elif defined(ARM)
 	{ uoff(regs.ARM_r0),	"r0"					},
 	{ uoff(regs.ARM_r1),	"r1"					},
@@ -1040,106 +1041,106 @@
 
 	/* Other fields in "struct user" */
 #if defined(S390) || defined(S390X)
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
 	/* S390[X] has no start_data */
-	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(start_stack),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(POWERPC)
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(I386) || defined(X86_64) || defined(X32)
-	{ uoff(u_fpvalid),	"offsetof(struct user, u_fpvalid)"	},
-	{ uoff(i387),		"offsetof(struct user, i387)"		},
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
-	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(reserved),	"offsetof(struct user, reserved)"	},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(u_fpstate),	"offsetof(struct user, u_fpstate)"	},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
-	{ uoff(u_debugreg),	"offsetof(struct user, u_debugreg)"	},
+	XLAT_UOFF(u_fpvalid),
+	XLAT_UOFF(i387),
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
+	XLAT_UOFF(start_stack),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(reserved),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(u_fpstate),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
+	XLAT_UOFF(u_debugreg),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(IA64)
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(ARM)
-	{ uoff(u_fpvalid),	"offsetof(struct user, u_fpvalid)"	},
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
-	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(reserved),	"offsetof(struct user, reserved)"	},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(u_fpvalid),
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
+	XLAT_UOFF(start_stack),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(reserved),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(AARCH64)
 	/* nothing */
 #elif defined(M68K)
-	{ uoff(u_fpvalid),	"offsetof(struct user, u_fpvalid)"	},
-	{ uoff(m68kfp),		"offsetof(struct user, m68kfp)"		},
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
-	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(reserved),	"offsetof(struct user, reserved)"	},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(u_fpstate),	"offsetof(struct user, u_fpstate)"	},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(u_fpvalid),
+	XLAT_UOFF(m68kfp),
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
+	XLAT_UOFF(start_stack),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(reserved),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(u_fpstate),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(MIPS) || defined(LINUX_MIPSN32)
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
-	{ uoff(start_data),	"offsetof(struct user, start_data)"	},
-	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
+	XLAT_UOFF(start_data),
+	XLAT_UOFF(start_stack),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(ALPHA)
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(SPARC)
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(SPARC64)
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(HPPA)
 	/* nothing */
 #elif defined(SH) || defined(SH64)
-	{ uoff(u_fpvalid),	"offsetof(struct user, u_fpvalid)"	},
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
-	{ uoff(start_data),	"offsetof(struct user, start_data)"	},
-	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(u_fpstate),	"offsetof(struct user, u_fpstate)"	},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(u_fpvalid),
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
+	XLAT_UOFF(start_data),
+	XLAT_UOFF(start_stack),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(u_fpstate),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(CRISV10) || defined(CRISV32)
 	{ sizeof(struct user),	"sizeof(struct user)"			},
@@ -1148,26 +1149,26 @@
 #elif defined(MICROBLAZE)
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(AVR32)
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
-	{ uoff(start_data),	"offsetof(struct user, start_data)"	},
-	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
+	XLAT_UOFF(start_data),
+	XLAT_UOFF(start_stack),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(BFIN)
-	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
-	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
-	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
-	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
-	{ uoff(signal),		"offsetof(struct user, signal)"		},
-	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
-	{ uoff(magic),		"offsetof(struct user, magic)"		},
-	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+	XLAT_UOFF(u_tsize),
+	XLAT_UOFF(u_dsize),
+	XLAT_UOFF(u_ssize),
+	XLAT_UOFF(start_code),
+	XLAT_UOFF(signal),
+	XLAT_UOFF(u_ar0),
+	XLAT_UOFF(magic),
+	XLAT_UOFF(u_comm),
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #elif defined(OR1K)
 	/* nothing */