From: Stefan Kangas <stefankangas@gmail.com>
To: "Eli Zaretskii" <eliz@gnu.org>,
"Gerd Möllmann" <gerd.moellmann@gmail.com>
Cc: pipcet@protonmail.com, emacs-devel@gnu.org, eller.helmut@gmail.com
Subject: Building scratch/igc with -fno-omit-frame-pointer
Date: Sat, 28 Dec 2024 20:17:30 +0000 [thread overview]
Message-ID: <CADwFkmnmV-72OT1dDSuVnx-rrZsfnFoZb7VyQ9vb8gj4nAaCAw@mail.gmail.com> (raw)
In-Reply-To: <86v7vekgcy.fsf@gnu.org>
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: "Pip Cet via \"Emacs development discussions.\"" <emacs-devel@gnu.org>,
>> Helmut Eller <eller.helmut@gmail.com>
>> Date: Thu, 19 Dec 2024 20:57:45 +0100
>>
>> Pip Cet <pipcet@protonmail.com> writes:
>>
>> > Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>> >
>> >> Pip Cet via "Emacs development discussions." <emacs-devel@gnu.org>
>> >> writes:
>> >>
>> >>> Does anyone remember what our conclusion was wrt
>> >>> -fno-omit-frame-pointer? I seem to remember there was a patch to MPS to
>> >>> avoid relying on setjmp() to save all registers, but I'd still be
>> >>> happier if we enabled that for all MPS builds, since we don't know
>> >>> whether our MPS has the patch.
>> >>
>> >> I'm using -fno-omit-frame-pointer, but I don't remember why. I think
>> >> Helmut said something or so (in CC).
>> >
>> > We tried not using it, it caused a bug, I spent too many hours tracking
>> > that one down, so now I think we should make configure.ac always enable
>> > it, even though it should be a no-op on some architectures (I think
>> > macOS on aarch64 is one of them).
I took a look in the archives, and the reason is that there is a bug
with register scanning that -fno-omit-frame-pointer fixes:
https://github.com/Ravenbrook/mps/pull/38
>> > I'm not sure what the right thing to do here is, though: do we want
>> > force CFLAGS to include -fno-omit-frame-pointer, or set it only when
>> > CFLAGS isn't specified explicitly, or is looking at user-provided CFLAGS
>> > and complaining about them the right thing to do?
>>
>> I'd force it, but I'm reckless :-).
>
> Agreed.
Is the below patch good enough for now?
diff --git a/configure.ac b/configure.ac
index 885075a2f1d..1d8f69ff119 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5622,6 +5622,7 @@ AC_DEFUN
HAVE_MPS=no
LIBMPS=
IGCOBJ=
+MPS_CFLAGS=
if test "${with_mps}" != "no"; then
AC_CHECK_HEADER([mps.h],
[AC_CHECK_LIB([mps], [mps_arena_create], [HAVE_MPS=yes], [],
[$LIB_PTHREAD])])
@@ -5635,12 +5636,16 @@ AC_DEFUN
else
LIBMPS="-lmps $LIB_PTHREAD"
fi
+ # Force -fno-omit-frame-pointer to avoid MPS bug with register scanning:
+ # https://github.com/Ravenbrook/mps/pull/38
+ test -z "$MPS_CFLAGS" || MPS_CFLAGS="$MPS_CFLAGS "
+ MPS_CFLAGS=$MPS_CFLAGS-fno-omit-frame-pointer
else
AC_MSG_ERROR([The MPS library libmps is missing]):
fi
fi
-MPS_CFLAGS=
+
if test "$REALLY_ANDROID" = "yes" && test "$with_mps" != "no"; then
HAVE_MPS=no
ndk_SEARCH_MODULE([mps], [MPS], [HAVE_MPS=yes])
next prev parent reply other threads:[~2024-12-28 20:17 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.39.1723910423.12184.emacs-devel@gnu.org>
2024-08-17 22:49 ` Emacs-devel Digest, Vol 246, Issue 17 ali_gnu2
2024-08-18 0:10 ` Po Lu
2024-08-18 0:19 ` Po Lu
2024-08-18 1:15 ` Solaris dldump (was: Pure space) ali_gnu2
2024-08-18 1:25 ` Solaris dldump Po Lu
2024-08-18 22:27 ` Stefan Kangas
2024-08-18 23:56 ` Po Lu
2024-08-19 11:18 ` Eli Zaretskii
2024-08-19 12:09 ` Po Lu
2024-08-19 12:50 ` Eli Zaretskii
2024-08-19 11:44 ` Pip Cet
2024-08-19 11:57 ` Po Lu
2024-08-19 12:10 ` Pip Cet
2024-08-19 12:55 ` Eli Zaretskii
2024-08-19 13:46 ` Pip Cet
2024-08-19 14:39 ` Eli Zaretskii
2024-08-19 15:26 ` Corwin Brust
2024-08-19 15:31 ` Corwin Brust
2024-08-19 20:51 ` Stefan Kangas
2024-08-19 20:35 ` Stefan Kangas
2024-12-08 12:17 ` pdumper on Solaris 10 Pip Cet via Emacs development discussions.
2024-12-08 13:05 ` Eli Zaretskii
2024-12-08 13:52 ` Pip Cet via Emacs development discussions.
2024-12-08 14:52 ` Eli Zaretskii
2024-12-08 16:17 ` Pip Cet via Emacs development discussions.
2024-12-08 16:49 ` Eli Zaretskii
2024-12-08 17:37 ` Pip Cet via Emacs development discussions.
2024-12-08 18:41 ` Eli Zaretskii
2024-12-08 19:15 ` Gerd Möllmann
2024-12-08 20:38 ` Eli Zaretskii
2024-12-09 3:09 ` Gerd Möllmann
2024-12-09 3:32 ` Eli Zaretskii
2024-12-09 3:43 ` Gerd Möllmann
2024-12-09 4:53 ` Stefan Kangas
2024-12-09 5:26 ` Gerd Möllmann
2024-12-09 13:58 ` Eli Zaretskii
2024-12-10 0:02 ` Po Lu
2024-12-09 9:56 ` Pip Cet via Emacs development discussions.
2024-12-10 0:04 ` Po Lu
2024-12-10 3:34 ` Eli Zaretskii
2024-12-11 1:13 ` Po Lu
2024-12-11 11:29 ` Pip Cet via Emacs development discussions.
2024-12-09 4:59 ` Stefan Kangas
2024-12-09 14:39 ` Eli Zaretskii
2024-12-09 21:06 ` Merging MPS a.k.a. scratch/igc, yet again Stefan Kangas
2024-12-09 21:49 ` Óscar Fuentes
2024-12-10 4:17 ` Xiyue Deng
2024-12-10 4:26 ` Sean Whitton
2024-12-10 4:42 ` chad
2024-12-10 13:10 ` Óscar Fuentes
2024-12-10 15:10 ` Pip Cet via Emacs development discussions.
2024-12-10 15:37 ` Óscar Fuentes
2024-12-10 15:47 ` Pip Cet via Emacs development discussions.
2024-12-10 17:16 ` Eli Zaretskii
2024-12-12 4:37 ` Xiyue Deng
2024-12-19 16:02 ` Gregor Zattler
2024-12-19 17:32 ` Pip Cet via Emacs development discussions.
2024-12-19 18:12 ` Gerd Möllmann
2024-12-19 18:27 ` Eli Zaretskii
2024-12-19 18:39 ` Gerd Möllmann
2024-12-19 19:15 ` Pip Cet via Emacs development discussions.
2024-12-19 19:57 ` Gerd Möllmann
2024-12-20 6:39 ` Eli Zaretskii
2024-12-28 20:17 ` Stefan Kangas [this message]
2024-12-28 20:38 ` Building scratch/igc with -fno-omit-frame-pointer Pip Cet via Emacs development discussions.
2024-12-29 17:51 ` Stefan Kangas
2024-12-20 9:27 ` Merging MPS a.k.a. scratch/igc, yet again Gregor Zattler
2024-12-10 13:20 ` Eli Zaretskii
2024-12-10 14:46 ` Pip Cet via Emacs development discussions.
2024-12-10 13:09 ` Eli Zaretskii
2024-12-10 13:20 ` Óscar Fuentes
2024-12-10 14:41 ` Eli Zaretskii
2024-12-09 23:13 ` chad
2024-12-10 12:41 ` Eli Zaretskii
2024-12-10 0:09 ` pdumper on Solaris 10 Stefan Kangas
2024-12-10 12:59 ` Eli Zaretskii
2024-12-10 13:39 ` Óscar Fuentes
2024-12-10 14:39 ` Eli Zaretskii
2024-12-10 15:21 ` Óscar Fuentes
2024-12-10 16:39 ` Eli Zaretskii
2024-12-10 15:38 ` Pip Cet via Emacs development discussions.
2024-12-10 16:04 ` Óscar Fuentes
2024-12-10 17:23 ` Eli Zaretskii
2024-12-11 5:27 ` Gap buffer problem? Gerd Möllmann
2024-12-11 8:50 ` Pip Cet via Emacs development discussions.
2024-12-11 9:35 ` Gerd Möllmann
2024-12-11 11:50 ` Pip Cet via Emacs development discussions.
2024-12-11 13:22 ` Gerd Möllmann
2024-12-11 14:53 ` Pip Cet via Emacs development discussions.
2024-12-11 15:33 ` Gerd Möllmann
2024-12-11 16:58 ` Eli Zaretskii
2024-12-11 17:13 ` Gerd Möllmann
2024-12-11 17:45 ` Robert Pluim
2024-12-11 18:11 ` Gerd Möllmann
2024-12-11 19:08 ` Eli Zaretskii
2024-12-11 17:41 ` Pip Cet via Emacs development discussions.
2024-12-11 19:04 ` Eli Zaretskii
2024-12-11 19:54 ` Pip Cet via Emacs development discussions.
2024-12-11 20:26 ` Eli Zaretskii
2024-12-11 22:07 ` Dmitry Gutov
2024-12-11 19:09 ` Gerd Möllmann
2024-12-12 8:55 ` Robert Pluim
2024-12-12 10:14 ` Gerd Möllmann
2024-12-11 12:27 ` Pip Cet via Emacs development discussions.
2024-12-11 13:27 ` Gerd Möllmann
2024-12-11 15:06 ` Marcus Harnisch
2024-12-11 22:11 ` Dmitry Gutov
2024-12-12 3:49 ` Gerd Möllmann
2024-12-12 19:07 ` Dmitry Gutov
2024-12-12 19:30 ` Eli Zaretskii
2024-12-12 19:40 ` Gerd Möllmann
2024-12-12 6:01 ` Eli Zaretskii
2024-12-11 14:22 ` Eli Zaretskii
2024-12-11 15:51 ` Gerd Möllmann
2024-12-11 17:06 ` Eli Zaretskii
2024-12-11 17:15 ` Gerd Möllmann
2024-12-10 18:13 ` pdumper on Solaris 10 Gerd Möllmann
2024-12-10 15:23 ` Pip Cet via Emacs development discussions.
2024-12-10 17:08 ` Eli Zaretskii
2024-12-10 18:03 ` Gerd Möllmann
2024-12-10 19:34 ` Pip Cet via Emacs development discussions.
2024-12-10 19:59 ` Gerd Möllmann
2024-12-10 20:17 ` Pip Cet via Emacs development discussions.
2024-12-10 20:34 ` Gerd Möllmann
2024-12-11 14:13 ` Pip Cet via Emacs development discussions.
2024-12-11 17:43 ` Eli Zaretskii
2024-12-14 14:30 ` Eli Zaretskii
2024-12-15 10:55 ` Pip Cet via Emacs development discussions.
2024-12-15 11:13 ` Eli Zaretskii
2024-12-15 12:09 ` Pip Cet via Emacs development discussions.
2024-12-15 12:52 ` Eli Zaretskii
2024-12-15 19:54 ` John ff
2024-12-17 19:10 ` Paul Eggert
2024-12-17 19:43 ` Pip Cet via Emacs development discussions.
2024-12-17 20:00 ` Paul Eggert
2024-12-17 20:19 ` Eli Zaretskii
2024-12-17 21:14 ` Paul Eggert
2024-12-09 16:21 ` Pip Cet via Emacs development discussions.
2024-12-17 13:12 ` Pip Cet via Emacs development discussions.
2024-12-17 14:16 ` Eli Zaretskii
2024-12-18 0:55 ` Po Lu
2024-12-18 9:24 ` Pip Cet via Emacs development discussions.
2024-12-08 18:47 ` Pip Cet via Emacs development discussions.
2024-12-09 1:13 ` Po Lu
2024-12-09 1:08 ` Po Lu
2024-12-09 0:58 ` Po Lu
2024-12-09 3:28 ` Eli Zaretskii
2024-12-09 1:01 ` Po Lu
2024-12-09 13:11 ` Pip Cet via Emacs development discussions.
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=CADwFkmnmV-72OT1dDSuVnx-rrZsfnFoZb7VyQ9vb8gj4nAaCAw@mail.gmail.com \
--to=stefankangas@gmail.com \
--cc=eliz@gnu.org \
--cc=eller.helmut@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=gerd.moellmann@gmail.com \
--cc=pipcet@protonmail.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.