Bugzilla – Bug 1159558
libhugetlbfs has unreproducible dummy.ldscript
Last modified: 2023-03-05 17:53:38 UTC
While working on reproducible builds for openSUSE, I found that our libhugetlbfs varies across builds in the dummy.ldscript file. Is that even needed in there? Is there a bug? /usr/lib64/libhugetlbfs/tests/obj64/dummy.ldscript differs (assembler source, AS CII text) --- old//usr/lib64/libhugetlbfs/tests/obj64/dummy.ldscript 2018-10-01 12:00 :00.000000000 +0000 +++ new//usr/lib64/libhugetlbfs/tests/obj64/dummy.ldscript 2018-10-01 12:00 :00.000000000 +0000 @@ -409,8 +409,8 @@ /usr/lib64/gcc/x86_64-suse-linux/9/crtendS.o attempt to open /usr/lib64/gcc/x86_64-suse-linux/9/../../../../lib64/crtn.o suc ceeded /usr/lib64/gcc/x86_64-suse-linux/9/../../../../lib64/crtn.o -attempt to open /tmp/null.icoxHb.ltrans0.ltrans.o succeeded -/tmp/null.icoxHb.ltrans0.ltrans.o +attempt to open /tmp/null.IdZ3Xp.ltrans0.ltrans.o succeeded +/tmp/null.IdZ3Xp.ltrans0.ltrans.o /usr/lib64/gcc/x86_64-suse-linux/9/libgcc.a /lib/../lib64/libgcc_s.so.1 /usr/lib64/gcc/x86_64-suse-linux/9/libgcc.a
still a problem today.
While I am maintainer of libhugetlbfs..., I am not familiar with ldscripts. Hopefully Michael, Richard or Andreas can help or or point to someone who can.
I suggest to simply not install this script? The contents are broken anyways, it seems to be the output of a debug session? Why is tests/ installed at all? The script seems to be there to check for a particular supported test, quoting the python harness: def check_linkhuge_tests(): """ Check if the linkhuge tests are safe to run on this system. Newer versions of binutils (>= 2.18) are known to be incompatible with the linkhuge tests and running them may cause unreliable behavior. Determine which word sizes can be tested with linkhuge. The others will be skipped. NOTE: The linhuge_rw tests are always safe to run and will not be skipped. """ okbits = set() for bits in wordsizes: script = open('obj%d/dummy.ldscript' % bits, 'r').read() if script.count('SPECIAL') == 0: okbits.add(bits) return okbits instead installing dumy.ldscripts with just 'SPECIAL' lines kept would suffice to run tests in the installed system.
Thanks Bernhard for resolving this yourself: https://build.opensuse.org/request/show/1068331