Fix compilation warnings reported by gcc -Wsign-compare

* configure.ac (gl_WARN_ADD): Add -Wsign-compare.
* defs.h (struct tcb): Change 'currpers' type to unsigned.
(struct xlat): Change 'val' type to unsigned
(signame): Add 'const' qualifier to its argument.
(xlookup, printxval): Add 'const' qualifier to the 2nd argument and
change its type to unsigned.
(printpathn): Change the 3rd argument type to unsigned.
(ioctl_lookup): Change 1st argument type to unsigned.
* count.c (call_summary_pers, call_summary): Change 'i' type to unsigned.
* file.c (print_xattr_list): Fix comparisons between signed and unsigned
long values.
* ioctl.c (compare): Fix cast.
(ioctl_lookup): Change 1st argument type to to unsigned.
(ioctl_next_match): Change 'code' type to unsigned.
* mem.c (sys_move_pages): Change 'i' type to unsigned.
* mtd.c (mtd_ioctl): Change 'i' and 'j' types to unsigned.
Print 'i' using %u format string.
* process.c (sys_prctl): Change 'i' type to unsigned.
(printargv): Change 'n' type to unsigned.
(sys_ptrace): Change 'addr' type to unsigned.
* scsi.c (print_sg_io_buffer): Add 'const' qualifier to 'len' argument
and change its type to unsigned.  Change 'i' and 'allocated' types
to unsigned.
* signal.c (signame): Add 'const' qualifier to its argument.
Fix comparisons between signed and unsigned values.
(sprintsigmask_n, printsiginfo): Fix comparisons between signed and
unsigned values.
* sock.c (sock_ioctl): Change 'i' and 'nifra' types to unsigned.
* strace.c (expand_tcbtab, alloctcb): Change 'i' type to unsigned.
(detach): Change 'sig' type to unsigned.
(startup_attach): Change 'tcbi' type to unsigned.
(startup_child): Change 'm', 'n', and 'len' types to unsigned.
(init): Use new variable to iterate 'tcbtab'.
(pid2tcb): Change 'i' type to unsigned.
(cleanup): Change 'i' and 'sig' types to unsigned.
* syscall.c (update_personality): Change 'personality' argument type
to unsigned.
(struct qual_options): Change 'bitflag' type to unsigned.
(reallocate_qual): Add 'const' qualifier to its argument and change its
type to unsigned.
(qualify_one): Change 'n' and 'bitflag' arguments types to unsigned.
Add 'const' qualifier to 'n', 'not', and 'pers' arguments.
Change 'p' type to signed int.
(qual_syscall): Change 'bitflag' argument type to unsigned.
Add 'const' qualifier to 'bitflag' and 'not' arguments.
Change 'p' type to signed int.
(qual_signal): Change 'bitflag' argument type to unsigned.
Add 'const' qualifier to 'bitflag' and 'not' arguments.
Change 'i' type to unsigned.
(qual_desc): Change 'bitflag' argument type to unsigned.
Add 'const' qualifier to 'bitflag' and 'not' arguments.
(qualify): Change 'i' type to unsigned.
(get_scno): Change 'currpers' type to unsigned.
Fix a comparison between signed and unsigned values.
* system.c (sys_sysctl): Change 'cnt' and 'max_cnt' types to unsigned.
Fix comparisons between signed and unsigned values.
* util.c (xlookup, printxval): Add 'const' qualifier to 'val' argument
and change its type to unsigned.
(printuid): Fix a comparison between signed and unsigned values.
(printpathn): Change 'n' argument type to unsigned.
(printstr): Change 'size' type to unsigned.
Fix a comparison between signed and unsigned values.
(setbpt): Change 'i' type to unsigned.
* net.c (printsock): Silence a compilation warning.
* reboot.c (sys_reboot): Likewise.
diff --git a/syscall.c b/syscall.c
index b0ad47e..e74881d 100644
--- a/syscall.c
+++ b/syscall.c
@@ -323,7 +323,7 @@
 }
 
 static void
-update_personality(struct tcb *tcp, int personality)
+update_personality(struct tcb *tcp, unsigned int personality)
 {
 	if (personality == current_personality)
 		return;
@@ -370,7 +370,7 @@
 static int qual_syscall(), qual_signal(), qual_desc();
 
 static const struct qual_options {
-	int bitflag;
+	unsigned int bitflag;
 	const char *option_name;
 	int (*qualify)(const char *, int, int);
 	const char *argument_name;
@@ -396,7 +396,7 @@
 };
 
 static void
-reallocate_qual(int n)
+reallocate_qual(const unsigned int n)
 {
 	unsigned p;
 	qualbits_t *qp;
@@ -410,9 +410,9 @@
 }
 
 static void
-qualify_one(int n, int bitflag, int not, int pers)
+qualify_one(const unsigned int n, unsigned int bitflag, const int not, const int pers)
 {
-	unsigned p;
+	int p;
 
 	if (num_quals <= n)
 		reallocate_qual(n + 1);
@@ -428,10 +428,10 @@
 }
 
 static int
-qual_syscall(const char *s, int bitflag, int not)
+qual_syscall(const char *s, const unsigned int bitflag, const int not)
 {
-	unsigned p;
-	unsigned i;
+	int p;
+	unsigned int i;
 	int rc = -1;
 
 	if (*s >= '0' && *s <= '9') {
@@ -457,9 +457,9 @@
 }
 
 static int
-qual_signal(const char *s, int bitflag, int not)
+qual_signal(const char *s, const unsigned int bitflag, const int not)
 {
-	int i;
+	unsigned int i;
 
 	if (*s >= '0' && *s <= '9') {
 		int signo = string_to_uint(s);
@@ -480,7 +480,7 @@
 }
 
 static int
-qual_desc(const char *s, int bitflag, int not)
+qual_desc(const char *s, const unsigned int bitflag, const int not)
 {
 	if (*s >= '0' && *s <= '9') {
 		int desc = string_to_uint(s);
@@ -516,20 +516,20 @@
 qualify(const char *s)
 {
 	const struct qual_options *opt;
-	int not;
 	char *copy;
 	const char *p;
-	int i, n;
+	int not;
+	unsigned int i;
 
 	if (num_quals == 0)
 		reallocate_qual(MIN_QUALS);
 
 	opt = &qual_options[0];
 	for (i = 0; (p = qual_options[i].option_name); i++) {
-		n = strlen(p);
-		if (strncmp(s, p, n) == 0 && s[n] == '=') {
+		unsigned int len = strlen(p);
+		if (strncmp(s, p, len) == 0 && s[len] == '=') {
 			opt = &qual_options[i];
-			s += n + 1;
+			s += len + 1;
 			break;
 		}
 	}
@@ -555,6 +555,7 @@
 	if (!copy)
 		die_out_of_memory();
 	for (p = strtok(copy, ","); p; p = strtok(NULL, ",")) {
+		int n;
 		if (opt->bitflag == QUAL_TRACE && (n = lookup_class(p)) > 0) {
 			unsigned pers;
 			for (pers = 0; pers < SUPPORTED_PERSONALITIES; pers++) {
@@ -1220,7 +1221,7 @@
 #elif defined(POWERPC)
 	scno = ppc_regs.gpr[0];
 # ifdef POWERPC64
-	int currpers;
+	unsigned int currpers;
 
 	/*
 	 * Check for 64/32 bit mode.
@@ -1242,7 +1243,7 @@
 # ifndef __X32_SYSCALL_BIT
 #  define __X32_SYSCALL_BIT	0x40000000
 # endif
-	int currpers;
+	unsigned int currpers;
 # if 1
 	/* GETREGSET of NT_PRSTATUS tells us regset size,
 	 * which unambiguously detects i386.
@@ -1530,7 +1531,7 @@
 	if (upeek(tcp->pid, 4*PT_R9, &scno) < 0)
 		return -1;
 #elif defined(TILE)
-	int currpers;
+	unsigned int currpers;
 	scno = tile_regs.regs[10];
 # ifdef __tilepro__
 	currpers = 1;
@@ -2660,7 +2661,7 @@
 		default:
 			if (u_error < 0)
 				tprintf("= -1 E??? (errno %ld)", u_error);
-			else if (u_error < nerrnos)
+			else if ((unsigned long) u_error < nerrnos)
 				tprintf("= -1 %s (%s)", errnoent[u_error],
 					strerror(u_error));
 			else