fixes for amd64 compilation
authorDenis Vlasenko <vda.linux@googlemail.com>
Sat, 20 Jan 2007 01:47:44 +0000 (01:47 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sat, 20 Jan 2007 01:47:44 +0000 (01:47 -0000)
networking/dnsd.c
networking/isrv.c
scripts/objsizes

index c3bd1610b71487571eac3c489f7fd90487e87188..71f50423dbad80e5fcf3f4786424d79b477aad72 100644 (file)
@@ -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;
index 5193f30f33a8a8665bf388cdadfcefa5754ff7e1..f0df2229cd2de233ae24ecdb6aaf8c4dd8dfbc96 100644 (file)
@@ -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;
index ff1c6ed10cc832c5b658e227e3edcf2271d2e5a1..44fbce1aa55892cd4467fb7f8884b4f581dc2a56 100755 (executable)
@@ -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