]> Zhao Yanbai Git Server - minix.git/commitdiff
various warning/errorwarning fixes for gcc47
authorBen Gras <ben@minix3.org>
Sat, 25 Aug 2012 17:42:05 +0000 (19:42 +0200)
committerBen Gras <ben@minix3.org>
Mon, 27 Aug 2012 14:19:18 +0000 (16:19 +0200)
 . warnings (sometimes promoted to errors) in servers/ and kernel/
 . -Os for ext2 boot module to make it small enough

20 files changed:
kernel/arch/i386/direct_tty_utils.c
kernel/arch/i386/memory.c
kernel/proc.c
servers/ext2/open.c
servers/inet/generic/ip_read.c
servers/inet/generic/tcp_recv.c
servers/inet/sr.c
servers/ipc/shm.c
servers/pfs/link.c
servers/pfs/uds.c
servers/pm/exec.c
servers/rs/manager.c
servers/rs/request.c
servers/rs/utility.c
servers/vfs/coredump.c
servers/vfs/main.c
servers/vfs/utility.c
servers/vm/main.c
servers/vm/signal.c
sys/arch/i386/stand/bootxx/bootxx_ext2fs/Makefile

index 873cfa7a4b92c76ebb4f43875073c027bc16449a..72a31174c3b67946ba9ae7abd2c9a151381710af 100644 (file)
@@ -122,7 +122,7 @@ void direct_print(const char *str)
 
 int direct_read_char(unsigned char *ch)
 {
-       unsigned long b, sb;
+       unsigned long sb;
 
        sb = inb(KB_STATUS);
 
@@ -130,7 +130,7 @@ int direct_read_char(unsigned char *ch)
                return 0;
        }
 
-       b = inb(KEYBD);
+       inb(KEYBD);
 
        if (!(sb & KB_AUX_BYTE))
                return 1;
index 27bbf43cabba0b6f6e8d65c93390f6ccae147910..542084f5f3554f347326ee8381d051b562648f0f 100644 (file)
@@ -560,7 +560,6 @@ static void vm_print(u32_t *root)
 int vm_memset(endpoint_t who, phys_bytes ph, const u8_t c, phys_bytes bytes)
 {
        u32_t p;
-       int r = OK;
        struct proc *whoptr = NULL;
        
        /* NONE for physical, otherwise virtual */
@@ -592,7 +591,6 @@ int vm_memset(endpoint_t who, phys_bytes ph, const u8_t c, phys_bytes bytes)
                 */
                if((pfa=phys_memset(ptr, p, chunk))) {
                        printf("kernel memset pagefault\n");
-                       r = EFAULT;
                        break;
                }
                bytes -= chunk;
index c83954ab489b1a1e3ad83e4f20c25ed1d8a0a485..1fff91c300aff746bc3fbe9fb33a946f63b45a19 100644 (file)
@@ -1168,7 +1168,6 @@ int try_deliver_senda(struct proc *caller_ptr,
   for (i = 0; i < size; i++) {
        /* Process each entry in the table and store the result in the table.
         * If we're done handling a message, copy the result to the sender. */
-       int pending_recv = FALSE;
 
        dst = NONE;
        /* Copy message to kernel */
@@ -1220,7 +1219,6 @@ int try_deliver_senda(struct proc *caller_ptr,
                /* Inform receiver that something is pending */
                set_sys_bit(priv(dst_ptr)->s_asyn_pending, 
                            priv(caller_ptr)->s_id); 
-               pending_recv = TRUE;
                done = FALSE;
                continue;
        } 
index fc65e7595dde4499ad27bcefbe49d3b327696e50..151b84808ff2c7decd1e77544e564636f68deb94 100644 (file)
@@ -5,6 +5,7 @@
 #include "fs.h"
 #include <sys/stat.h>
 #include <string.h>
+#include <assert.h>
 #include <minix/com.h>
 #include "buf.h"
 #include "inode.h"
@@ -191,7 +192,7 @@ int fs_slink()
   struct inode *ldirp;         /* directory containing link */
   register int r;              /* error code */
   char string[NAME_MAX];       /* last component of the new dir's path name */
-  char* link_target_buf;       /* either sip->i_block or bp->b_data */
+  char* link_target_buf = NULL;       /* either sip->i_block or bp->b_data */
   struct buf *bp = NULL;    /* disk buffer for link */
 
   caller_uid = (uid_t) fs_m_in.REQ_UID;
@@ -241,6 +242,7 @@ int fs_slink()
                }
        }
        if (r == OK) {
+               assert(link_target_buf);
                link_target_buf[fs_m_in.REQ_MEM_SIZE] = '\0';
                sip->i_size = (off_t) strlen(link_target_buf);
                if (sip->i_size != fs_m_in.REQ_MEM_SIZE) {
index 24bd92481bf46a1c60c8bf38034cbe6fb85bcc8f..5c8926d08a1eace47cacb2d790b0239dc7fc99e1 100644 (file)
@@ -71,7 +71,7 @@ acc_t *pack;
 ip_hdr_t *pack_hdr;
 {
        ip_ass_t *ass_ent;
-       size_t pack_hdr_len, pack_offset, tmp_offset;
+       size_t pack_offset, tmp_offset;
        u16_t pack_flags_fragoff;
        acc_t *prev_acc, *curr_acc, *next_acc, *head_acc, *tmp_acc;
        ip_hdr_t *tmp_hdr;
@@ -81,7 +81,6 @@ ip_hdr_t *pack_hdr;
                pack_hdr->ih_proto, pack_hdr->ih_src, pack_hdr->ih_dst);
 
        pack_flags_fragoff= ntohs(pack_hdr->ih_flags_fragoff);
-       pack_hdr_len= (pack_hdr->ih_vers_ihl & IH_IHL_MASK) * 4;
        pack_offset= (pack_flags_fragoff & IH_FRAGOFF_MASK)*8;
        pack->acc_ext_link= NULL;
 
index 41390c2de922d03a3f6139aeafe249827643a838..8178899b88e30df39797b615db84e40fe7361835 100644 (file)
@@ -34,15 +34,11 @@ size_t data_len;
 {
        tcp_fd_t *connuser;
        int tcp_hdr_flags;
-       int ip_hdr_len, tcp_hdr_len;
        u32_t seg_ack, seg_seq, rcv_hi, snd_una, snd_nxt;
        u16_t seg_wnd, mtu;
        size_t mss;
        int acceptable_ACK, segm_acceptable, send_rst, close_connection;
 
-       ip_hdr_len= (ip_hdr->ih_vers_ihl & IH_IHL_MASK) << 2;
-       tcp_hdr_len= (tcp_hdr->th_data_off & TH_DO_MASK) >> 2;
-
        tcp_hdr_flags= tcp_hdr->th_flags & TH_FLAGS_MASK;
        seg_ack= ntohl(tcp_hdr->th_ack_nr);
        seg_seq= ntohl(tcp_hdr->th_seq_nr);
@@ -1394,12 +1390,9 @@ unsigned
 tcp_sel_read(tcp_conn)
 tcp_conn_t *tcp_conn;
 {
-       tcp_fd_t *tcp_fd;
        size_t data_size;
        int fin_recv, urg, push;
 
-       tcp_fd= tcp_conn->tc_fd;
-
        if (tcp_conn->tc_state == TCS_CLOSED)
                return 1;
 
@@ -1449,7 +1442,7 @@ int *bytesp;
 {
        tcp_conn_t *tcp_conn;
        size_t data_size;
-       int fin_recv, urg, push;
+       int fin_recv, urg;
 
        *bytesp= 0;     /* The default is that nothing is available */
 
@@ -1461,7 +1454,6 @@ int *bytesp;
                return;
 
        urg= tcp_Gmod4G(tcp_conn->tc_RCV_UP, tcp_conn->tc_RCV_LO);
-       push= (tcp_conn->tc_flags & TCF_RCV_PUSH);
        fin_recv= (tcp_conn->tc_flags & TCF_FIN_RECV);
 
        data_size= tcp_conn->tc_RCV_NXT-tcp_conn->tc_RCV_LO;
index e6c6178d8806852409d4981912dbc840c20c05cb..a84792c45ec98a14e35a6fc96447e69c2269380c 100644 (file)
@@ -282,9 +282,9 @@ static int sr_rwio(m)
 mq_t *m;
 {
        sr_fd_t *sr_fd;
-       mq_t **q_head_ptr, **q_tail_ptr;
-       int ip_flag, susp_flag, first_flag;
-       int r;
+       mq_t **q_head_ptr = NULL, **q_tail_ptr = NULL;
+       int ip_flag = 0, susp_flag = 0, first_flag = 0;
+       int r = OK;
        ioreq_t request;
        size_t size;
 
index e3aab7d820c09e982d546ea1dfa8b7a54c6710ab..a949f4d25ca860716d46ea92c4ef8fe85073cec8 100644 (file)
@@ -222,7 +222,7 @@ int do_shmctl(message *m)
        int cmd = m->SHMCTL_CMD;
        struct shmid_ds *ds = (struct shmid_ds *)m->SHMCTL_BUF;
        struct shmid_ds tmp_ds;
-       struct shm_struct *shm;
+       struct shm_struct *shm = NULL;
        struct shminfo sinfo;
        struct shm_info s_info;
        uid_t uid;
index 67dc2d8f533af9b6915c2b2177e28646b22b79db..9fc2bfb47d9492aee9f39c682481441782a16c8d 100644 (file)
@@ -9,7 +9,7 @@
 int fs_ftrunc(message *fs_m_in, message *fs_m_out)
 {
   struct inode *rip;
-  off_t start, end;
+  off_t start;
   ino_t inumb;
 
   inumb = (ino_t) fs_m_in->REQ_INODE_NR;
@@ -17,7 +17,6 @@ int fs_ftrunc(message *fs_m_in, message *fs_m_out)
   if( (rip = find_inode(inumb)) == NULL) return(EINVAL);
 
   start = fs_m_in->REQ_TRC_START_LO;
-  end = fs_m_in->REQ_TRC_END_LO;
 
   return truncate_inode(rip, start);
 }
index a8a4fc46d9b13a0b4b77330bef1c67554c4af20a..922d2f6684d5589592c5af9d0f3c4d4e815530bd 100644 (file)
@@ -1092,7 +1092,6 @@ int do_getsockopt_peercred_old(message *dev_m_in, message *dev_m_out)
 
 int do_getsockopt_sndbuf(message *dev_m_in, message *dev_m_out)
 {
-       int minor;
        int rc;
        size_t sndbuf = PIPE_BUF;
 
@@ -1102,8 +1101,6 @@ int do_getsockopt_sndbuf(message *dev_m_in, message *dev_m_out)
                                uds_minor(dev_m_in), ++call_count);
 #endif
 
-       minor = uds_minor(dev_m_in);
-
        rc = sys_safecopyto(VFS_PROC_NR, (cp_grant_id_t) dev_m_in->IO_GRANT,
                (vir_bytes) 0, (vir_bytes) &(sndbuf), sizeof(size_t));
 
@@ -1112,7 +1109,6 @@ int do_getsockopt_sndbuf(message *dev_m_in, message *dev_m_out)
 
 int do_setsockopt_sndbuf(message *dev_m_in, message *dev_m_out)
 {
-       int minor;
        int rc;
        size_t sndbuf;
 
@@ -1122,9 +1118,6 @@ int do_setsockopt_sndbuf(message *dev_m_in, message *dev_m_out)
                                uds_minor(dev_m_in), ++call_count);
 #endif
 
-       minor = uds_minor(dev_m_in);
-
-
        rc = sys_safecopyfrom(VFS_PROC_NR, (cp_grant_id_t) dev_m_in->IO_GRANT,
                                (vir_bytes) 0, (vir_bytes) &sndbuf,
                                sizeof(size_t));
@@ -1146,7 +1139,6 @@ int do_setsockopt_sndbuf(message *dev_m_in, message *dev_m_out)
 
 int do_getsockopt_rcvbuf(message *dev_m_in, message *dev_m_out)
 {
-       int minor;
        int rc;
        size_t rcvbuf = PIPE_BUF;
 
@@ -1156,8 +1148,6 @@ int do_getsockopt_rcvbuf(message *dev_m_in, message *dev_m_out)
                                uds_minor(dev_m_in), ++call_count);
 #endif
 
-       minor = uds_minor(dev_m_in);
-
        rc = sys_safecopyto(VFS_PROC_NR, (cp_grant_id_t) dev_m_in->IO_GRANT,
                (vir_bytes) 0, (vir_bytes) &(rcvbuf), sizeof(size_t));
 
@@ -1166,7 +1156,6 @@ int do_getsockopt_rcvbuf(message *dev_m_in, message *dev_m_out)
 
 int do_setsockopt_rcvbuf(message *dev_m_in, message *dev_m_out)
 {
-       int minor;
        int rc;
        size_t rcvbuf;
 
@@ -1176,9 +1165,6 @@ int do_setsockopt_rcvbuf(message *dev_m_in, message *dev_m_out)
                                uds_minor(dev_m_in), ++call_count);
 #endif
 
-       minor = uds_minor(dev_m_in);
-
-
        rc = sys_safecopyfrom(VFS_PROC_NR, (cp_grant_id_t) dev_m_in->IO_GRANT,
                                (vir_bytes) 0, (vir_bytes) &rcvbuf,
                                sizeof(size_t));
index d000fc708f431578d5693b65a3a813a4d860cc82..040dcd393ee5fdfa8b25b78e5fd2fd43abb95ffe 100644 (file)
@@ -66,7 +66,7 @@ int do_newexec()
        char *ptr;
        struct mproc *rmp;
        struct exec_info args;
-       int r, flags;
+       int r, flags = 0;
 
        if (who_e != VFS_PROC_NR && who_e != RS_PROC_NR)
                return EPERM;
index c6ca0f9bde4ee7b066557b0294fc8b6ad0b42cc7..0dc7a76d8555f18eed8304581532b786c5851276 100644 (file)
@@ -1247,12 +1247,6 @@ int *length;
 void share_exec(rp_dst, rp_src)
 struct rproc *rp_dst, *rp_src;
 {
-  struct rprocpub *rpub_src;
-  struct rprocpub *rpub_dst;
-
-  rpub_src = rp_src->r_pub;
-  rpub_dst = rp_dst->r_pub;
-
   if(rs_verbose)
       printf("RS: %s shares exec image with %s\n",
           srv_to_string(rp_dst), srv_to_string(rp_src));
index 3a56e2575e9119f56e62f834a68ccf346481f958..e659c712ada02b033e248a50fefb63dc7ba1852b 100755 (executable)
@@ -89,7 +89,6 @@ message *m_ptr;                                       /* request message pointer */
 int do_down(message *m_ptr)
 {
   register struct rproc *rp;
-  register struct rprocpub *rpub;
   int s;
   char label[RS_MAX_LABEL_LEN];
 
@@ -107,7 +106,6 @@ int do_down(message *m_ptr)
           printf("RS: do_down: service '%s' not found\n", label);
       return(ESRCH);
   }
-  rpub = rp->r_pub;
 
   /* Check if the call can be allowed. */
   if((s = check_call_permission(m_ptr->m_source, RS_DOWN, rp)) != OK)
@@ -324,7 +322,6 @@ int do_edit(message *m_ptr)
 int do_refresh(message *m_ptr)
 {
   register struct rproc *rp;
-  register struct rprocpub *rpub;
   int s;
   char label[RS_MAX_LABEL_LEN];
 
@@ -342,7 +339,6 @@ int do_refresh(message *m_ptr)
           printf("RS: do_refresh: service '%s' not found\n", label);
       return(ESRCH);
   }
-  rpub = rp->r_pub;
 
   /* Check if the call can be allowed. */
   if((s = check_call_permission(m_ptr->m_source, RS_REFRESH, rp)) != OK)
@@ -833,7 +829,6 @@ void do_sigchld()
   int status;
   struct rproc *rp;
   struct rproc **rps;
-  struct rprocpub *rpub;
   int i, nr_rps;
 
   if(rs_verbose)
@@ -842,7 +837,6 @@ void do_sigchld()
   while ( (pid = waitpid(-1, &status, WNOHANG)) != 0 ) {
       rp = lookup_slot_by_pid(pid);
       if(rp != NULL) {
-          rpub = rp->r_pub;
 
           if(rs_verbose)
               printf("RS: %s exited via another signal manager\n",
index 03b3d8ebc40db383dcb9b66670ff15735d4899a6..e2e6b8e67435c6f80bd0a2424a08c38bf63e47a9 100644 (file)
@@ -180,10 +180,6 @@ struct rproc *rp;                          /* pointer to process slot */
 int code;                                      /* status code */
 {
 /* If a caller is waiting for a reply, unblock it. */
-  struct rprocpub *rpub;
-
-  rpub = rp->r_pub;
-
   if(rp->r_flags & RS_LATEREPLY) {
       message m;
       m.m_type = code;
index 6d484d83d660584df345af761f2a038f08834467..43ccfda4fa4212ff63a7017f7a795952b71cfb85 100644 (file)
@@ -304,11 +304,17 @@ static void dump_segments(struct filp *f, Elf_Phdr phdrs[], int phnum)
        }
 
        for (off = 0; off < (off_t) len; off += CLICK_SIZE) {
-               r = sys_vircopy(fp->fp_endpoint,
-                       (vir_bytes) (seg_off + off),
+               vir_bytes p = (vir_bytes) (seg_off + off);
+               r = sys_vircopy(fp->fp_endpoint, p,
                        SELF, (vir_bytes) buf,
                        (phys_bytes) CLICK_SIZE);
 
+               if(r != OK) {
+                       printf("VFS: vircopy failed for %d @ 0x%lx during coredump\n",
+                               fp->fp_endpoint, p);
+                       break;
+               }
+
                write_buf(f, (char *) buf, (off + CLICK_SIZE <= (off_t) len) ?
                                        CLICK_SIZE : (len - off));
        }
index bfbb110473e0f37212de5ea419404bbbc2bca9ca..7a4beb86fd67e05474c0fac0b17c1c9fec6b461d 100644 (file)
@@ -330,14 +330,8 @@ static void unlock_pm(void)
 /*===========================================================================*
  *                            do_pm                                         *
  *===========================================================================*/
-static void *do_pm(void *arg)
+static void *do_pm(void *arg __unused)
 {
-  struct job my_job;
-  struct fproc *rfp;
-
-  my_job = *((struct job *) arg);
-  rfp = fp = my_job.j_fp;
-
   lock_pm();
   service_pm();
   unlock_pm();
index b69945e852055949dc60d65f36b8152fc248e6de..b3f078c53e8f42f2041884326a07840aa762aad3 100644 (file)
@@ -30,8 +30,6 @@ inline int copy_name( size_t len, char *dest)
 {
 /* Go get path and put it in 'dest'.
  */
-  register char *rpu, *rpm;
-
   if (len > PATH_MAX) {        /* 'len' includes terminating-nul */
        err_code = ENAMETOOLONG;
        return(EGENERIC);
@@ -45,8 +43,6 @@ inline int copy_name( size_t len, char *dest)
 
   if (len <= M3_STRING) {
        /* Just copy the path from the message */
-       rpu = &dest[0];
-       rpm = job_m_in.pathname;        /* contained in input message */
        strncpy(dest, job_m_in.pathname, len);
   } else {
        /* String is not contained in the message. */
index d6692f3b179f7e8e723cc50ca00b929aeb0a1acf..46308f43e0125930f917a6db23b150cb703b9516 100644 (file)
@@ -78,7 +78,6 @@ int main(void)
   message msg;
   int result, who_e, rcv_sts;
   int caller_slot;
-  struct vmproc *vmp_caller;
 
   /* Initialize system so that all processes are runnable */
   init_vm();
@@ -112,7 +111,6 @@ int main(void)
        who_e = msg.m_source;
        if(vm_isokendpt(who_e, &caller_slot) != OK)
                panic("invalid caller %d", who_e);
-       vmp_caller = &vmproc[caller_slot];
        c = CALLNUMBER(msg.m_type);
        result = ENOSYS; /* Out of range or restricted calls return this. */
        
index 50063a5e06f5f282ab5266dc484608142daf5ec5..b92267c5a9adccc4fdd6fb15c2f90f3b8d02e894 100644 (file)
@@ -35,7 +35,6 @@ int do_push_sig(message *msg)
        int r, n;
        endpoint_t ep;
        vir_bytes sp;
-       struct vmproc *vmp;
 
        ep = msg->VMPS_ENDPOINT;
 
@@ -43,7 +42,6 @@ int do_push_sig(message *msg)
                printf("VM: bogus endpoint %d from %d\n", ep, msg->m_source);
                return r;
        }
-       vmp = &vmproc[n];
 
         if ((r=get_stack_ptr(ep, &sp)) != OK)
                 panic("couldn't get new stack pointer (for sig): %d", r);
index 2a6418aa3ee68b679abb279db3d95d4000ca8e4d..f84710be388249be78707b5ce96ccc9e004e2a75 100644 (file)
@@ -3,5 +3,6 @@
 FS=ext2fs
 CLEANFILES= lib
 CPPFLAGS+= -D_MINIX
+CFLAGS+= -Os
 
 .include <../Makefile.bootxx>