unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Po Lu <luangruo@yahoo.com>
Cc: emacs-devel@gnu.org
Subject: Re: Merging feature/android
Date: Sun, 5 Mar 2023 01:32:26 -0800	[thread overview]
Message-ID: <154a7bcc-f42d-21f1-1780-2dc3bb5443eb@cs.ucla.edu> (raw)
In-Reply-To: <871qm3vqez.fsf@yahoo.com>

On 2023-03-04 19:16, Po Lu wrote:
> Paul Eggert <eggert@cs.ucla.edu> writes:
> 
>> Actually dynamic module support should build with Sun C 5.15 (i.e.,
>> Oracle Solaris Studio 12.6), because Sun C supports GNU C's
>> __attribute__ ((cleanup)) extension. I think icc also supports that
>> extension. Not that I've ever used modules on those platforms.
> 
> Well, I do recall /opt/SUNwspro/bin/cc choking on emacs-module.c at some
> point in the past.

That's likely an earlier version of Sun C that does not support 
__attribute__ ((cleanup)). I doubt whether it's worth worrying about 
these older Sun C versions. People can get an up-to-date compiler, or 
(better yet) use GCC. It's not worth our time to port to obsolete Sun C.


> the correct solution is to check whether or not the compiler
> supports such an extension, and disable dynamic module support should it
> not.  Which is why we use configure in the first place, instead of
> performing ``checks'' with `GNUC_PREREQ'.

Emacs uses HAS_ATTRIBUTE, which should use Clang's __has_attribute, 
which should work with a recent-enough Android NDK (as these are based 
on Clang).

If you're using an older Android NDK based on GCC, yes that does use 
GNUC_PREREQ, but again this should work unless the older Android NDKs 
are squirrelly about GCC version numbers (are they?).

It's true that the Autoconf Way is to write a little program to test for 
__attribute__((cleanup)) directly, and that may be a good way to go. 
However, I would suggest first understanding why the current approach 
does not work. (But please see below; perhaps we don't need to worry 
about this at all.)


> r21 and r25 are free of this illness, but they don't support old
> versions of Android that Emacs does, such as Android 4.4 or 2.2.
> 
>    (And the other day someone asked me for a build of Emacs that runs on
>     Android 4.1, so these versions are evidently being used.)

Although I'm sure that ancient Android versions are still used 
somewhere, I suggest that we not worry about porting to Android versions 
so old that Google itself no longer supports them. This is the general 
guideline we've used for most other ports, and it should be a good 
guideline for Android too. We have limited development resources and 
it's generally not worth our time to port to an OS if it's not even 
worth the OS maintainer's time to support the OS.

Plus, Emacs is likely to have known security holes if we try to port it 
to no-longer-supported Android, and that would be bad for our users and 
bad publicity for Emacs. Android is one of the biggest malware targets 
out there.


> The attribute leads to a compiler error generating while generating
> debug information

If this Android NDK is so old that Google no longer supports it, I 
wouldn't worry about it. If not, perhaps we'll need to build Emacs 
without the debug-info option that is making that buggy compiler crash.



  reply	other threads:[~2023-03-05  9:32 UTC|newest]

Thread overview: 171+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87edq7ztks.fsf.ref@yahoo.com>
2023-03-02  4:05 ` Merging feature/android Po Lu
2023-03-02  9:23   ` Eli Zaretskii
2023-03-02 10:19     ` Po Lu
2023-03-02 12:48       ` Eli Zaretskii
2023-03-02 13:42         ` Po Lu
2023-03-02 14:00           ` Eli Zaretskii
2023-03-03  0:51             ` Po Lu
2023-03-03  7:25               ` Eli Zaretskii
2023-03-03  8:03                 ` Po Lu
2023-03-03  8:37                   ` Eli Zaretskii
2023-03-03  9:51                     ` Po Lu
2023-03-03 11:27                       ` Eli Zaretskii
2023-03-03 13:28                         ` Po Lu
2023-03-03 14:35                           ` Eli Zaretskii
2023-03-04  0:07                             ` Po Lu
2023-03-04  7:28                               ` Eli Zaretskii
2023-03-04  8:05                                 ` Po Lu
2023-03-04 10:48                                   ` Eli Zaretskii
2023-03-04 12:12                                     ` Po Lu
2023-03-04 12:49                                       ` Eli Zaretskii
2023-03-05  0:06                                         ` Po Lu
2023-03-05  2:17                                           ` Paul Eggert
2023-03-05  3:16                                             ` Po Lu
2023-03-05  9:32                                               ` Paul Eggert [this message]
2023-03-05 10:40                                                 ` Po Lu
2023-03-05 11:14                                                   ` Paul Eggert
2023-03-05 12:13                                                     ` Po Lu
2023-03-05 20:38                                                       ` Paul Eggert
2023-03-05 23:59                                                         ` Po Lu
2023-03-06  5:10                                                         ` Richard Stallman
2023-03-05  6:15                                           ` Eli Zaretskii
2023-03-05  7:53                                             ` Po Lu
2023-03-05  8:25                                               ` Eli Zaretskii
2023-03-05 10:29                                                 ` Po Lu
2023-03-05 11:01                                                   ` Eli Zaretskii
2023-03-05 11:25                                                     ` Po Lu
2023-03-05 11:38                                                       ` Paul Eggert
2023-03-05 12:06                                                         ` Po Lu
2023-03-05 20:07                                                           ` Paul Eggert
2023-03-06  0:08                                                             ` Po Lu
2023-03-06  8:58                                                               ` Arsen Arsenović
2023-03-06 10:39                                                                 ` Po Lu
2023-03-06 11:12                                                                   ` Arsen Arsenović
2023-03-06 12:12                                                                   ` Eli Zaretskii
2023-03-06 13:12                                                                     ` Po Lu
2023-03-06 14:14                                                                       ` Eli Zaretskii
2023-03-07  0:36                                                                         ` Po Lu
2023-03-07 12:51                                                                           ` Eli Zaretskii
2023-03-07 13:03                                                                             ` Po Lu
2023-03-07 13:36                                                                               ` Eli Zaretskii
2023-03-07 23:55                                                                                 ` Po Lu
2023-03-08  5:38                                                                                   ` Paul Eggert
2023-03-08  6:58                                                                                     ` Po Lu
2023-03-08  7:07                                                                                       ` Paul Eggert
2023-03-08  8:22                                                                                         ` Po Lu
2023-03-08  8:24                                                                                           ` Po Lu
2023-03-08 13:47                                                                                         ` Eli Zaretskii
2023-03-08 13:46                                                                                       ` Eli Zaretskii
2023-03-09  1:12                                                                                         ` Po Lu
2023-03-09  7:24                                                                                           ` Eli Zaretskii
2023-03-09  8:07                                                                                             ` Po Lu
2023-03-09  9:21                                                                                               ` Eli Zaretskii
2023-03-09 10:20                                                                                                 ` __attribute__ ((cleanup)) and emacs-module.c Po Lu
2023-03-09 12:56                                                                                                   ` Philipp Stephani
2023-03-09 13:31                                                                                                     ` Po Lu
2023-03-11  1:03                                                                                                       ` Paul Eggert
2023-03-11  1:37                                                                                                         ` Po Lu via Emacs development discussions.
2023-03-11 21:21                                                                                                           ` Paul Eggert
2023-03-12  0:42                                                                                                             ` Po Lu
2023-03-12  1:28                                                                                                               ` Paul Eggert
2023-03-08 13:41                                                                                     ` Merging feature/android Eli Zaretskii
2023-03-06  9:07                                                         ` Arsen Arsenović
2023-03-06 10:36                                                           ` Po Lu
2023-03-06 10:56                                                             ` Arsen Arsenović
2023-03-06 13:10                                                               ` Po Lu
2023-03-05 11:44                                                       ` Eli Zaretskii
2023-03-05 12:15                                                         ` Po Lu
2023-03-05  4:06                                       ` Richard Stallman
2023-03-05  5:52                                         ` Po Lu
2023-03-06  5:10                                           ` Richard Stallman
2023-03-06  8:05                                             ` Po Lu
2023-03-03 21:17       ` Paul Eggert
2023-03-04  0:06         ` Po Lu
2023-03-04  7:20           ` Eli Zaretskii
2023-03-04  8:08             ` Po Lu
2023-03-04  9:13               ` Paul Eggert
2023-03-04 10:14                 ` Po Lu
2023-03-04  7:02         ` Eli Zaretskii
2023-03-04  8:19           ` Po Lu
2023-03-14  7:16   ` Po Lu
2023-03-14  9:32     ` Robert Pluim
2023-03-14 10:39       ` Po Lu
2023-03-14 10:47         ` Robert Pluim
2023-03-14 11:05           ` Robert Pluim
2023-03-14 11:34             ` Po Lu
2023-03-14 13:10               ` Robert Pluim
2023-03-14 14:47                 ` Robert Pluim
2023-03-15  0:16                   ` Po Lu
2023-03-15  9:41                     ` Robert Pluim
2023-03-15 10:25                       ` Po Lu
2023-03-15 14:35                         ` Robert Pluim
2023-03-16  0:36                           ` Po Lu
2023-03-16  1:42                           ` Po Lu
2023-03-17  8:06                             ` Robert Pluim
2023-03-17  8:19                               ` Po Lu
2023-03-20 11:09                                 ` Po Lu
2023-03-20 11:23                                   ` Robert Pluim
2023-03-20 14:20                                     ` Robert Pluim
2023-03-20 17:34                                       ` João Távora
2023-03-21  7:48                                         ` Robert Pluim
2023-03-21 13:08                                           ` eglot-test-diagnostic-tags-unnecessary-code fails with certain clangd versions Robert Pluim
2023-03-21 13:49                                             ` Robert Pluim
2023-03-21 14:07                                               ` João Távora
2023-03-21 14:19                                                 ` Robert Pluim
2023-03-21 14:56                                                 ` Michael Albinus
2023-03-21 15:15                                                   ` João Távora
2023-03-21 15:34                                                     ` Michael Albinus
2023-03-21 15:38                                                       ` João Távora
2023-03-21 15:44                                                         ` João Távora
2023-03-21 15:55                                                         ` Michael Albinus
2023-03-21 16:26                                                           ` João Távora
2023-03-21 16:34                                                             ` Robert Pluim
2023-03-21 16:57                                                               ` João Távora
2023-03-21 18:26                                                                 ` chad
2023-03-21 18:47                                                                   ` João Távora
2023-03-22  9:36                                                                     ` Robert Pluim
2023-03-22  9:45                                                                       ` João Távora
2023-03-22 10:19                                                                         ` Robert Pluim
2023-03-22 11:15                                                                           ` Michael Albinus
2023-03-22 11:58                                                                             ` Robert Pluim
2023-03-22 11:18                                                                           ` João Távora
2023-03-22 11:08                                                                         ` Michael Albinus
2023-03-22 11:12                                                                           ` João Távora
2023-03-14 13:03     ` Merging feature/android Arash Esbati
2023-03-14 13:18       ` Po Lu
2023-03-14 13:33         ` Arash Esbati
2023-03-14 13:49           ` Po Lu
2023-03-14 16:16             ` Eli Zaretskii
2023-03-15  0:21               ` Po Lu
2023-03-15  0:45                 ` Corwin Brust
2023-03-15  1:30                   ` Po Lu
2023-03-15  6:03                     ` Corwin Brust
2023-03-15  6:15                       ` Po Lu
2023-03-15  6:24                         ` Corwin Brust
2023-03-15  7:07                         ` Corwin Brust
2023-03-15  6:23                       ` Corwin Brust
2023-03-15  7:23                         ` Po Lu
2023-03-16  7:25                           ` Po Lu
2023-03-16  8:52                             ` Arash Esbati
2023-03-16 10:30                               ` Po Lu
2023-03-16 10:43                               ` Eli Zaretskii
2023-03-16 11:59                                 ` Arash Esbati
2023-03-16 12:05                                   ` Eli Zaretskii
2023-03-16 12:08                                     ` Po Lu
2023-03-16 12:13                                     ` Arash Esbati
2023-03-16 14:11                                       ` Eli Zaretskii
2023-03-16 17:09                                         ` Arash Esbati
2023-03-16 19:53                                           ` Eli Zaretskii
2023-03-17  8:42                                             ` Arash Esbati
2023-03-17  8:50                                               ` Po Lu
2023-03-17 11:27                                               ` Po Lu
2023-03-17 12:07                                                 ` Arash Esbati
2023-03-17 13:19                                                   ` Po Lu
2023-03-17 13:45                                                     ` Arash Esbati
2023-03-17 17:54                                                       ` Corwin Brust
     [not found]                                                         ` <87r0t6vll1.fsf@yahoo.com>
2023-04-02 17:22                                                           ` Corwin Brust
2023-04-02 17:53                                                             ` Eli Zaretskii
2023-04-02 18:03                                                               ` Eli Zaretskii
2023-04-13  8:25                                                         ` Po Lu
2023-04-13  8:30                                                           ` Eli Zaretskii
2023-04-13  8:37                                                             ` Po Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=154a7bcc-f42d-21f1-1780-2dc3bb5443eb@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).