unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: arash@gnu.org
Cc: 63365@debbugs.gnu.org, akrl@sdf.org
Subject: bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation
Date: Fri, 26 Jan 2024 15:11:36 +0200	[thread overview]
Message-ID: <86ttn09r3r.fsf@gnu.org> (raw)
In-Reply-To: <83jzxf5giw.fsf@gnu.org> (message from Eli Zaretskii on Thu, 11 May 2023 13:06:15 +0300)

> Date: Thu, 11 May 2023 13:06:15 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 63365@debbugs.gnu.org, akrl@sdf.org
> 
> > Cc: 63365@debbugs.gnu.org, akrl@sdf.org
> > Date: Wed, 10 May 2023 22:08:57 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > 
> > > Cc: 63365@debbugs.gnu.org, akrl@sdf.org
> > > Date: Wed, 10 May 2023 19:54:06 +0300
> > > From: Eli Zaretskii <eliz@gnu.org>
> > > 
> > > Maybe it's a bug in your addr2line, then.  It works perfectly here,
> > > FWIW.
> > > 
> > > Can you make the unstripped emacs.exe available for download
> > > somewhere, along with the emacs_backtrace.txt produced by that same
> > > binary?  I'd like to take a look.
> > 
> > Hmm... looking at the files you sent, I'm beginning to think something
> > is wrong with generating backtraces on MS-Windows in the 64-bit
> > builds.  Maybe it has to do with ASLR, or maybe the code which
> > produces the backtrace is wrong in 64-bit executables.
> 
> Actually, I take this back: the addresses in emacs_backtrace.txt seem
> reasonable, similar to addresses shown in GDB backtraces from a 64-bit
> Windows build we have on the bug tracker.
> 
> So the suspicion goes back to addr2line, although I see the same
> problem with my version, which I built myself and which works
> flawlessly with the 32-bit MinGW build of Emacs.

This conclusion was incorrect.  There's nothing wrong with addr2line;
the reason for the problem _was_ ASLR.  addr2line interprets the
addresses in emacs_backtrace.txt relative to the base address of the
program image as recorded in the PE header of the executable file.  It
cannot do anything else, since it doesn't have a live program to work
with (unlike when running Emacs under GDB).  But ASLR causes programs
be loaded at base addresses that are randomized from run to run, and
thus are usually different from what is recorded in the PE header.  So
for this to work on modern versions of Windows, Emacs must correct the
addresses it writes to emacs_backtrace.txt, so as to make them match
the situation where Emacs is loaded at the fixed base address recorded
in the header.

I recently upgraded my main development machine, and, as luck would
have it, had crashes during the build, so I could study the problem
and fix it.  It should now be fixed on the master branch.  I could
only test the solution in a 32-bit MinGW build, so please try testing
it in the 64-bit build when you have a crash on your hands.

Thanks.





  reply	other threads:[~2024-01-26 13:11 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-08  8:16 bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation Arash Esbati
2023-05-08 11:48 ` Eli Zaretskii
2023-05-08 14:36   ` Arash Esbati
2023-05-08 15:13     ` Eli Zaretskii
2023-05-08 19:34       ` Arash Esbati
2023-05-09  5:05         ` Eli Zaretskii
2023-05-09 12:12           ` Arash Esbati
2023-05-09 12:49             ` Eli Zaretskii
2023-05-10 12:37               ` Arash Esbati
2023-05-10 12:48                 ` Eli Zaretskii
2023-05-10 14:27                   ` Arash Esbati
2023-05-10 16:54                     ` Eli Zaretskii
2023-05-10 19:08                       ` Eli Zaretskii
2023-05-11 10:06                         ` Eli Zaretskii
2024-01-26 13:11                           ` Eli Zaretskii [this message]
2024-01-26 18:24                             ` Arash Esbati
2024-01-26 18:59                               ` Eli Zaretskii
2024-01-26 20:33                                 ` Arash Esbati
2024-02-01 10:39                                   ` Arash Esbati
2024-02-01 11:02                                     ` Eli Zaretskii
2024-02-01 11:11                                       ` Arash Esbati
2024-02-01 11:27                                         ` Eli Zaretskii
2023-05-26 13:05                         ` Arash Esbati
2023-05-26 13:42                           ` Eli Zaretskii
2023-05-26 19:21                             ` Arash Esbati
2023-05-27  6:00                               ` Eli Zaretskii
2023-05-27 10:57                                 ` Arash Esbati
2023-05-27 11:33                                   ` Eli Zaretskii
2023-05-27 17:35                                     ` Arash Esbati
2023-05-28  6:55                                       ` Eli Zaretskii
2023-06-01  7:31                                         ` András Svraka
2023-06-01  7:37                                           ` András Svraka
2023-06-01  8:42                                             ` Eli Zaretskii
2023-06-01  8:49                                               ` Andrea Corallo
2023-06-01 15:33                                                 ` András Svraka
2023-06-01 15:30                                               ` András Svraka
2023-06-01 16:25                                                 ` Eli Zaretskii
2023-06-08 10:21                                         ` Arash Esbati
2023-06-08 13:19                                           ` Eli Zaretskii
2023-06-08 14:02                                             ` Andrea Corallo
2023-06-08 14:18                                               ` Eli Zaretskii
2023-06-08 14:39                                                 ` Andrea Corallo
2023-06-08 22:08                                             ` Arash Esbati
2023-06-08 22:27                                         ` Arash Esbati
2023-06-16  9:04 ` Cyril Arnould
2023-06-16 10:31   ` Eli Zaretskii
2023-06-16 14:49     ` Andrea Corallo
2023-06-16 14:52       ` Andrea Corallo
2023-06-22 20:34   ` Arash Esbati
2023-06-23  5:32     ` Eli Zaretskii
2023-06-23 11:41       ` Arash Esbati
2023-06-23 12:15         ` Eli Zaretskii
2023-06-23 12:50           ` Arash Esbati
2023-06-24  9:17           ` Deus Max
2023-06-24  9:21             ` Eli Zaretskii
2023-06-24 14:41               ` Deus Max
2023-06-24 15:05                 ` Eli Zaretskii
2023-06-25 13:51       ` Andrea Corallo
2023-06-25 15:41         ` Eli Zaretskii
2023-06-25 18:11           ` Andrea Corallo
2023-06-25 18:31             ` Eli Zaretskii
2023-06-26  7:03               ` Andrea Corallo
2023-06-26 22:04 ` Cyril Arnould
2023-06-27  2:30   ` Eli Zaretskii
2023-06-27 19:28 ` Cyril Arnould
2023-06-27 20:22   ` Andrea Corallo
2023-06-28 11:37   ` Eli Zaretskii
2023-06-28 23:16 ` Cyril Arnould
2023-06-29  5:20   ` Eli Zaretskii
2023-06-29  6:36 ` Cyril Arnould
2023-06-29  8:21   ` Andrea Corallo
2023-06-29  9:16     ` bug#63365: AW: " Cyril Arnould
     [not found] <AS4PR10MB6110F1445D9658E48521DDD2E358A@AS4PR10MB6110.EURPRD10.PROD.OUTLOOK.COM>
2023-06-20  8:31 ` Andrea Corallo

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=86ttn09r3r.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=63365@debbugs.gnu.org \
    --cc=akrl@sdf.org \
    --cc=arash@gnu.org \
    /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).