[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.