[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_binutils]] Here's a log of a binutils build and testsuite run; this is from 6a55712fd7d37033555d206fea8baf6ea299efae (2010-10-26) [[sources|source_repositories/binutils]], run on kepler.SCHWINGE and grubber. $ export LC_ALL=C $ ../hurd/configure 2>&1 | tee log_build [...] $ make SHELL=/bin/bash 2>&1 | tee log_build_ [...] (kepler.SCHWINGE defaults to using /bin/sh for libtool, grubber to /bin/bash; thus harmonized.) x86 GNU/Linux and GNU/Hurd's configurations are [[slightly different|binutils]], thus mask out most of the differences that are due to GNU/Linux defining `-DTRAD_CORE`, `-DHAVE_i386linux_vec` (`-DSELECT_VECS='[...],&i386linux_vec[...]`), `-DHAVE_i386pei_vec` (`-DSELECT_VECS='[...],&i386pei_vec[...]`). $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/binutils/hurd.build/ && cat log_build* | sed -e "s%${PWD}%[...]%g" -e s%-DTRAD_CORE%% -e s%-DHAVE_i386linux_vec%% -e s%-DHAVE_i386pei_vec%% -e s%-DSELECT_VECS=\\\('\\\''\\\?\\\)\&bfd_elf32_i386_vec,\&i386linux_vec,\&i386pei_vec,\&bfd_elf32_little_generic_vec,\&bfd_elf32_big_generic_vec'\\\''\\\?%-DSELECT_VECS=\\\1\\\&bfd_elf32_i386_vec,\\\&bfd_elf32_little_generic_vec,\\\&bfd_elf32_big_generic_vec\\\1%') <(ssh grubber 'cd tmp/binutils/hurd.build/ && cat log_build* | sed "s%${PWD}%[...]%g"') > open_issues/binutils_testsuite/log_build-diff [[log_build-diff]]. $ make -k check [...] On grubber, this takes roughly 45 minutes. $ ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd.build/*/*.sum hurd.build/*/*/*.sum | sed "s%${PWD}%[...]%g"' > open_issues/binutils_testsuite/sum_linux $ ssh grubber 'cd tmp/binutils/ && cat hurd.build/*/*.sum hurd.build/*/*/*.sum | sed "s%${PWD}%[...]%g"' > open_issues/binutils_testsuite/sum_hurd Comparing the results files, [[sum_linux]] to [[sum_hurd]]: $ diff -u -F ^Running open_issues/binutils_testsuite/sum_linux open_issues/binutils_testsuite/sum_hurd --- open_issues/binutils_testsuite/sum_linux 2010-10-26 09:54:36.000000000 +0200 +++ open_issues/binutils_testsuite/sum_hurd 2010-10-26 14:42:26.000000000 +0200 @@ -1,5 +1,5 @@ -Test Run By thomas on Tue Oct 26 09:50:30 2010 -Native configuration is i686-pc-linux-gnu +Test Run By tschwinge on Tue Oct 26 12:32:17 2010 +Native configuration is i686-unknown-gnu0.3 === binutils tests === @@ -109,8 +109,8 @@ Running [...]/hurd/binutils/testsuite/bi # of expected passes 79 # of unsupported tests 2 -Test Run By thomas on Tue Oct 26 09:50:51 2010 -Native configuration is i686-pc-linux-gnu +Test Run By tschwinge on Tue Oct 26 12:39:07 2010 +Native configuration is i686-unknown-gnu0.3 === ld tests === @@ -282,9 +282,9 @@ Running [...]/hurd/ld/testsuite/ld-elf/e PASS: preinit array PASS: init array PASS: fini array -PASS: static preinit array -PASS: static init array -PASS: static fini array +XFAIL: static preinit array +XFAIL: static init array +XFAIL: static fini array Running [...]/hurd/ld/testsuite/ld-elf/exclude.exp ... PASS: ld link shared library PASS: ld export symbols from archive @@ -540,8 +540,8 @@ Running [...]/hurd/ld/testsuite/ld-elfwe PASS: ELF DSO weak func last DSO PASS: ELF weak func first PASS: ELF weak func last -PASS: ELF weak func first DSO -PASS: ELF weak func last DSO +XFAIL: ELF weak func first DSO +XFAIL: ELF weak func last DSO PASS: ELF DSO weak data first PASS: ELF DSO weak data last PASS: ELF DSO weak data first DSO @@ -552,10 +552,10 @@ Running [...]/hurd/ld/testsuite/ld-elfwe PASS: ELF weak data last PASS: ELF weak data first common PASS: ELF weak data last common -PASS: ELF weak data first DSO -PASS: ELF weak data last DSO -PASS: ELF weak data first DSO common -PASS: ELF weak data last DSO common +XFAIL: ELF weak data first DSO +XFAIL: ELF weak data last DSO +XFAIL: ELF weak data first DSO common +XFAIL: ELF weak data last DSO common PASS: ELF DSO small bar (size) PASS: ELF DSO foo with small bar (size) PASS: ELF DSO big bar (size) @@ -768,10 +768,10 @@ Running [...]/hurd/ld/testsuite/ld-scrip PASS: script PASS: MRI script PASS: MEMORY -XFAIL: REGION_ALIAS: [...]/hurd/ld/testsuite/ld-scripts/region-alias-2.t -XFAIL: REGION_ALIAS: [...]/hurd/ld/testsuite/ld-scripts/region-alias-4.t XFAIL: REGION_ALIAS: [...]/hurd/ld/testsuite/ld-scripts/region-alias-1.t +XFAIL: REGION_ALIAS: [...]/hurd/ld/testsuite/ld-scripts/region-alias-2.t XFAIL: REGION_ALIAS: [...]/hurd/ld/testsuite/ld-scripts/region-alias-3.t +XFAIL: REGION_ALIAS: [...]/hurd/ld/testsuite/ld-scripts/region-alias-4.t Running [...]/hurd/ld/testsuite/ld-scripts/section-match.exp ... PASS: ld-scripts/section-match-1 Running [...]/hurd/ld/testsuite/ld-scripts/size.exp ... @@ -860,13 +860,13 @@ Running [...]/hurd/ld/testsuite/ld-xtens === ld Summary === -# of expected passes 611 -# of expected failures 8 +# of expected passes 602 +# of expected failures 17 # of untested testcases 6 /media/data[...]/hurd.build/ld/ld-new 2.20.51.20101024 -Test Run By thomas on Tue Oct 26 09:50:33 2010 -Native configuration is i686-pc-linux-gnu +Test Run By tschwinge on Tue Oct 26 12:34:01 2010 +Native configuration is i686-unknown-gnu0.3 === gas tests === # Analysis ## `FAIL: static [...]` The testsuite isn't prepared for using `crt0.o` instead of `crt1.o` depending on whether a static or dynamic executable is created. Documented in `ld/configure.host`. Perhaps we should finally rewrite this messy code in glibc to avoid this difference... ## `FAIL: ld-elf/64ksec` On the idle grubber, this one takes a few minutes wall time to complete successfully ([[I/O system weakness|io_system_binutils_ld_64ksec]], so assuming some system load variation, the testsuite's timeout may trigger. ## `FAIL: ELF weak [...]` [[I|tschwinge]] suppose this is due to us having an override w.r.t. weak symbol handling in glibc, needed for our external [[libpthread]]. TODO: document properly.