emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs pretest 28.0.90 is out


From: Eli Zaretskii
Subject: Re: Emacs pretest 28.0.90 is out
Date: Thu, 09 Dec 2021 11:16:38 +0200

> From: Po Lu <luangruo@yahoo.com>
> Cc: emacs-devel@gnu.org
> Date: Thu, 09 Dec 2021 10:10:29 +0800
> 
>     sysdep.c:2321: undefined reference to `_openat'
>     ld: sysdep.o: in function `_emacs_open_noquit':
>     sysdep.c:2349: undefined reference to `_openat'
>     ld: sysdep.o: in function `_safe_strsignal':
>     sysdep.c:2639: undefined reference to `_sigdescr_np'
>     ld: fileio.o: in function `_Fcopy_file':
>     fileio.c:2298: undefined reference to `_copy_file_range'
>     ld: fileio.c:2390: undefined reference to `_futimens'
>     ld: fileio.o: in function `_Fset_file_modes':
>     fileio.c:3526: undefined reference to `_fchmodat'
>     ld: fileio.o: in function `_Fset_file_times':
>     fileio.c:3595: undefined reference to `_utimensat'
>     ld: callproc.o: in function `_emacs_spawn':
>     callproc.c:1612: undefined reference to `_unblock_child_signal'
>     ld: callproc.c:1615: undefined reference to `_child_setup_tty'
> 
> I would like to reimplement `openat' and `copy_file_range', and to stub
> the rest, but before I proceed I'd like to ask if there's already an
> implementation of openat and copy_file_range somewhere in DJGPP (or
> gnulib) that I overlooked.

There's at-func.c in lib/, which implements the *at functions.  But
msdos.c was emulating them on its own, see readlinkat, faccessat, and
other similar functions there.  Their code is quite boilerplate, so it
shouldn't be hard to add a couple more of them.  You can use the code
in w32.c as inspiration (but without the conversion of file names from
UTF-8).  That should take care of openat and fchmodat.

I wouldn't recommend implementing copy_file_range, unless you mean the
trivial implementation that returns an error indication, like the
Gnulib version does.

As for the rest, my recommendation is to implement futimens based on
DJGPP's setftime.  unblock_child_signal and child_setup_type should be
#ifdef'ed away for MSDOS.  As for sigdescr_np, try to compile Gnulib's
sigdescr_np.c, and if that doesn't work, it should be easy to write an
emulation using sys_siglist, which DJGPP does have.



reply via email to

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