From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#18699: 25.0.50; Windows 7: Odd length text property list Date: Mon, 13 Oct 2014 09:14:07 +0300 Message-ID: <83wq847az4.fsf@gnu.org> References: <87eguclr91.fsf@telefonica.net> <87a950lob5.fsf_-_@wanadoo.es> <8338as8ri7.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1413180926 10324 80.91.229.3 (13 Oct 2014 06:15:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 13 Oct 2014 06:15:26 +0000 (UTC) Cc: 18699@debbugs.gnu.org To: oscarfv@telefonica.net Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Oct 13 08:15:19 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1XdYuc-0007Ky-Gb for geb-bug-gnu-emacs@m.gmane.org; Mon, 13 Oct 2014 08:15:18 +0200 Original-Received: from localhost ([::1]:60464 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XdYuc-0002I6-0P for geb-bug-gnu-emacs@m.gmane.org; Mon, 13 Oct 2014 02:15:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38104) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XdYuT-0002Hw-3f for bug-gnu-emacs@gnu.org; Mon, 13 Oct 2014 02:15:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XdYuN-0002sC-7k for bug-gnu-emacs@gnu.org; Mon, 13 Oct 2014 02:15:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:50808) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XdYuN-0002ru-51 for bug-gnu-emacs@gnu.org; Mon, 13 Oct 2014 02:15:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XdYuM-0004Fw-8w for bug-gnu-emacs@gnu.org; Mon, 13 Oct 2014 02:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 13 Oct 2014 06:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18699 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18699-submit@debbugs.gnu.org id=B18699.141318085916289 (code B ref 18699); Mon, 13 Oct 2014 06:15:02 +0000 Original-Received: (at 18699) by debbugs.gnu.org; 13 Oct 2014 06:14:19 +0000 Original-Received: from localhost ([127.0.0.1]:42372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XdYte-0004Ee-Ly for submit@debbugs.gnu.org; Mon, 13 Oct 2014 02:14:18 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:64059) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XdYtb-0004ER-Tx for 18699@debbugs.gnu.org; Mon, 13 Oct 2014 02:14:17 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NDD00800D6UKY00@a-mtaout20.012.net.il> for 18699@debbugs.gnu.org; Mon, 13 Oct 2014 09:14:14 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NDD008RSDBPEM20@a-mtaout20.012.net.il>; Mon, 13 Oct 2014 09:14:14 +0300 (IDT) In-reply-to: <8338as8ri7.fsf@gnu.org> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:94453 > Date: Mon, 13 Oct 2014 08:31:44 +0300 > From: Eli Zaretskii > Cc: 18699@debbugs.gnu.org > > The function add_font_entity_to_list is decorated with a GCC attribute > that should cause GCC to emit a few instructions in the function's > prologue to ensure the stack is 8-byte aligned. Do you see that in the > disassembly of that function? If not, can you show the preprocessed > source of the first few line of that function, including its > definition line? Here's what I see in the preprocessed source on my machine: static int __attribute__((__stdcall__)) __attribute__((force_align_arg_pointer)) add_font_entity_to_list (ENUMLOGFONTEX *logical_font, NEWTEXTMETRICEX *physical_font, DWORD font_type, LPARAM lParam) { struct font_callback_data *match_data = (struct font_callback_data *) lParam; Lisp_Object backend = match_data->opentype_only ? Quniscribe : Qgdi; Lisp_Object entity; The important part is the force_align_arg_pointer attribute. This is set up in w32term.h, like this: #ifdef __GNUC__ # if USE_STACK_LISP_OBJECTS && !defined _W64 && !defined __x86_64__ \ && __GNUC__ + (__GNUC_MINOR__ > 1) >= 5 # define ALIGN_STACK __attribute__((force_align_arg_pointer)) # else # define ALIGN_STACK # endif /* USE_STACK_LISP_OBJECTS */ #endif Is it possible that the MinGW64 compiler somehow trips here? E.g., is it possible that, even in a 32-bit build, it defines _W64 or __x86_64__? If so, what other preprocessor macros are available in MinGW64 to distinguish between a 32-bit and a 64-bit build?