From owner-freebsd-current@FreeBSD.ORG Mon Dec 17 08:33:15 2007 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3EAC216A417 for ; Mon, 17 Dec 2007 08:33:15 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [62.111.66.27]) by mx1.freebsd.org (Postfix) with ESMTP id 09F9B13C4E5 for ; Mon, 17 Dec 2007 08:33:14 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from localhost (amavis.str.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id 8793D41C733; Mon, 17 Dec 2007 09:15:08 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([62.111.66.27]) by localhost (amavis.str.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id KW2U70h3-hWB; Mon, 17 Dec 2007 09:15:08 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id 32A9F41C72C; Mon, 17 Dec 2007 09:15:08 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 78DC9444885; Mon, 17 Dec 2007 08:11:35 +0000 (UTC) Date: Mon, 17 Dec 2007 08:11:35 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Sean Chittenden In-Reply-To: <6CC6D8A1-D480-4A27-9ED1-01108777D04E@chittenden.org> Message-ID: <20071217080833.L81630@maildrop.int.zabbadoz.net> References: <20071216211832.X83419@mp2.macomnet.net> <20071216143454.7239c97b@kan.dnsalias.net> <6CC6D8A1-D480-4A27-9ED1-01108777D04E@chittenden.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: FreeBSD current mailing list Subject: Re: route(8) core dump, possible gcc(1) related X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Dec 2007 08:33:15 -0000 On Sun, 16 Dec 2007, Sean Chittenden wrote: Hi all, >>> 1033 q = strchr(s,'/'); >>> 1034 if (q && which == RTA_DST) { >>> 1035 *q = '\0'; >>> 1036 if ((val = inet_network(s)) != INADDR_NONE) { >>> 1037 inet_makenetandmask( >>> 1038 val, &su->sin, strtoul(q+1, >>> 0, 0)); 1039 return (0); >>> 1040 } >>> 1041 *q = '/'; >>> 1042 } >>> >>> Any comments? >>> >> Preliminary results show that inet_network from libc is somehow >> thrashing $ebx even if it is not supposed to. -O0 disables value >> caching in register and always allocates stack slot for the 'q' >> pointer, so the problem is not visible. > > > Does setting q to volatile suffice as a workaround for the problem? I was > talking to someone last week that said they have taken to using volatile as a > work around for GCC aligning instructions inside of conditionals improperly. I have a patch sitting in multiple queues to address the route issue. It's just time, review and all that in the before christmas in the middle of two releases, ... season that slows certain things down. Can we, for now, assume that there is a fix and it'll get in as soon as possible and stop wasting more people's time on this? Thanks. -- Bjoern A. Zeeb bzeeb at Zabbadoz dot NeT Software is harder than hardware so better get it right the first time.