Hi,

I'm currently working on reproducibility for Fedora packages and I'm hitting an 
issue with lto/annobin. Filenames generated with 
https://github.com/gcc-mirror/gcc/blob/master/gcc/lto-wrapper.c#L1769 makes 
annobin gcc plugin injecting in the default case random pattern into elf 
(https://sourceware.org/git/?p=annobin.git;a=blob;f=gcc-plugin/annobin.cc;h=613379bb8d351596d7c73c723963b51df42f4971;hb=HEAD#l198).

For example, a readelf symbolds of a built Fedora packages could have:
    35: 0000000000002af0     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o
    36: 00000000000047a1     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o_end
    37: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o.hot
    38: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o_end.hot
    39: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o.unlikely
    40: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o_end.unlikely
    41: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o.startup
    42: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o_end.startup
    43: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o.exit
    44: 0000000000002a30     0 NOTYPE  LOCAL  HIDDEN    13 
.annobin_dummyqbs_drv.so.MDkv6z.ltrans0.o_end.exit

I've succeeded to brutally replace the input filenames by a constant pattern to 
make the build reproducible.

Do you have any idea what would be the best strategy to fix that? lto-wrapper 
or in the annobin plugin?

Best regards,
Frédéric

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to