all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Gregory Heytings <gregory@heytings.org>
To: Po Lu <luangruo@yahoo.com>
Cc: Eli Zaretskii <eliz@gnu.org>,
	stefankangas@gmail.com, emacs-devel@gnu.org
Subject: Re: master 37889523278: Add new `swap` macro and use it
Date: Tue, 30 Jan 2024 02:00:43 +0000	[thread overview]
Message-ID: <148534ba184067c6fc39@heytings.org> (raw)
In-Reply-To: <87sf2ihzoz.fsf@yahoo.com>


>> This is almost becoming funny.  You did not even look at the file I 
>> attached to my previous post.  Of course, why would you do so, with a 
>> guiding principle that everyone is wrong?
>
> I did
>

You did not, otherwise you would not have explained the build failure with 
something that had no relationship whatsoever with it.

>
> alignas is and was only required to support builds where LSB tags are 
> required.  Such tags are not necessary on the Unix systems which support 
> Sun C 5.9, as there `malloc' does not return values with an arbitrary 
> offset in the name of security or require hacking machine and system 
> headers to define the offset of the program's data segment.
>

All that is irrelevant in the matter at hand.

>
> Furthermore, at the time of alignof's introduction, lisp.h defined it to 
> an empty macro if Gnulib's stdalign module could not provide a 
> substitute, so by no means was it ever invoked unconditionally.
>

That's wrong.  Again you are just ignoring the information I gave you. 
So I'll say it again: alignas, a C11 feature, was introduced 
unconditionally in Emacs by e32a579975 in July 2012, and it was made 
conditional only ten years later, by 1e2bc1bbf4 in December 2021 (to 
support builds with older version of TCC).  Without the "# define 
alignas(a)" line in lisp.h, which was added by 1e2bc1bbf4 and was 
therefore not present in Emacs 25-28, Sun C 5.8 fails to compile Emacs 29 
in the same way it fails to compile Emacs 25-28.

>
> Lastly, each of these oversights attended changes made on solid grounds, 
> such as crashes in other obscure builds (e.g. the 32-bit Windows build 
> with wide integers and specific versions of GCC).  If anything, this 
> speaks against sacrificing portability on the basis of categorical 
> assumptions that certain non-standard constructs are always available.
>

All that is irrelevant to the matter at hand.

>> Your claim has now narrowed down to the following: Sun C 5.8, but only 
>> with some patches, and only on 64-bit platforms, can produce a working 
>> Emacs 29 build.
>
> This was my claim from the outset, because that was the combination of 
> Sun C and system configuration on which I tested Emacs.  It has not 
> become any more or less defined.
>

Absolutely not.  Your claim is and was that Sun C 5.8 produces working 
Emacs builds, and in the post to which I was replying, you said:

The GCC build farm, Paul Eggert, and several other Emacs and Gnulib 
developers have and routinely test on up-to-date Solaris 10 systems with 
various versions of Sun Studio.

followed by a link to a post in which Sun C 5.8 was mentioned.  I don't 
know about Gnulib, but it is clear that Emacs was not at all "routinely" 
tested with Sun C 5.8, given that the build failed early between July 2012 
and December 2021, with zero bug reports about that failure, and given 
that it still fails today, albeit later, again with zero bug reports about 
that failure.

>> I will not waste more of my time to check that claim in detail, but FTR 
>> I seriously doubt it is: my attempt at building Emacs 29 failed with 
>> '"alloc.c", line 692: type of struct member "__b" can not be derived 
>> from structure with flexible array member', for which the remedy is, 
>> according to a Google search, "upgrade your tools to Oracle Solaris 
>> Studio (previously Sun Studio) 12 [that is, Sun C 5.9] or something 
>> newer".
>
> That is an implementation choice in early versions of C 5.8, addressed 
> either by later patches or certain versions of Sun Studio Express.  My 
> site's KB (in relation to a physics simulation package rather than 
> Emacs) suggests configuring with:
>
>  ac_cv_c_flexmember=no
>
> but it was not necessary for me.
>

Sorry, enough is enough.  As I said, I simply refuse to waste more of my 
time to determine under which circumstances and with which undocumented 
configuration options, if any, a proprietary compiler that has been EOL'd 
almost ten years ago could perhaps create a working Emacs build for a very 
specific platform that hardly anybody uses.  My attempt, with a standard 
"make", failed as described above, and the reason of that failure is 
simply that Sun C 5.8 does not implement alignof, which is used in Emacs 
29 and is, like alignas and typeof, available in Sun C 5.9 and later 
compilers.

>
> Gnulib shares its portability considerations with our project and the 
> GNU project as a whole.  If anything, our standards are significantly 
> more charitable than are Gnulib's, with regard to Microsoft operating 
> systems.
>

You've already been told, by Eli, that "our goals are very different from 
those of Gnulib".  So what's the point of saying this again?




  reply	other threads:[~2024-01-30  2:00 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <170452579053.27998.16123231327386305897@vcs2.savannah.gnu.org>
     [not found] ` <20240106072311.28B8FC0034E@vcs2.savannah.gnu.org>
2024-01-06  7:39   ` master 37889523278: Add new `swap` macro and use it Po Lu
2024-01-06  8:44     ` Eli Zaretskii
2024-01-06  8:45       ` Po Lu
2024-01-06  9:18         ` Stefan Kangas
2024-01-06 10:33           ` Po Lu
2024-01-06 11:30             ` Stefan Kangas
2024-01-06 13:13               ` Po Lu
2024-01-06 13:59                 ` Eli Zaretskii
2024-01-06 14:41                   ` Po Lu
2024-01-06 15:34                     ` Eli Zaretskii
2024-01-07  1:39                       ` Po Lu
2024-01-07  6:34                         ` Stefan Kangas
2024-01-07  7:50                           ` Po Lu
2024-01-07  8:33                             ` Eli Zaretskii
2024-01-07  9:45                             ` Stefan Kangas
2024-01-07 10:36                               ` Po Lu
2024-01-07 11:34                                 ` Eli Zaretskii
2024-01-07 11:53                                   ` Po Lu
2024-01-07 14:37                                     ` Eli Zaretskii
2024-01-07 17:32                                 ` Stefan Kangas
2024-01-08  2:15                                   ` Po Lu
2024-01-07  7:09                         ` Eli Zaretskii
2024-01-12  0:50                   ` Gregory Heytings
2024-01-13 10:16                     ` Stefan Kangas
2024-01-14  3:03                     ` Richard Stallman
2024-01-14  5:14                     ` Po Lu
2024-01-14  7:07                       ` Eli Zaretskii
2024-01-14  8:05                         ` Po Lu
2024-01-14  9:31                           ` Eli Zaretskii
2024-01-15  1:32                             ` Gregory Heytings
2024-01-15 12:41                               ` Eli Zaretskii
2024-01-15 13:56                                 ` Po Lu
2024-01-15 14:13                                   ` Eli Zaretskii
2024-01-18  1:01                                 ` Gregory Heytings
2024-01-18  2:11                                   ` Po Lu
2024-01-27  1:26                                     ` Gregory Heytings
2024-01-27  2:58                                       ` Po Lu
2024-01-27 23:44                                         ` Stefan Kangas
2024-01-28  1:51                                           ` Po Lu
2024-01-28  2:35                                             ` Stefan Kangas
2024-01-28  4:17                                               ` Po Lu
2024-01-28  6:28                                             ` Eli Zaretskii
2024-01-28  2:22                                         ` Gregory Heytings
2024-01-28  4:03                                           ` Po Lu
2024-01-30  2:00                                             ` Gregory Heytings [this message]
2024-01-30  2:41                                               ` Po Lu
2024-01-28  6:40                                           ` Eli Zaretskii
2024-01-30  1:59                                             ` Gregory Heytings
2024-01-30 12:41                                               ` Eli Zaretskii
2024-01-18  6:22                                   ` Eli Zaretskii
2024-01-27  1:25                                     ` Gregory Heytings
2024-01-27  3:08                                       ` Po Lu
2024-01-27  7:19                                       ` Eli Zaretskii
2024-01-17  3:29                           ` Richard Stallman
2024-01-17 10:16                       ` Stefan Kangas
2024-01-17 11:15                         ` Po Lu
2024-01-17 21:15                           ` Stefan Kangas
2024-01-18  0:39                             ` Po Lu
2024-01-18 19:17                               ` Stefan Kangas
2024-01-19  1:10                                 ` Po Lu
2024-01-20 20:31                                   ` Stefan Kangas
2024-01-22  3:35                                     ` Richard Stallman
2024-01-22  4:48                                       ` Po Lu
2024-01-22 18:21                                         ` Dmitry Gutov
2024-01-23  0:50                                           ` Po Lu
2024-01-25 23:38                                           ` Stefan Kangas
2024-01-26  2:02                                             ` Po Lu
2024-01-26  7:53                                               ` Eli Zaretskii
2024-01-26  7:38                                             ` Eli Zaretskii
2024-01-19  3:32                               ` Richard Stallman
2024-01-19  4:12                                 ` Po Lu
2024-01-27  1:27                               ` Gregory Heytings
2024-01-27 23:56                                 ` Stefan Kangas
2024-01-28  2:23                                   ` Gregory Heytings
2024-01-13  8:02       ` Stefan Kangas
2024-01-13  9:14         ` Eli Zaretskii
2024-01-13  9:50           ` Mattias Engdegård
2024-01-06  8:50     ` Stefan Kangas
2024-01-06  9:09       ` Po Lu
2024-01-06  9:52       ` Andreas Schwab

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

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

  git send-email \
    --in-reply-to=148534ba184067c6fc39@heytings.org \
    --to=gregory@heytings.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=stefankangas@gmail.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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.