From 91f20ab510a6ddab49dd89f8c8876912d4537be0 Mon Sep 17 00:00:00 2001
From: Denis Vlasenko <vda.linux@googlemail.com>
Date: Sat, 20 Jan 2007 01:47:44 +0000
Subject: fixes for amd64 compilation

---
 networking/dnsd.c | 9 +++++----
 networking/isrv.c | 8 +++++---
 scripts/objsizes  | 2 +-
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/networking/dnsd.c b/networking/dnsd.c
index c3bd1610b..71f50423d 100644
--- a/networking/dnsd.c
+++ b/networking/dnsd.c
@@ -184,23 +184,24 @@ static int table_lookup(uint16_t type, uint8_t * as, uint8_t * qs)
 	struct dns_entry *d=dnsentry;
 
 	do {
-#ifdef DEBUG
+#if DEBUG
 		char *p,*q;
 		q = (char *)&(qs[1]);
 		p = &(d->name[1]);
 		fprintf(stderr, "\n%s: %d/%d p:%s q:%s %d",
-			__FUNCTION__, strlen(p), (int)(d->name[0]), p, q, strlen(q));
+			__FUNCTION__, (int)strlen(p), (int)(d->name[0]),
+			p, q, (int)strlen(q));
 #endif
 		if (type == REQ_A) { /* search by host name */
 			for (i = 1; i <= (int)(d->name[0]); i++)
 				if (tolower(qs[i]) != d->name[i])
 					break;
 			if (i > (int)(d->name[0])) {
-#ifdef DEBUG
+#if DEBUG
 				fprintf(stderr, " OK");
 #endif
 				strcpy((char *)as, d->ip);
-#ifdef DEBUG
+#if DEBUG
 				fprintf(stderr, " as:%s\n", as);
 #endif
 					return 0;
diff --git a/networking/isrv.c b/networking/isrv.c
index 5193f30f3..f0df2229c 100644
--- a/networking/isrv.c
+++ b/networking/isrv.c
@@ -190,9 +190,10 @@ static void handle_accept(isrv_state_t *state, int fd)
 {
 	int n, newfd;
 
-	fcntl(fd, F_SETFL, (int)(PARAM_TBL[0]) | O_NONBLOCK);
+	/* suppress gcc warning "cast from ptr to int of different size" */
+	fcntl(fd, F_SETFL, (int)(ptrdiff_t)(PARAM_TBL[0]) | O_NONBLOCK);
 	newfd = accept(fd, NULL, 0);
-	fcntl(fd, F_SETFL, (int)(PARAM_TBL[0]));
+	fcntl(fd, F_SETFL, (int)(ptrdiff_t)(PARAM_TBL[0]));
 	if (newfd < 0) {
 		if (errno == EAGAIN) return;
 		/* Most probably someone gave us wrong fd type
@@ -299,7 +300,8 @@ void isrv_run(
 	isrv_register_fd(state, /*peer:*/ 0, listen_fd);
 	isrv_want_rd(state, listen_fd);
 	/* remember flags to make blocking<->nonblocking switch faster */
-	PARAM_TBL[0] = (void*) (fcntl(listen_fd, F_GETFL, 0));
+	/* (suppress gcc warning "cast from ptr to int of different size") */
+	PARAM_TBL[0] = (void*)(ptrdiff_t)(fcntl(listen_fd, F_GETFL, 0));
 
 	while (1) {
 		struct timeval tv;
diff --git a/scripts/objsizes b/scripts/objsizes
index ff1c6ed10..44fbce1aa 100755
--- a/scripts/objsizes
+++ b/scripts/objsizes
@@ -2,7 +2,7 @@
 
 printf "%9s %11s %9s %9s %s\n" "text+data" text+rodata rwdata bss filename
 find -name '*.o' | grep -v '^\./scripts/' | grep -vF built-in.o \
-| sed 's:^\./::' | xargs size | grep '^ *[0-9]' \
+| sed 's:^\./::' | xargs "${CROSS_COMPILE}size" | grep '^ *[0-9]' \
 | while read text data bss dec hex filename; do
     printf "%9d %11d %9d %9d %s\n" $((text+data)) $text $data $bss "$filename"
 done | sort -r
-- 
cgit v1.2.3-55-g6feb