From owner-freebsd-stable@FreeBSD.ORG Mon Jul 6 11:32:54 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D6F341065677 for ; Mon, 6 Jul 2009 11:32:54 +0000 (UTC) (envelope-from dimitry@andric.com) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 953AB8FC1E for ; Mon, 6 Jul 2009 11:32:54 +0000 (UTC) (envelope-from dimitry@andric.com) Received: from [IPv6:2001:7b8:3a7:0:bdb1:b6a5:88be:cfe9] (unknown [IPv6:2001:7b8:3a7:0:bdb1:b6a5:88be:cfe9]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 9E2A65C59; Mon, 6 Jul 2009 13:32:53 +0200 (CEST) Message-ID: <4A51E0E4.4020707@andric.com> Date: Mon, 06 Jul 2009 13:32:52 +0200 From: Dimitry Andric User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.1pre) Gecko/20090705 Shredder/3.0b3pre MIME-Version: 1.0 To: Ruben de Groot , Dan Naumov , "Patrick M. Hausen" , FreeBSD Stable Mailing List References: <4A4E174A.1050207@andric.com> <20090703144121.GC11039@hugo10.ka.punkt.de> <4A4E1E24.3020303@andric.com> <20090703152150.GE11039@hugo10.ka.punkt.de> <20090705003834.12211k8697td2o74@webmail.private.lan> <20090706073941.GA78371@ei.bzerk.org> <20090706074256.GD6306@hugo10.ka.punkt.de> <4A51B721.5020505@andric.com> <4A51B9FA.9010906@andric.com> <20090706093904.GA79434@ei.bzerk.org> In-Reply-To: <20090706093904.GA79434@ei.bzerk.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Subject: Re: What is /boot/kernel/*.symbols? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jul 2009 11:32:55 -0000 On 2009-07-06 11:39, Ruben de Groot wrote: >>> root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 >>> >>> atom# du -hs /boot/kernel* >>> 205M /boot/kernel >> >> Right, so it's a lot bigger on amd64. I guess those 64-bit pointers >> aren't entirely free. :) > > I'm not sure where the size difference comes from. I have some sparc64 > systems running -current with symbols and the size of /boot/kernel is > more comparable to i386, even with the 8-byte pointer size: > >> uname -p > sparc64 >> du -sk /boot/kernel > 137918 /boot/kernel It looks like on amd64, the kernel is compiled with optimization flags: -O2 -frename-registers -pipe -fno-strict-aliasing by default, while on i386, they are just: -O -pipe Maybe this accounts for the huge difference? Does -O2 do a lot more inlining? In any case, it's a weird inconstency, if you ask me. But it's intentional, as /usr/src/sys/conf/kern.pre.mk says: . if ${MACHINE_ARCH} == "amd64" COPTFLAGS?=-O2 -frename-registers -pipe . else COPTFLAGS?=${_MINUS_O} -pipe . endif where ${_MINUS_O} is by default just "-O", since DEBUG is enabled...