diff options
Diffstat (limited to 'open_issues/binutils.mdwn')
-rw-r--r-- | open_issues/binutils.mdwn | 113 |
1 files changed, 55 insertions, 58 deletions
diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index ca7496f0..1c3bc022 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -30,8 +30,8 @@ though, as explained below. # Configuration -Last reviewed up to the [[Git mirror's a446ef2f3862fb5f89c669b34a2b6a2ab943ff96 -(2011-02-10) sources|source_repositories/binutils]]. +Last reviewed up to the [[Git mirror's 57a1a9e822a763aeeb3ea66fd493aa58888c76c4 +(2011-07-03) sources|source_repositories/binutils]]. * Globally @@ -107,51 +107,49 @@ Last reviewed up to the [[Git mirror's a446ef2f3862fb5f89c669b34a2b6a2ab943ff96 # Build -Here's a log of a binutils build run; this is from our [[Git -repository's e8052e7548e0d5523f1764b7d3896ca000bfaed7 (2011-02-10) -sources|source_repositories/binutils]], run on kepler.SCHWINGE and grubber. +Here's a log of a binutils build run; this is from our [[Git repository's +6d4a384ae978b7a423f2cd51b396d366b9000df2 (2011-07-03) +sources|source_repositories/binutils]], run on kepler.SCHWINGE and +coulomb.SCHWINGE. $ export LC_ALL=C - $ ../master/configure --prefix="$PWD".install 2>&1 | tee log_build + $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build [...] - $ make SHELL=/bin/bash 2>&1 | tee log_build_ + $ make 2>&1 | tee log_build_ [...] -(kepler.SCHWINGE defaults to using /bin/sh for libtool, grubber to /bin/bash; -thus harmonized.) +Different hosts may default to different shells and compiler versions; thus +harmonized. -On grubber, this needs roughly one hour, and takes up around 100 MiB. +This takes up around 100 MiB, and needs roughly 4 min on kepler.SCHWINGE, and +15 min on coulomb.SCHWINGE. ## Analysis -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[...]`). +x86 GNU/Linux' and GNU/Hurd's configurations are slightly different, thus mask +out most of the differences that are due to GNU/Linux supporting more core file +formats, and more emulation vectors. - $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd/master.build/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/ && cat hurd/master.build/log_build* | sed "s%${PWD}%[...]%g"') > open_issues/binutils/log_build-diff + $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd/master.build/log_build* | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' | sed -f open_issues/binutils/log_build-linux.sed) <(ssh coulomb.SCHWINGE 'cd tmp/binutils/ && cat hurd/master.build/log_build* | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' | sed -f open_issues/binutils/log_build-hurd.sed) > open_issues/binutils/log_build.diff -[[log_build-diff]]. +[[log_build.diff]]. # Install - $ make SHELL=/bin/bash install 2>&1 | tee log_install + $ make install 2>&1 | tee log_install [...] -(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus -harmonized.) - -On grubber, this needs roughly 5 minutes, and takes up around 60 MiB. +This takes up around 60 MiB, and needs roughly 1 min on kepler.SCHWINGE, and 5 +min on coulomb.SCHWINGE. ## Analysis - $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd/master.build/log_install | sed -e "s%${PWD}%[...]%g" -e "s%i686-pc-linux-gnu%[ARCH]%g"') <(ssh grubber 'cd tmp/binutils/ && cat hurd/master.build/log_install | sed -e "s%${PWD}%[...]%g" -e "s%i686-unknown-gnu0\.3%[ARCH]%g"') > open_issues/binutils/log_install-diff + $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd/master.build/log_install | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' | sed -f open_issues/binutils/log_install-linux.sed) <(ssh coulomb.SCHWINGE 'cd tmp/binutils/ && cat hurd/master.build/log_install | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' | sed -f open_issues/binutils/log_install-hurd.sed) > open_issues/binutils/log_install.diff -[[log_install-diff]]. +[[log_install.diff]]. * `libtool: finish`: `ldconfig` is not run for the Hurd. @@ -161,39 +159,39 @@ On grubber, this needs roughly 5 minutes, and takes up around 60 MiB. $ make -k check [...] -On grubber, this takes roughly one hour. +This needs roughly 5 min on kepler.SCHWINGE, and 15 min on coulomb.SCHWINGE. - $ ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd/master.build/*/*.sum hurd/master.build/*/*/*.sum | sed "s%${PWD}%[...]%g"' > open_issues/binutils/sum_linux - $ ssh grubber 'cd tmp/binutils/ && cat hurd/master.build/*/*.sum hurd/master.build/*/*/*.sum | sed "s%${PWD}%[...]%g"' > open_issues/binutils/sum_hurd + $ ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd/master.build/*/*.sum hurd/master.build/*/*/*.sum | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > open_issues/binutils/sum_linux + $ ssh coulomb.SCHWINGE 'cd tmp/binutils/ && cat hurd/master.build/*/*.sum hurd/master.build/*/*/*.sum | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > open_issues/binutils/sum_hurd Comparing the results files, [[sum_linux]] to [[sum_hurd]]: $ diff -u -F ^Running open_issues/binutils/sum_linux open_issues/binutils/sum_hurd - --- open_issues/binutils/sum_linux 2011-02-10 19:01:56.000000000 +0100 - +++ open_issues/binutils/sum_hurd 2011-02-10 20:27:17.000000000 +0100 + --- open_issues/binutils/sum_linux 2011-07-03 23:54:19.000000000 +0200 + +++ open_issues/binutils/sum_hurd 2011-07-03 23:54:25.000000000 +0200 @@ -1,5 +1,5 @@ - -Test Run By thomas on Thu Feb 10 18:57:42 2011 + -Test Run By thomas on Sun Jul 3 18:33:54 2011 -Native configuration is i686-pc-linux-gnu - +Test Run By tschwinge on Thu Feb 10 18:58:16 2011 + +Test Run By thomas on Sun Jul 3 19:11:49 2011 +Native configuration is i686-unknown-gnu0.3 - === binutils tests === + === binutils tests === - @@ -114,8 +114,8 @@ Running [...]/hurd/master/binutils/tests + @@ -119,8 +119,8 @@ Running [...]/hurd/master/binutils/tests - # of expected passes 83 - # of unsupported tests 2 - -Test Run By thomas on Thu Feb 10 18:58:10 2011 + # of expected passes 88 + # of unsupported tests 2 + -Test Run By thomas on Sun Jul 3 18:34:31 2011 -Native configuration is i686-pc-linux-gnu - +Test Run By tschwinge on Thu Feb 10 19:06:15 2011 + +Test Run By thomas on Sun Jul 3 19:14:02 2011 +Native configuration is i686-unknown-gnu0.3 - === ld tests === + === ld tests === - @@ -296,10 +296,10 @@ Running [...]/hurd/master/ld/testsuite/l - PASS: init array - PASS: fini array - PASS: init array mixed + @@ -324,10 +324,10 @@ Running [...]/hurd/master/ld/testsuite/l + PASS: PIE init array + PASS: PIE fini array + PASS: PIE init array mixed -PASS: static preinit array -PASS: static init array -PASS: static fini array @@ -201,11 +199,11 @@ Comparing the results files, [[sum_linux]] to [[sum_hurd]]: +XFAIL: static preinit array +XFAIL: static init array +XFAIL: static fini array - +XPASS: static init array mixed + +XFAIL: static init array mixed Running [...]/hurd/master/ld/testsuite/ld-elf/exclude.exp ... PASS: ld link shared library PASS: ld export symbols from archive - @@ -553,8 +553,8 @@ Running [...]/hurd/master/ld/testsuite/l + @@ -581,8 +581,8 @@ Running [...]/hurd/master/ld/testsuite/l PASS: ELF DSO weak func last DSO PASS: ELF weak func first PASS: ELF weak func last @@ -216,7 +214,7 @@ Comparing the results files, [[sum_linux]] to [[sum_hurd]]: PASS: ELF DSO weak data first PASS: ELF DSO weak data last PASS: ELF DSO weak data first DSO - @@ -565,10 +565,10 @@ Running [...]/hurd/master/ld/testsuite/l + @@ -593,10 +593,10 @@ Running [...]/hurd/master/ld/testsuite/l PASS: ELF weak data last PASS: ELF weak data first common PASS: ELF weak data last common @@ -231,24 +229,23 @@ Comparing the results files, [[sum_linux]] to [[sum_hurd]]: PASS: ELF DSO small bar (size) PASS: ELF DSO foo with small bar (size) PASS: ELF DSO big bar (size) - @@ -882,13 +882,14 @@ Running [...]/hurd/master/ld/testsuite/l + @@ -924,13 +924,13 @@ Running [...]/hurd/master/ld/testsuite/l - === ld Summary === + === ld Summary === - -# of expected passes 626 - -# of expected failures 8 - +# of expected passes 616 - +# of unexpected successes 1 - +# of expected failures 17 - # of untested testcases 6 - /media/data[...]/hurd/master.build/ld/ld-new 2.21.51.20110210 + -# of expected passes 660 + -# of expected failures 8 + +# of expected passes 650 + +# of expected failures 18 + # of untested testcases 6 + [...]/hurd/master.build/ld/ld-new 2.21.52.20110703 - -Test Run By thomas on Thu Feb 10 18:57:49 2011 + -Test Run By thomas on Sun Jul 3 18:34:03 2011 -Native configuration is i686-pc-linux-gnu - +Test Run By tschwinge on Thu Feb 10 19:00:16 2011 + +Test Run By thomas on Sun Jul 3 19:12:21 2011 +Native configuration is i686-unknown-gnu0.3 - === gas tests === + === gas tests === @@ -259,7 +256,7 @@ Comparing the results files, [[sum_linux]] to [[sum_hurd]]: 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... + in glibc? * <a name="64ksec">`FAIL: ld-elf/64ksec`</a> |