emacs-devel
[Top][All Lists]
Advanced

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

Re: How to make aot native-compilation and pdmp creation reproduceable


From: Gerd Möllmann
Subject: Re: How to make aot native-compilation and pdmp creation reproduceable
Date: Sat, 07 Oct 2023 21:27:40 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Björn Bidar <bjorn.bidar@thaodan.de> writes:

> 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) (

These two look like comp.el prints with print-circle being t, and
doesn't use print-continuous-numbering/print-number-table.

> 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  ................

That's confusing.  Is that an executable, if you do an objdump?  You
write it's an example of pdmp.



reply via email to

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