From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26725 invoked by alias); 4 May 2011 09:33:33 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 29148 Received: (qmail 25432 invoked from network); 4 May 2011 09:33:21 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.1 Received-SPF: none (ns1.primenet.com.au: domain at vinc17.net does not designate permitted sender hosts) Date: Wed, 4 May 2011 11:33:17 +0200 From: Vincent Lefevre To: zsh-workers@zsh.org Subject: Re: completion on brace + 4 characters doesn't work Message-ID: <20110504093317.GI5625@prunille.vinc17.org> Mail-Followup-To: zsh-workers@zsh.org References: <20110428111148.GA3109@ypig.lip.ens-lyon.fr> <110428081240.ZM11395@torch.brasslantern.com> <20110428222754.GC5625@prunille.vinc17.org> <20110429003149.GA21935@prunille.vinc17.org> <20110429005909.GB21935@prunille.vinc17.org> <20110429013438.GC21935@prunille.vinc17.org> <110428205657.ZM12615@torch.brasslantern.com> <20110429084444.GE5625@prunille.vinc17.org> <20110429111557.GF5625@prunille.vinc17.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20110429111557.GF5625@prunille.vinc17.org> X-Mailer-Info: http://www.vinc17.net/mutt/ User-Agent: Mutt/1.5.21-6171-vl-r42848 (2011-03-30) On 2011-04-29 13:15:58 +0200, Vincent Lefevre wrote: > In fact, the behavior comes from glibc on x86_64. It can be > reproduced with: > > #include > #include > > int main (void) > { > static char s[] = "{abcd"; > volatile int len = 1; > > printf ("s = %s\n", s); > strcpy (s, s + len); > printf ("s = %s\n", s); > return 0; > } > > and gcc -fno-builtin (the strcpy builtin was not used anyway). > > According to gdb, the source in eglibc-2.11.2 is > sysdeps/x86_64/multiarch/strcpy.S (strcpy with SSSE3). It can load > 16 bytes at a time, and it uses special code on these 16 bytes (I'm > not sure, but it seems to have code for each length). FYI, this new strcpy code breaks many applications: http://sourceware.org/bugzilla/show_bug.cgi?id=12518 -- Vincent Lefèvre - Web: 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)