From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#32086: 26.1.50; Floating point exceptions during byte-compilation on alpha-unknown-linux-gnu Date: Sat, 7 Jul 2018 14:27:39 -0700 Organization: UCLA Computer Science Department Message-ID: <6563a45d-285c-5147-693b-6ce130eb4b2b@cs.ucla.edu> References: <23361.1519.967618.290345@a1i15.kph.uni-mainz.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------1A60731664A7ACA971B7BB0D" X-Trace: blaine.gmane.org 1530998768 22013 195.159.176.226 (7 Jul 2018 21:26:08 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 7 Jul 2018 21:26:08 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 Cc: 32086@debbugs.gnu.org To: Ulrich Mueller Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jul 07 23:26:03 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fbuiR-0005cZ-4d for geb-bug-gnu-emacs@m.gmane.org; Sat, 07 Jul 2018 23:26:03 +0200 Original-Received: from localhost ([::1]:34907 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fbukY-0007ah-BT for geb-bug-gnu-emacs@m.gmane.org; Sat, 07 Jul 2018 17:28:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38978) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fbukQ-0007ab-1G for bug-gnu-emacs@gnu.org; Sat, 07 Jul 2018 17:28:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fbukM-00033s-Qe for bug-gnu-emacs@gnu.org; Sat, 07 Jul 2018 17:28:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42587) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fbukM-00033d-IR for bug-gnu-emacs@gnu.org; Sat, 07 Jul 2018 17:28:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fbukM-00051m-6h for bug-gnu-emacs@gnu.org; Sat, 07 Jul 2018 17:28:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <23361.1519.967618.290345@a1i15.kph.uni-mainz.de> Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 07 Jul 2018 21:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32086 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 32086-submit@debbugs.gnu.org id=B32086.153099887019308 (code B ref 32086); Sat, 07 Jul 2018 21:28:02 +0000 Original-Received: (at 32086) by debbugs.gnu.org; 7 Jul 2018 21:27:50 +0000 Original-Received: from localhost ([127.0.0.1]:50484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fbuk9-00051M-Nk for submit@debbugs.gnu.org; Sat, 07 Jul 2018 17:27:50 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:42232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fbuk8-00051A-3t for 32086@debbugs.gnu.org; Sat, 07 Jul 2018 17:27:48 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 2A321160653; Sat, 7 Jul 2018 14:27:42 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id jmekXTw0R0eI; Sat, 7 Jul 2018 14:27:40 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id F081F160655; Sat, 7 Jul 2018 14:27:39 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id e2mvRQEFGJHR; Sat, 7 Jul 2018 14:27:39 -0700 (PDT) Original-Received: from [192.168.1.9] (unknown [47.154.30.119]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 9FECC160653; Sat, 7 Jul 2018 14:27:39 -0700 (PDT) Openpgp: preference=signencrypt Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= xsFNBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqfhpxxdGA9 Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9XmAAtmXqeZVIYX/UFS 96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Ygd7gx07Auwp7iw7eNvnoDTAl KAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kghy+P6au6PrIIhYraeua7XDdb2LS1en3Ss mE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZK QMr9amVPknjfPmJISqdhgB1DlEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2 Sf1tk5eU8MBiyN/bZ03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujC OJVxq2kljBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+ KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6CnrQzvJbB n6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQABzSBQYXVsIEVnZ2Vy dCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PsLBfgQTAQIAKAUCTIByZAIbAwUJEswDAAYLCQgHAwIG FQgCCQoLBBYCAwECH Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:148319 Archived-At: This is a multi-part message in MIME format. --------------1A60731664A7ACA971B7BB0D Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Thanks for reporting the bug. Please try the attached patch, which I'd li= ke to=20 install into the emacs-26 branch if it fixes your problem. --------------1A60731664A7ACA971B7BB0D Content-Type: text/x-patch; name="0001-Fix-floating-point-exceptions-on-Alpha-Bug-32086.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0001-Fix-floating-point-exceptions-on-Alpha-Bug-32086.patch" =46rom 960603eb5677265575b786671719d5746164e18c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 7 Jul 2018 14:24:46 -0700 Subject: [PATCH] Fix floating point exceptions on Alpha (Bug#32086) * admin/merge-gnulib (GNULIB_MODULES): Add fpieee. * m4/fpieee.m4: New file, copied from Gnulib. * m4/gnulib-comp.m4: Regenerate. --- admin/merge-gnulib | 2 +- lib/gnulib.mk.in | 2 +- m4/fpieee.m4 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++= ++++++ m4/gnulib-comp.m4 | 3 +++ 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 m4/fpieee.m4 diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 42edfbb..b23adc2 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib @@ -33,7 +33,7 @@ GNULIB_MODULES=3D d-type diffseq dtoastr dtotimespec dup2 environ execinfo explicit_bzero faccessat fcntl fcntl-h fdatasync fdopendir - filemode filevercmp flexmember fstatat fsync + filemode filevercmp flexmember fpieee fstatat fsync getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog ignore-value intprops largefile lstat manywarnings memrchr minmax mkostemp mktime nstrftime diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in index 71c01e3..e69ae45 100644 --- a/lib/gnulib.mk.in +++ b/lib/gnulib.mk.in @@ -21,7 +21,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --lib=3Dlibgnu --source-base=3Dlib = --m4-base=3Dm4 --doc-base=3Ddoc --tests-base=3Dtests --aux-dir=3Dbuild-au= x --avoid=3Dclose --avoid=3Ddup --avoid=3Dfchdir --avoid=3Dfstat --avoid=3D= malloc-posix --avoid=3Dmsvc-inval --avoid=3Dmsvc-nothrow --avoid=3Dopenat= -die --avoid=3Dopendir --avoid=3Draise --avoid=3Dsave-cwd --avoid=3Dselec= t --avoid=3Dsetenv --avoid=3Dsigprocmask --avoid=3Dstat --avoid=3Dstdarg = --avoid=3Dstdbool --avoid=3Dthreadlib --avoid=3Dtzset --avoid=3Dunsetenv = --avoid=3Dutime --avoid=3Dutime-h --gnu-make --makefile-name=3Dgnulib.mk.= in --conditional-dependencies --no-libtool --macro-prefix=3Dgl --no-vc-fi= les alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-st= ream count-leading-zeros count-one-bits count-trailing-zeros crypto/md5 c= rypto/sha1 crypto/sha256 crypto/sha512 d-type diffseq dtoastr dtotimespec= dup2 environ execinfo explicit_bzero faccessat fcntl fcntl-h fdatasync f= dopendir filemode filevercmp flexmember fstatat fsync getloadavg getopt-g= nu gettime gettimeofday gitlog-to-changelog ignore-value intprops largefi= le lstat manywarnings memrchr minmax mkostemp mktime nstrftime pipe2 psel= ect pthread_sigmask putenv qcopy-acl readlink readlinkat sig2str socklen = stat-time std-gnu11 stdalign stddef stdio stpcpy strtoimax symlink sys_st= at sys_time tempname time time_r time_rz timegm timer-time timespec-add t= imespec-sub unlocked-io update-copyright utimens vla warnings +# Reproduce by: gnulib-tool --import --lib=3Dlibgnu --source-base=3Dlib = --m4-base=3Dm4 --doc-base=3Ddoc --tests-base=3Dtests --aux-dir=3Dbuild-au= x --avoid=3Dclose --avoid=3Ddup --avoid=3Dfchdir --avoid=3Dfstat --avoid=3D= malloc-posix --avoid=3Dmsvc-inval --avoid=3Dmsvc-nothrow --avoid=3Dopenat= -die --avoid=3Dopendir --avoid=3Draise --avoid=3Dsave-cwd --avoid=3Dselec= t --avoid=3Dsetenv --avoid=3Dsigprocmask --avoid=3Dstat --avoid=3Dstdarg = --avoid=3Dstdbool --avoid=3Dthreadlib --avoid=3Dtzset --avoid=3Dunsetenv = --avoid=3Dutime --avoid=3Dutime-h --gnu-make --makefile-name=3Dgnulib.mk.= in --conditional-dependencies --no-libtool --macro-prefix=3Dgl --no-vc-fi= les alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-st= ream count-leading-zeros count-one-bits count-trailing-zeros crypto/md5 c= rypto/sha1 crypto/sha256 crypto/sha512 d-type diffseq dtoastr dtotimespec= dup2 environ execinfo explicit_bzero faccessat fcntl fcntl-h fdatasync f= dopendir filemode filevercmp flexmember fpieee fstatat fsync getloadavg g= etopt-gnu gettime gettimeofday gitlog-to-changelog ignore-value intprops = largefile lstat manywarnings memrchr minmax mkostemp mktime nstrftime pip= e2 pselect pthread_sigmask putenv qcopy-acl readlink readlinkat sig2str s= ocklen stat-time std-gnu11 stdalign stddef stdio stpcpy strtoimax symlink= sys_stat sys_time tempname time time_r time_rz timegm timer-time timespe= c-add timespec-sub unlocked-io update-copyright utimens vla warnings =20 =20 MOSTLYCLEANFILES +=3D core *.stackdump diff --git a/m4/fpieee.m4 b/m4/fpieee.m4 new file mode 100644 index 0000000..b58840f --- /dev/null +++ b/m4/fpieee.m4 @@ -0,0 +1,54 @@ +# fpieee.m4 serial 2 -*- coding: utf-8 -*- +dnl Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl IEEE 754 standardized three items: +dnl - The formats of single-float and double-float - nowadays commonly +dnl available as 'float' and 'double' in C and C++. +dnl No autoconf test needed. +dnl - The overflow and division by zero behaviour: The result are values= +dnl '=C2=B1Inf' and 'NaN', rather than exceptions as it was before. +dnl This file provides an autoconf macro for ensuring this behaviour o= f +dnl floating-point operations. +dnl - A set of conditions (overflow, underflow, inexact, etc.) which can= +dnl be configured to trigger an exception. +dnl This cannot be done in a portable way: it depends on the compiler,= +dnl libc, kernel, and CPU. No autoconf macro is provided for this. + +dnl Ensure non-trapping behaviour of floating-point overflow and +dnl floating-point division by zero. +dnl (For integer overflow, see gcc's -ftrapv option; for integer divisio= n by +dnl zero, see the autoconf macro in intdiv0.m4.) + +AC_DEFUN([gl_FP_IEEE], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + # IEEE behaviour is the default on all CPUs except Alpha and SH + # (according to the test results of Bruno Haible's ieeefp/fenv_default= =2Em4 + # and the GCC 4.1.2 manual). + case "$host_cpu" in + alpha*) + # On Alpha systems, a compiler option provides the behaviour. + # See the ieee(3) manual page, also available at + # + if test -n "$GCC"; then + # GCC has the option -mieee. + # For full IEEE compliance (rarely needed), use option -mieee-wi= th-inexact. + CPPFLAGS=3D"$CPPFLAGS -mieee" + else + # Compaq (ex-DEC) C has the option -ieee, equivalent to -ieee_wi= th_no_inexact. + # For full IEEE compliance (rarely needed), use option -ieee_wit= h_inexact. + CPPFLAGS=3D"$CPPFLAGS -ieee" + fi + ;; + sh*) + if test -n "$GCC"; then + # GCC has the option -mieee. + CPPFLAGS=3D"$CPPFLAGS -mieee" + fi + ;; + esac +]) diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 167356f..e30ff1f 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -86,6 +86,8 @@ AC_DEFUN # Code from module filevercmp: # Code from module flexmember: # Code from module fpending: + # Code from module fpieee: + AC_REQUIRE([gl_FP_IEEE]) # Code from module fstatat: # Code from module fsync: # Code from module getdtablesize: @@ -994,6 +996,7 @@ AC_DEFUN m4/filemode.m4 m4/flexmember.m4 m4/fpending.m4 + m4/fpieee.m4 m4/fstatat.m4 m4/fsync.m4 m4/getdtablesize.m4 --=20 2.7.4 --------------1A60731664A7ACA971B7BB0D--