emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to make aot native-compilation and pdmp creation reproduceable


From: Björn Bidar
Subject: How to make aot native-compilation and pdmp creation reproduceable
Date: Sat, 07 Oct 2023 21:37:56 +0300
User-agent: Gnus/5.13 (Gnus v5.13)

Hey,

I noticed that building Emacs isn't enterily reproduceable.
The compiled byte code it reproduceable, however I notied that
the pdmp files and some of the native compiled elisp for each variant
change each time the package is rebuild.

The specific build option don't seem to make a difference.

Strangely the only eln file that changes is x-win.el:
/usr/lib64/emacs/29.1/native-lisp/29.1-115521d4/preloaded/x-win-3c49581f-6ddb7e08.eln
 differs in ELF sections
--- old 
/usr/lib64/emacs/29.1/native-lisp/29.1-115521d4/preloaded/x-win-3c49581f-6ddb7e08.eln
 (objdump)
+++ new 
/usr/lib64/emacs/29.1/native-lisp/29.1-115521d4/preloaded/x-win-3c49581f-6ddb7e08.eln
 (objdump)
@@ -2950,7 +2950,7 @@
  0e7c0 6f726564 20736573 73696f6e 20646174  ored session dat
  0e7d0 61222022 4865776c 6574742d 5061636b  a" "Hewlett-Pack
  0e7e0 61726420 496e636f 72706f72 61746564  ard Incorporated
- 0e7f0 22202334 3d282831 3638202e 206d7574  " #4=((168 . mut
+ 0e7f0 22202336 3d282831 3638202e 206d7574  " #6=((168 . mut
  0e800 652d6163 75746529 20283136 39202e20  e-acute) (169 . 
  0e810 6d757465 2d677261 76652920 28313730  mute-grave) (170
  0e820 202e206d 7574652d 61736369 69636972   . mute-asciicir
@@ -2976,7 +2976,7 @@
  0e960 20224865 776c6574 742d5061 636b6172   "Hewlett-Packar
  0e970 6420436f 6d70616e 79222022 5831312f  d Company" "X11/
  0e980 4e655753 202d2053 756e204d 6963726f  NeWS - Sun Micro
- 0e990 73797374 656d7320 496e632e 22202336  systems Inc." #6
+ 0e990 73797374 656d7320 496e632e 22202334  systems Inc." #4
  0e9a0 3d282833 39323937 36202e20 66333629  =((392976 . f36)
  0e9b0 20283339 32393737 202e2066 33372920   (392977 . f37) 
  0e9c0 28333933 30353620 2e207265 71292028  (393056 . req) (

One example of pdmp of one of the variants:
/usr/bin/emacs-x11 differs in ELF sections
--- old /usr/bin/emacs-x11 (objdump)
+++ new /usr/bin/emacs-x11 (objdump)
@@ -519888,8 +519888,8 @@
  7f1410 2d2d6e6f 2d73706c 61736800 00000000  --no-splash.....
  7f1420 00400000 00000000 00000000 00000000  .@..............
  7f1430 00000000 00000000 00000000 00000000  ................
- 7f1440 81e3b8e4 33011ec5 18db85f2 9586197c  ....3..........|
- 7f1450 be6fb703 f761afd4 c6d7bd74 f2168be2  .o...a.....t....
+ 7f1440 a2c05c34 51540c6d eae96bed 21a90a3c  ..\4QT.m..k.!..<
+ 7f1450 c0cf321a e7c634d2 89ae7791 2fe90967  ..2...4...w./..g
  7f1460 2c010000 00000000 20003900 00000000  ,....... .9.....
  7f1470 ffffffff 15000000 3e000000 7c000000  ........>...|...
  7f1480 12000000 00000000 00000000 00000000  ................

The build log of the package including a binary diff can be found here:
https://build.opensuse.org/build/editors/openSUSE_Tumbleweed/x86_64/emacs/_log

The spec file of the package can be fond here:
https://build.opensuse.org/package/view_file/editors/emacs/emacs.spec?expand=1

How can I debug why they differ after each rebuild?

Br,

Björn Bidar



reply via email to

[Prev in Thread] Current Thread [Next in Thread]