From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: unic0rn Newsgroups: gmane.emacs.devel Subject: a bug - probably in llvm - prevents emacs from building with clang 3.4 Date: Sun, 19 Jan 2014 06:39:38 +0100 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1390109977 3034 80.91.229.3 (19 Jan 2014 05:39:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 19 Jan 2014 05:39:37 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 19 06:39:46 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1W4l6o-000506-0D for ged-emacs-devel@m.gmane.org; Sun, 19 Jan 2014 06:39:46 +0100 Original-Received: from localhost ([::1]:45218 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4l6n-0007qZ-Hd for ged-emacs-devel@m.gmane.org; Sun, 19 Jan 2014 00:39:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46579) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4l6j-0007qR-Rf for emacs-devel@gnu.org; Sun, 19 Jan 2014 00:39:43 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W4l6i-0004Ps-BC for emacs-devel@gnu.org; Sun, 19 Jan 2014 00:39:41 -0500 Original-Received: from mail-wg0-x232.google.com ([2a00:1450:400c:c00::232]:51656) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4l6i-0004Pj-0H for emacs-devel@gnu.org; Sun, 19 Jan 2014 00:39:40 -0500 Original-Received: by mail-wg0-f50.google.com with SMTP id l18so5909350wgh.29 for ; Sat, 18 Jan 2014 21:39:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=f+KD5oP8DT+HtVfLf4TSYRRW4po9Q3xUOSAs2ufk/xg=; b=doJzs8WeRoLd06qNWqHWXC4vBfp4cSrGHWJ3/+TnYi0mU+LVFa/RHp9qmcfEJxTdWN dAg6lvDVcJwGuAuD9Jhg51hz8kkt4IQy96HgMjs5KNNGZ2AVd0HKRYhSrEG5sswnKgAd dJCKpXkJP4PzZL5RH2LqrkHTH19TtBDIdrTZlTuWbAkOJnAWYAsT3az+W54OXq1lo52+ W8nJANluAfD4ntwHJuMHuev0cRKbuZBRTBAB9GRDK49Mrvxcx11MIBG3uRAJDYUK5t6O a02947Niwu2d8kqDGbBqGNLLEXnVGfFATpjyliFfHGgKQ5DXdFA8FLuJ1mKq4smeCik8 NX5Q== X-Received: by 10.180.163.206 with SMTP id yk14mr354487wib.5.1390109979125; Sat, 18 Jan 2014 21:39:39 -0800 (PST) Original-Received: by 10.194.187.50 with HTTP; Sat, 18 Jan 2014 21:39:38 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c00::232 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:168720 Archived-At: editfns.c gets miscompiled at -O > 0, causing emacs to crash. backtrace: (gdb) run Starting program: /y/build/emacs/src/temacs --batch --load loadup bootstrap [New Thread 3728.0x10dc] [New Thread 3728.0x10c0] Loading loadup.el (source)... Using load-path (/y/emacs/lisp /y/emacs/lisp/emacs-lisp /y/emacs/lisp/language /y/emacs/lisp/international /y/emacs/lisp/textmodes /y/emacs/lisp/vc) [New Thread 3728.0xdd4] Loading emacs-lisp/byte-run (source)... Loading emacs-lisp/backquote (source)... Loading subr (source)... Loading version (source)... Program received signal SIGSEGV, Segmentation fault. strftime_case_ (upcase=false, s=0x228f00 "\001\212\210", maxsize=, format=0x0, tp=0xa, ut=, ns=) at ../../../emacs/lib/strftime.c:507 507 for (f = format; *f != '\0'; ++f) (gdb) backtrace #0 strftime_case_ (upcase=false, s=0x228f00 "\001\212\210", maxsize=, format=0x0, tp=0xa, ut=, ns=) at ../../../emacs/lib/strftime.c:507 #1 0x005a80c2 in nstrftime (s=0x228f00 "\001\212\210", maxsize=0, format=0x0, tp=0x61256e80 , ut=1, ns=484375000) at ../../../emacs/lib/strftime.c:1449 #2 0x00513ef0 in format_time_string (format=0x0, formatlen=0, t=..., ut=, tmp=) at ../../../emacs/src/editfns.c:1672 #3 0x00513d44 in Fformat_time_string (format_string=, timeval=2268888, universal=) at ../../../emacs/src/editfns.c:1756 #4 0x0051d61c in eval_sub (form=) at ../../../emacs/src/eval.c:2182 #5 0x0051d429 in eval_sub (form=) at ../../../emacs/src/eval.c:2140 #6 0x0051e6e1 in Flet (args=) at ../../../emacs/src/eval.c:937 #7 0x0051d397 in eval_sub (form=) at ../../../emacs/src/eval.c:2124 #8 0x0052175b in funcall_lambda (fun=, nargs=, arg_vector=) at ../../../emacs/src/eval.c:459 #9 0x00520346 in apply_lambda (fun=9104334, args=) at ../../../emacs/src/eval.c:2915 ---Type to continue, or q to quit--- #10 0x0051d53d in eval_sub (form=) at ../../../emacs/src/eval.c:2221 #11 0x0052030b in apply_lambda (fun=9361006, args=) at ../../../emacs/src/eval.c:2906 #12 0x0051d53d in eval_sub (form=) at ../../../emacs/src/eval.c:2221 #13 0x0051d429 in eval_sub (form=) at ../../../emacs/src/eval.c:2140 #14 0x0051d4d9 in eval_sub (form=) at ../../../emacs/src/eval.c:2161 #15 0x0053e568 in readevalloop (readcharfun=8496874, stream=0x864080 , sourcename=, printflag=, unibyte=, readfun=8130560, start=, end=) at ../../../emacs/src/lread.c:1934 #16 0x0053d3f4 in Fload (file=, noerror=, nomessage=, nosuffix=, must_suffix=) at ../../../emacs/src/lread.c:1370 #17 0x0051d675 in eval_sub (form=) at ../../../emacs/src/eval.c:2190 #18 0x0053e568 in readevalloop (readcharfun=8496874, stream=0x864010 , sourcename=, printflag=, unibyte=, readfun=8130560, ---Type to continue, or q to quit--- start=, end=) at ../../../emacs/src/lread.c:1934 #19 0x0053d3f4 in Fload (file=, noerror=, nomessage=, nosuffix=, must_suffix=) at ../../../emacs/src/lread.c:1370 #20 0x0051d675 in eval_sub (form=) at ../../../emacs/src/eval.c:2190 #21 0x005200d7 in Feval (form=8430502, lexical=) at ../../../emacs/src/eval.c:1994 #22 0x004bd1bd in top_level_2 () at ../../../emacs/src/keyboard.c:1179 #23 0x0051f4af in internal_condition_case (bfun=0x77e170 , handlers=, hfun=) at ../../../emacs/src/eval.c:1345 #24 0x004bd183 in top_level_1 (ignore=8450074) at ../../../emacs/src/keyboard.c:1187 #25 0x0051ee24 in internal_catch (tag=, func=0x0, arg=7856496) at ../../../emacs/src/eval.c:1109 #26 0x004ac41a in recursive_edit_1 () at ../../../emacs/src/keyboard.c:1148 #27 0x004ac5d5 in Frecursive_edit () at ../../../emacs/src/keyboard.c:841 #28 0x004ab10a in main ( argc=, argv=) at ../../../emacs/src/emacs.c:1637 (gdb) exact steps to reproduce: http://aurora.irc.arloria.net/~unic0rn/emacs_clang_optimization_bug.html my workaround is kinda silly, but at least it works. i've tried to modify editfns.c to trick llvm's optimizers into generating something that will work, to no avail. it seems like the first param doesn't end up on the stack somehow. since llvm/clang 3.4 is a current release version, i guess it'll land on osx and freebsd sooner than later, and if they won't fix that until then - well, it may cause some problems. unfortunately, i can't test it with higher -march settings, because my cpu doesn't even support SSE2. i've filled a bug for llvm, but i'm not sure how far it'll go: http://llvm.org/bugs/show_bug.cgi?id=18537