bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#26018: Emacs workaround for Solaris 10 is unnecessary


From: Paul Eggert
Subject: bug#26018: Emacs workaround for Solaris 10 is unnecessary
Date: Tue, 7 Mar 2017 09:05:01 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

Going back to the old bug report copied below, because I'm trying to simplify the isnan code in Emacs.

I cannot reproduce the problem on Solaris 10 sparc with the bundled GCC 3.4.3 (/usr/sfw/bin/gcc, which reports "gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)". So I am inclined to think that the compiler mentioned below wasn't installed correctly. I notice, for example, that when I run the command 'nm floatfns.o' the output does not contain the symbols __builtin_isnan or __builtin_isfinite. Instead, the Fisnan function contains open code that tests where a register contains a NaN, which is what I would expect GCC to do. So I am now inclined to think that the bug report is a false alarm.

I'll CC: this to bug-gnu-emacs so that this gets a bug number.

On 10/22/2013 06:43 PM, Burt, Timothy C - GS wrote:
Paul ---

My apologies if you are not involved with emacs development or even care to be 
notified of what seems to be a regression to one of your fixes.  But if you're 
still willing to read on then can I presume on you to point me in the right 
direction to report this?

In short, while compiling emacs 24.3 on a Sparc Solaris 10 machine with gcc 
v3.4.3 I encountered fatal errors[fn:1] with __builtin_isnan and 
__builtin_isfinite being undefined symbols.  I found your fix for isnan, but 
the code base I used (from 
http://gnu.spinellicreations.com/emacs/emacs-24.3.tar.gz) had isnan surrounded 
by an #ifndef/#endif guard instead of your #undef solution.  So, I changed it 
back and did the same for isfinite then the compilation was successful.  I 
think this is a bug but I hesitated to use address@hidden since that seemed to 
be for emacs, not necessarily emacs development.  Would you be able to point me 
in the right direction?


Thank you,
and I'm sorry for the cold call.



[fn:1] Internal compilation notes that include error at temacs step:
    + IMPORTANT: For Solaris 10 with gcc v3.4.3 the following changes need
       to be made to src/floatfns.c
       : 37c37
       : < #ifndef isfinite
       : ---
       : > #undef isfinite
       : 39,40c39
       : < #endif
       : < #ifndef isnan
       : ---
       : > #undef isnan
       : 42d40
       : < #endif
       - Paul Eggert noticed an fixed a problem with isnan (see
         http://lists.gnu.org/archive/html/emacs-diffs/2011-09/msg00041.html).
         However, somewhere between that fix and the code base used here a
         minor, but vital, change was made that broke the compilation on
         Solaris 10 with gcc v3.4.3.  Specifically, isnan should have
         been #undef'd.  The changes above take away the #ifndef/#endif
         guards and replace them with a leading #undef for both isnan and
         isfinite since they both contribute to the fatal error making
         temacs.
         #+begin_src text
         cc -std=gnu99  -Demacs  -I. -I/vendor/emacs-24.3/emacs-24.3/src 
-I../lib -I/vendor/emacs-24.3/emacs-24.3/src/../lib   -I/usr/openwin/include    
 -I/usr/include/libxml2         -MMD -MF deps/.d -MP     -g3 -O2   
-L/usr/openwin/lib \
           -o temacs  dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o 
window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o 
term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o 
xgselect.o   emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o 
insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o 
indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o 
eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexsol.o bytecode.o 
process.o gnutls.o callproc.o region-cache.o sound.o atimer.o doprnt.o 
intervals.o textprop.o composite.o xml.o profiler.o     xfont.o  fontset.o 
fringe.o image.o  terminfo.o lastfile.o     widget.o  ../lib/libgnu.a    
../lwlib/liblw.a  -ltiff -ljpeg -lpng -lz -lm  -lXpm -lXaw -lXmu -lXt -lSM 
-lICE -lXext -lX11     -lrt -lrt   -lxml2 -lpthread -lz -lm -lsocket -lnsl    
-lresolv -lsocket -lnsl -lncurses     -lfontconfig      -lpthread   -lm
         Undefined                       first referenced
          symbol                             in file
         __builtin_isnan                     floatfns.o
         __builtin_isfinite                  floatfns.o
         ld: fatal: Symbol referencing errors. No output written to temacs
         collect2: ld returned 1 exit status
         gmake[1]: *** [temacs] Error 1
         gmake[1]: Leaving directory 
`/ssd/system/vendor/emacs-24.3/emacs-24.3/src'
         gmake: *** [src] Error 2
         #+end_src



Timothy C. Burt, PhD
Senior Staff Scientist
address@hidden
(585) 269-5230



________________________________

This e-mail and any files transmitted with it may be proprietary and are 
intended solely for the use of the individual or entity to whom they are 
addressed. If you have received this e-mail in error please notify the sender. 
Please note that any views or opinions presented in this e-mail are solely 
those of the author and do not necessarily represent those of Exelis Inc. The 
recipient should check this e-mail and any attachments for the presence of 
viruses. Exelis Inc. accepts no liability for any damage caused by any virus 
transmitted by this e-mail.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]