summaryrefslogtreecommitdiff
path: root/open_issues
diff options
context:
space:
mode:
Diffstat (limited to 'open_issues')
-rw-r--r--open_issues/gcc.mdwn88
-rw-r--r--open_issues/gcc/boehm_gc.mdwn29
-rw-r--r--open_issues/gcc/testsuite.mdwn34
-rw-r--r--open_issues/gcc_testsuite.mdwn211
-rw-r--r--open_issues/unit_testing.mdwn2
5 files changed, 83 insertions, 281 deletions
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn
index 8d2fb1cf..961b3ae6 100644
--- a/open_issues/gcc.mdwn
+++ b/open_issues/gcc.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2010 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -11,29 +11,46 @@ is included in the section entitled
[[!tag open_issue_gcc]]
-Includes an older variant of [[/Boehm_GC]] with own patches, etc.
+Here's what's to be done for maintaining GCC.
-For GCC trunk:
+Apart from the target-specific configuration machinery, there shouldn't be any
+major differences within GCC between the GNU/Hurd and GNU/Linux ports, for
+example. Especially all the compiler magic is all the same.
-Debian package has patches (for 4.3). Some have been forwarded upstream. (And
-have been ignored.) [[Thomas_Schwinge|tschwinge]] is working on getting them
-integrated.
- * [\[meta-bug\] bootstrap bugs for
- \*-gnu\*](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21824)
+# [[General information|/gcc]]
- * [build system: gcc\_cv\_libc\_provides\_ssp and
- NATIVE\_SYSTEM\_HEADER\_DIR](http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html)
- * [-fstack-protector shouldn't use TLS in freestanding
- mode](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29838)
+# [[Sources|source_repositories/gcc]]
+
+
+## Boehm GC
+
+GCC includes an own variant of [[/Boehm_GC]] that is based on an upstream
+version, but with own patches, etc. This is used for Java. (There are patches
+(apparently not committed) that GCC itself can use it, too:
+<http://gcc.gnu.org/wiki/Garbage_collection_tuning>.)
+
+Patches to GCC's fork should be contributed back to upstream [[/Boehm_GC]].
+
+[[tschwinge]] reviewed (but only briefly for large parts) the differences on
+2010-11-17, based on 5be7963446247204245c954641290f0e5ce238c6 (2010-10-28) of
+[[source_repositories/GCC]] and for [[source_repositories/Boehm_GC]] CVS HEAD
+sources from 2010-11-16, converted to Git:
+9abb37b2e581b415bb1f482085891a289c2c0be1.
+
+[[tschwinge]] reviewed the Debian GCC Boehm GC changes, compared them to the
+upstream code, and put it into the local *hurd/boehm-gc/config_backport*
+branch, planning to submit it to gcc-patches after testing with the GCC
+[[testsuite]].
- * [Tool chain configuration: GNU/\* sharing stuff with
- GNU/Linux](http://gcc.gnu.org/ml/gcc/2007-11/msg00289.html)
+# Configuration
+Last checked against b8ba44e77a9fdde48ce0b7c6792736996704501e (2010-11-17).
-Additionally:
+<http://gcc.gnu.org/install/configure.html> has documentation for the
+`configure` switches.
* Configure fragments that have `*linux*` cases might/should often contain
those for us (and GNU/k*BSD) as well.
@@ -50,16 +67,9 @@ Additionally:
* [[`libmudflap`|libmudflap]].
- * [[Boehm_GC]].
-
* Might [`-fsplit-stack`](http://nickclifton.livejournal.com/6889.html) be
worthwhile w.r.t. our multithreaded libraries?
-
----
-
-<http://gcc.gnu.org/install/configure.html>
-
* `--enable-languages=[...]`
GNAT is not yet ported / bootstrapped?
@@ -78,7 +88,8 @@ Additionally:
* `--enable-decimal-float`, `--enable-fixed-point`, `--with-long-double-128`
- `configure: WARNING: decimal float is not supported for this target, ignored`
+ `configure: WARNING: decimal float is not supported for this target,
+ ignored`
* `--enable-linker-build-id`
@@ -92,27 +103,24 @@ Additionally:
[[IFUNC]]
----
-Here's a log of a GCC build run; this is from
-f07666e1203a50ae445025050b7e12311db6bbd0 (2010-11-04)
-[[sources|source_repositories/gcc]], run on kepler.SCHWINGE and grubber.
+# [[Testsuite]]
- $ export LC_ALL=C
- $ ../hurd/configure --prefix="$PWD".install 2>&1 | tee log_build
- [...]
- $ make SHELL=/bin/bash 2>&1 | tee log_build_
- [...]
-(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus
-harmonized.)
+# TODO
-On grubber, this takes roughly TODO minutes.
+Debian's GCC package has Hurd-specific patches. Some have been forwarded
+upstream (and have been ignored). [[Thomas_Schwinge|tschwinge]] is working on
+getting them integrated.
- $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gcc/hurd.build/ && cat log_build* | sed -e "s%${PWD}%[...]%g"') <(ssh grubber 'cd tmp/gcc/hurd.build/ && cat log_build* | sed "s%${PWD}%[...]%g"') > open_issues/gcc/log_build-diff
+ * [\[meta-bug\] bootstrap bugs for
+ \*-gnu\*](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21824)
-[[log_build-diff]].
+ * [build system: gcc\_cv\_libc\_provides\_ssp and
+ NATIVE\_SYSTEM\_HEADER\_DIR](http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html)
+
+ * [-fstack-protector shouldn't use TLS in freestanding
+ mode](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29838)
-Build failure in Boehm GC. Working on this; will need to backport
-upstream patches / also have a look at Debian patches, and [[boehm_gc]]. Then
-resume here.
+ * [Tool chain configuration: GNU/\* sharing stuff with
+ GNU/Linux](http://gcc.gnu.org/ml/gcc/2007-11/msg00289.html)
diff --git a/open_issues/gcc/boehm_gc.mdwn b/open_issues/gcc/boehm_gc.mdwn
deleted file mode 100644
index 2ee88a2b..00000000
--- a/open_issues/gcc/boehm_gc.mdwn
+++ /dev/null
@@ -1,29 +0,0 @@
-[[!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_gcc]]
-
-IRC, unknown channel, unknown date.
-
- <tschwinge> youpi: The Debian GCC 4.3 package also has this change:
- <tschwinge> --- boehm-gc/dyn_load.c.orig 2007-08-13 09:10:48.215678000 +0200
- <tschwinge> +++ boehm-gc/dyn_load.c 2007-08-13 09:11:09.743969000 +0200
- <tschwinge> @@ -26,7 +26,7 @@
- <tschwinge> * None of this is safe with dlclose and incremental collection.
- <tschwinge> * But then not much of anything is safe in the presence of dlclose.
- <tschwinge> */
- <tschwinge> -#if (defined(__linux__) || defined(__GLIBC__)) && !defined(_GNU_SOURCE)
- <tschwinge> +#if (defined(__linux__) || defined(__GLIBC__) || defined(__GNU__)) && !defined(_GNU_SOURCE)
- <youpi> yes, these are needed
- <youpi> and that's the kind of fix needed for java
-
----
-
-<http://lists.debian.org/debian-hurd/2000/03/msg00305.html>
diff --git a/open_issues/gcc/testsuite.mdwn b/open_issues/gcc/testsuite.mdwn
new file mode 100644
index 00000000..a88b7d61
--- /dev/null
+++ b/open_issues/gcc/testsuite.mdwn
@@ -0,0 +1,34 @@
+[[!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_gcc]]
+
+Here's a log of a GCC build run; this is from
+fe3e43c5e4ac1225921be12c32dbb48151af1f66 (2010-11-17)
+[[sources|source_repositories/gcc]], run on kepler.SCHWINGE and grubber.
+
+ $ export LC_ALL=C
+ $ ../hurd/configure --prefix="$PWD".install 2>&1 | tee log_build
+ [...]
+ $ make SHELL=/bin/bash 2>&1 | tee log_build_
+ [...]
+
+(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus
+harmonized.)
+
+On grubber, this takes roughly TODO minutes, and takes up 2.5 GiB.
+
+ $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gcc/hurd.build/ && cat log_build* | sed -e "s%${PWD}%[...]%g"') <(ssh grubber 'cd tmp/gcc/hurd.build/ && cat log_build* | sed "s%${PWD}%[...]%g"') > open_issues/gcc/log_build-diff
+
+[[log_build-diff]].
+
+TODO.
+
+<http://gcc.gnu.org/install/test.html>
diff --git a/open_issues/gcc_testsuite.mdwn b/open_issues/gcc_testsuite.mdwn
deleted file mode 100644
index b4bbc7c8..00000000
--- a/open_issues/gcc_testsuite.mdwn
+++ /dev/null
@@ -1,211 +0,0 @@
-[[!meta copyright="Copyright © 2009 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]]."]]"""]]
-
-[[!meta title="GCC testsuite"]]
-
-[[!tag open_issue_gcc]]
-
-Here's some log of a GCC testsuite run; this is from trunk sources, about
-2008-10-19.
-
- make -k check
- make[1]: Entering directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build'
- make[2]: Entering directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build/fixincludes'
- autogen -T ../../trunk.work/fixincludes/check.tpl ../../trunk.work/fixincludes/inclhack.def
- /bin/sh ./check.sh ../../trunk.work/fixincludes/tests/base
- Fixed: testing.h
- Fixed: testing.h
- Fixed: AvailabilityMacros.h
- Fixed: X11/ShellP.h
- Fixed: X11/Xmu.h
- Fixed: Xm/BaseClassI.h
- Fixed: Xm/Traversal.h
- Fixed: ansi/math.h
- Fixed: ansi/stdlib.h
- Fixed: arch/i960/archI960.h
- Fixed: architecture/ppc/math.h
- Fixed: assert.h
- Fixed: bits/huge_val.h
- Fixed: bits/string2.h
- Fixed: bsd/libc.h
- Fixed: c_asm.h
- Fixed: com_err.h
- Fixed: ctrl-quotes-def-1.h
- Fixed: ctype.h
- Fixed: curses.h
- Fixed: errno.h
- Fixed: features.h
- Fixed: fixinc-test-limits.h
- Fixed: hsfs/hsfs_spec.h
- Fixed: ia64/sys/getppdp.h
- Fixed: internal/math_core.h
- Fixed: internal/sgimacros.h
- Fixed: internal/wchar_core.h
- Fixed: inttypes.h
- Fixed: io-quotes-def-1.h
- Fixed: iso/math_c99.h
- Fixed: mach-o/dyld.h
- Fixed: mach-o/swap.h
- Fixed: malloc.h
- Fixed: math.h
- Fixed: netdnet/dnetdb.h
- Fixed: netinet/in.h
- Fixed: netinet/ip.h
- Fixed: obstack.h
- Fixed: pixrect/memvar.h
- Fixed: pthread.h
- Fixed: reg_types.h
- Fixed: regex.h
- Fixed: regexp.h
- Fixed: rpc/auth.h
- Fixed: rpc/rpc.h
- Fixed: rpc/xdr.h
- Fixed: rpcsvc/rstat.h
- Fixed: rpcsvc/rusers.h
- Fixed: signal.h
- Fixed: sparc/asm_linkage.h
- Fixed: standards.h
- Fixed: stdint.h
- Fixed: stdio.h
- Fixed: stdio_tag.h
- Fixed: stdlib.h
- Fixed: string.h
- Fixed: strings.h
- Fixed: sundev/vuid_event.h
- Fixed: sunwindow/win_lock.h
- Fixed: sym.h
- Fixed: sys/asm.h
- Fixed: sys/cdefs.h
- Fixed: sys/file.h
- Fixed: sys/limits.h
- Fixed: sys/machine.h
- Fixed: sys/mman.h
- Fixed: sys/pthread.h
- Fixed: sys/signal.h
- Fixed: sys/socket.h
- Fixed: sys/spinlock.h
- Fixed: sys/stat.h
- Fixed: sys/sysmacros.h
- Fixed: sys/time.h
- Fixed: sys/types.h
- Fixed: sys/ucontext.h
- Fixed: sys/wait.h
- Fixed: testing.h
- Fixed: time.h
- Fixed: tinfo.h
- Fixed: types/vxTypesBase.h
- Fixed: unistd.h
- Fixed: wchar.h
-
- All fixinclude tests pass
- make[2]: Leaving directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build/fixincludes'
- make[2]: Entering directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build/gcc'
- test -d testsuite || mkdir testsuite
- test -d testsuite/gcc || mkdir testsuite/gcc
- (rootme=`${PWDCMD-pwd}`; export rootme; \
- srcdir=`cd ../../trunk.work/gcc; ${PWDCMD-pwd}` ; export srcdir ; \
- cd testsuite/gcc; \
- rm -f tmp-site.exp; \
- sed '/set tmpdir/ s|testsuite|testsuite/gcc|' \
- < ../../site.exp > tmp-site.exp; \
- /bin/sh ${srcdir}/../move-if-change tmp-site.exp site.exp; \
- EXPECT=expect ; export EXPECT ; \
- if [ -f ${rootme}/../expect/expect ] ; then \
- TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWDCMD-pwd}` ; \
- export TCL_LIBRARY ; fi ; \
- GCC_EXEC_PREFIX="/home/tschwinge/tmp/gcc/trunk.work.build.install/lib/gcc/" ; export GCC_EXEC_PREFIX ; \
- runtest --tool gcc )
- Test Run By tschwinge on Thu Oct 23 08:42:42 2008
- Native configuration is i386-unknown-gnu0.3
-
- === gcc tests ===
-
- Schedule of variations:
- unix
-
- Running target unix
- Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
- Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
- Using /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/execute/execute.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/autopar/autopar.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/charset/charset.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/compat/compat.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/cpp/cpp.exp ...
- FAIL: gcc.dg/cpp/_Pragma3.c -fno-show-column (test for excess errors)
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/cpp/trad/trad.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/debug/debug.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp ...
- FAIL: gcc.dg/debug/dwarf2/dwarf-die3.c scan-assembler-not DW_AT_inline
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/dfp/dfp.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/dg.exp ...
- FAIL: gcc.dg/20021014-1.c (test for excess errors)
- FAIL: gcc.dg/cleanup-12.c (test for excess errors)
- FAIL: gcc.dg/cleanup-5.c (test for excess errors)
- FAIL: gcc.dg/nest.c (test for excess errors)
- FAIL: gcc.dg/nested-func-4.c (test for excess errors)
- FAIL: gcc.dg/pr32450.c (test for excess errors)
- FAIL: gcc.dg/pr33645-3.c scan-assembler-not var1_t
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/format/format.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/gomp/gomp.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/graphite/graphite.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/ipa/ipa.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/matrix/matrix.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/noncompile/noncompile.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/pch/pch.exp ...
- FAIL: gcc.dg/pch/valid-1b.c -O0 -g -I. (test for excess errors)
- FAIL: gcc.dg/pch/valid-1b.c -O0 -g assembly comparison
- FAIL: gcc.dg/pch/valid-1b.c -O0 -I. (test for excess errors)
- FAIL: gcc.dg/pch/valid-1b.c -O0 assembly comparison
- FAIL: gcc.dg/pch/valid-1b.c -O1 -I. (test for excess errors)
- FAIL: gcc.dg/pch/valid-1b.c -O1 assembly comparison
- FAIL: gcc.dg/pch/valid-1b.c -O2 -I. (test for excess errors)
- FAIL: gcc.dg/pch/valid-1b.c -O2 assembly comparison
- FAIL: gcc.dg/pch/valid-1b.c -O3 -fomit-frame-pointer -I. (test for excess errors)
- FAIL: gcc.dg/pch/valid-1b.c -O3 -fomit-frame-pointer assembly comparison
- FAIL: gcc.dg/pch/valid-1b.c -O3 -g -I. (test for excess errors)
- FAIL: gcc.dg/pch/valid-1b.c -O3 -g assembly comparison
- FAIL: gcc.dg/pch/valid-1b.c -Os -I. (test for excess errors)
- FAIL: gcc.dg/pch/valid-1b.c -Os assembly comparison
- FAIL: largefile.c -O0 -g -I. (test for excess errors)
- FAIL: gcc.dg/pch/largefile.c -O0 -g assembly comparison
- FAIL: largefile.c -O0 -I. (test for excess errors)
- FAIL: gcc.dg/pch/largefile.c -O0 assembly comparison
- FAIL: largefile.c -O1 -I. (test for excess errors)
- FAIL: gcc.dg/pch/largefile.c -O1 assembly comparison
- FAIL: largefile.c -O2 -I. (test for excess errors)
- FAIL: gcc.dg/pch/largefile.c -O2 assembly comparison
- FAIL: largefile.c -O3 -fomit-frame-pointer -I. (test for excess errors)
- FAIL: gcc.dg/pch/largefile.c -O3 -fomit-frame-pointer assembly comparison
- FAIL: largefile.c -O3 -g -I. (test for excess errors)
- FAIL: gcc.dg/pch/largefile.c -O3 -g assembly comparison
- FAIL: largefile.c -Os -I. (test for excess errors)
- FAIL: gcc.dg/pch/largefile.c -Os assembly comparison
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/special/mips-abi.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/special/special.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/struct/struct-reorg.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/tls/tls.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/torture/dg-torture.exp ...
- FAIL: gcc.dg/torture/fp-int-convert-float128.c -O0 (test for excess errors)
- FAIL: gcc.dg/torture/fp-int-convert-float128.c -O1 (test for excess errors)
- FAIL: gcc.dg/torture/fp-int-convert-float128.c -O2 (test for excess errors)
- FAIL: gcc.dg/torture/fp-int-convert-float128.c -O3 -fomit-frame-pointer (test for excess errors)
- FAIL: gcc.dg/torture/fp-int-convert-float128.c -O3 -g (test for excess errors)
- FAIL: gcc.dg/torture/fp-int-convert-float128.c -Os (test for excess errors)
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp ...
- Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp ...
- XPASS: gcc.dg/tree-ssa/20040204-1.c scan-tree-dump-times optimized "link_error" 0
diff --git a/open_issues/unit_testing.mdwn b/open_issues/unit_testing.mdwn
index 15c87abd..b9fb3700 100644
--- a/open_issues/unit_testing.mdwn
+++ b/open_issues/unit_testing.mdwn
@@ -18,7 +18,7 @@ abandoned).
* [DejaGnu](http://www.gnu.org/software/dejagnu/) /
[Expect](http://expect.nist.gov/)
- * used by the [[GCC_testsuite]], [[GDB_testsuite]],
+ * used by the [[GCC testsuite|gcc/testsuite]], [[GDB_testsuite]],
[[binutils testsuite|binutils/testsuite]], etc.
* The [[glibc_testsuite]] has a home-grown system (Makefile-based), likewise