From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs pretest 28.0.90 is out Date: Thu, 09 Dec 2021 11:16:38 +0200 Message-ID: <83k0geuoi1.fsf@gnu.org> References: <87v903sotv.fsf@yahoo.com> <83r1ar4h29.fsf@gnu.org> <875ys3qr0o.fsf@yahoo.com> <8335n748sj.fsf@gnu.org> <87wnkjpaff.fsf@yahoo.com> <831r2r47lk.fsf@gnu.org> <87sfv7p9uw.fsf@yahoo.com> <83zgpf2mdr.fsf@gnu.org> <87fsr6pn9r.fsf@yahoo.com> <834k7l3nko.fsf@gnu.org> <87o85tlv9o.fsf@yahoo.com> <87a6hdlukl.fsf@yahoo.com> <83pmq925hc.fsf@gnu.org> <87tufljldf.fsf@yahoo.com> <87pmq9jh21.fsf@yahoo.com> <83k0ggzg6v.fsf@gnu.org> <87r1angb8d.fsf@yahoo.com> <838rwvxofc.fsf@gnu.org> <877dcfdy7a.fsf@yahoo.com> <83mtlbw75d.fsf@gnu.org> <8735n2cyui.fsf@yahoo.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6709"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 09 10:18:03 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mvFYw-0001bm-QM for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Dec 2021 10:18:02 +0100 Original-Received: from localhost ([::1]:43110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mvFYv-0001tz-Kh for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Dec 2021 04:18:01 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:41040) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvFXr-0000zK-PP for emacs-devel@gnu.org; Thu, 09 Dec 2021 04:16:55 -0500 Original-Received: from [2001:470:142:3::e] (port=35496 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvFXr-0004HQ-Dv; Thu, 09 Dec 2021 04:16:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=JPfUfz9yCyGmz4HF2NgousJgd1HWyxWTu4wor2niRTk=; b=MA+Ad7Ov5caV LJkmCC1yPBMLNxm+BRE3HzARk0U5WrZX7DL/VDfMbmdh9Xbb6pfrwU7+p5OIKNmDzrxU72e3DU8yD 2bXnCH/FqO5r+igCurqYwSwJvhZKsGve+6gzPJGvwhr3WdDaeiFDJbGevm78eS76CYjVTkes4dGvb yqSxCEU5SqVdfMIInxpTwnAvPL3VKoynFneM7IeRcnqkaRqW2DLZoZeQnOTcQwXNNw5/uLkbYYYCC LzB+JgFYpoEoABMRszcM9Glt2PFJ/zAW5id9qt5+kAagRhMJ1KBZXKLLWviIw4p3syH8o+Lig3tPW iWJKVrtYI7zOBN16r3pUtQ==; Original-Received: from [87.69.77.57] (port=4069 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvFXr-0005eQ-7c; Thu, 09 Dec 2021 04:16:55 -0500 In-Reply-To: <8735n2cyui.fsf@yahoo.com> (message from Po Lu on Thu, 09 Dec 2021 10:10:29 +0800) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:281464 Archived-At: > From: Po Lu > 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.