From 51305196f1d078849da1718bb6ccfbed5af182ed Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 8 Jul 2009 09:38:33 +0200 Subject: More gcc 4.5 'jump skips variable initialization' fixlets. * tapset/ioblock.stp (__bio_start_sect): Declare, then initialize variables that could (through kread) take an early jump. * tapset/nfs_proc.stp (get_prot_from_client): Likewise. * tapset/scsi.stp (scsi_timer_pending): Likewise. * tapset/task.stp (task_cpu): Likewise. (task_open_file_handles): Likewise. --- tapset/nfs_proc.stp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'tapset/nfs_proc.stp') diff --git a/tapset/nfs_proc.stp b/tapset/nfs_proc.stp index 11463e9a..e3d9a78f 100644 --- a/tapset/nfs_proc.stp +++ b/tapset/nfs_proc.stp @@ -84,12 +84,18 @@ function get_prot_from_client:long(clnt:long) %{ /* pure */ 1:get proto */ function __i2n_ip_proto :long(dir:long,index:long) %{ /* pure */ - int index = (int) (THIS->index); - struct inode * dir = (struct inode *)(uintptr_t)(THIS->dir); - struct rpc_clnt * clnt = NFS_CLIENT(dir); /* FIXME: deref hazard! */ - struct rpc_xprt * cl_xprt = kread(&(clnt->cl_xprt)); + int index; + struct inode * dir; + struct rpc_clnt * clnt; + struct rpc_xprt * cl_xprt; + struct sockaddr_in *addr; + + index = (int) (THIS->index); + dir = (struct inode *)(uintptr_t)(THIS->dir); + clnt = NFS_CLIENT(dir); /* FIXME: deref hazard! */ + cl_xprt = kread(&(clnt->cl_xprt)); /* sockaddr_storage is used since 2.6.19. Need cast*/ - struct sockaddr_in *addr = (struct sockaddr_in *)&(cl_xprt->addr); + addr = (struct sockaddr_in *)&(cl_xprt->addr); if(index == 0) { if (kread(&(addr->sin_family)) == AF_INET) { -- cgit