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

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

bug#12805: 24.2.50; Cygw32 build break


From: Eli Zaretskii
Subject: bug#12805: 24.2.50; Cygw32 build break
Date: Mon, 05 Nov 2012 18:38:40 +0200

> Date: Mon, 05 Nov 2012 19:04:05 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> 
> w32fns.c: In function 'emacs_abort':
> w32fns.c:7763:8: warning: implicit declaration of function '_open_osfhandle'
> w32fns.c:7765:8: warning: implicit declaration of function 'write'
> w32fns.c:7766:6: warning: implicit declaration of function '_open'
> w32fns.c:7769:3: warning: implicit declaration of function 'lseek'
> w32fns.c:7794:8: warning: implicit declaration of function 'close'
> (snip)
> gcc -std=gnu99  -Demacs  -I. -I/build/emacs/trunk/src  -I../lib 
> -I/build/emacs/trunk/src/../lib           -I/usr/include/libxml2           
> -MMD -MF deps/.d -MP   -I/usr/include/p11-kit-1      -g3 -O2   -L/usr/lib/noX 
> \
>   -o temacs pre-crt0.o dispnew.o frame.o scroll.o xdisp.o menu.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     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 
> unexcw.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     
> sheap.o cygw32.o   w32fns.o w32menu.o w32reg.o w32font.o w32term.o w32xfns.o 
> w32select.o w32uniscribe.o fontset.o fringe.o image.o  terminfo.o  gmalloc.o  
>  lastfile.o vm-limit.o   ../lib/libgnu.a  -lkernel32 -luser32 -lgdi32 -lole32 
> -lcomdlg32 -lusp10 -lcomctl32 -lwinspool   -ltiff -ljpeg -lpng -lz -lm -lgif 
> -lXpm              -lxml2 -lz -liconv -lm       -lncurses          -L/usr/
>  bin -lgnutls -lnettle -lhogweed -lgmp -ltasn1 -lp11-kit -lz   -lpthread      
> w32fns.o: In function `emacs_abort':
> /build/emacs/trunk/src/w32fns.c:7763: undefined reference to 
> `__open_osfhandle'
> collect2: ld returned 1 exit status
> Makefile:632: recipe for target `temacs.exe' failed
> make[1]: *** [temacs.exe] Error 1
> make[1]: Leaving directory `/build/emacs/trunk/src'
> Makefile:334: recipe for target `src' failed
> make: *** [src] Error 2

Sorry, I didn't expect cygw32 to use emacs_abort implementation on
w32fns.c.  Now I see this in sysdep.c:

  #ifndef HAVE_NTGUI
  void
  emacs_abort (void)
  {
    terminate_due_to_signal (SIGABRT, 10);
  }
  #endif

I think I fixed the problem (in trunk revision 110806), please test,
as I don't have Cygwin installed to test this myself.

However, I don't understand why would the cygw32 build use the Windows
abort dialog, when the Cygwin/X build uses the Posix facilities
instead.  The cygw32 is still a Cygwin program, so I think it would be
confusing for Cygwin users to have such a radical change in behavior
under fatal error.

Daniel, is this an omission?  If so, perhaps we should ifdef away for
Cygwin the whole w32fns.c emacs_abort implementation, and replace
HAVE_NTGUI above with WINDOWSNT.

If this isn't an omission, I'd like to hear your reasons.  TIA.






reply via email to

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