Date: Sun, 6 May 2007 01:32:02 +0400 From: Andrey Chernov <ache@freebsd.org> To: "Sean C. Farley" <sean-freebsd@farley.org> Cc: Daniel Eischen <deischen@freebsd.org>, arch@freebsd.org Subject: Re: HEADS DOWN Message-ID: <20070505213202.GA49925@nagual.pp.ru> In-Reply-To: <20070504174657.D1343@thor.farley.org> References: <20070501135439.B36275@thor.farley.org> <20070502.102822.-957833022.imp@bsdimp.com> <Pine.GSO.4.64.0705021332020.8590@sea.ntplx.net> <20070502183100.P1317@baba.farley.org> <Pine.GSO.4.64.0705022034180.8590@sea.ntplx.net> <20070502230413.Y30614@thor.farley.org> <20070503160351.GA15008@nagual.pp.ru> <20070504085905.J39482@thor.farley.org> <20070504213312.GA33163@nagual.pp.ru> <20070504174657.D1343@thor.farley.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, May 05, 2007 at 03:56:21PM -0500, Sean C. Farley wrote: > Interestingly, gcc 3.4.6 on -STABLE does not do such a great job even > with -minline-all-stringops. I do have CPUTYPE?=pentium4 in > /etc/make.conf. Maybe this is only an issue with i386 similar to what > you mention below? Even "cc -O" do that, without any flags, see live example below: a.c: #include <string.h> #include <stdio.h> #include <stdlib.h> main() { printf("%d\n", strlen(getenv("HOME"))); } cc -O -S a.c cat a.s .file "a.c" .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "HOME" .LC1: .string "%d\n" .text .p2align 2,,3 .globl main .type main, @function main: pushl %ebp movl %esp, %ebp pushl %edi subl $4, %esp andl $-16, %esp subl $28, %esp pushl $.LC0 call getenv addl $8, %esp movl %eax, %edi cld movl $-1, %ecx movb $0, %al repnz scasb notl %ecx decl %ecx pushl %ecx pushl $.LC1 call printf movl -4(%ebp), %edi leave ret .size main, .-main .ident "GCC: (GNU) 3.4.6 [FreeBSD] 20060825" -- http://ache.pp.ru/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070505213202.GA49925>