The only way to override LD, AR, OBJCOPY, and GPROF is through
--with-binutils (setting the environments variables on configure is
overridden by LIBC_PROG_BINUTILS).
The build-many-glibcs.py (bmg) glibcs option generates a working config,
but not fully concise (some tools will be set from environment variable,
while other will be set from $CC --print-prog-name). So remove the
environment variable set to always use the "$CC --print-prog-name".
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
The assembler is not issued directly, but rather always through CC
wrapper. The binutils version check if done with LD instead.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Commit 87d583c6e8 replaces the sed script
with an "objdump -f" invocation to determine the 'OUTPUT_FORMAT' bit of
the libc.so linker script.
However, when cross-compiling, for example from x86_64-linux-gnu to
aarch64-linux-gnu, "objdump -f" would report the wrong
format ("elf64-little"). Conversely, "aarch64-linux-gnu-objdump -f"
reports "elf64-littleaarch64" as expected.
This patch changes 'configure.ac' to use AC_CHECK_TOOL rather than
'$CC -print-prog-name=objdump' to determine the value of the OBJDUMP
variable. That way, OBJDUMP is set to TRIPLET-objdump when
cross-compiling for TRIPLET.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
Newer versions of GNU grep (after grep 3.7, not inclusive) will warn on
'egrep' and 'fgrep' invocations.
Convert usages within the tree to their expanded non-aliased counterparts
to avoid irritating warnings during ./configure and the test suite.
Signed-off-by: Sam James <sam@gentoo.org>
Reviewed-by: Fangrui Song <maskray@google.com>
GCC does not print the correct linker when -fuse-ld=lld is used with
the -print-prog-name=ld:
$ gcc -v 2>&1 | tail -n 1
gcc version 11.2.0 (Ubuntu 11.2.0-7ubuntu2)
$ gcc
ld
This is different than for gold:
$ gcc -fuse-ld=gold -print-prog-name=ld
ld.gold
Using ld.lld as the static linker name prints the expected result.
This is only required when -fuse-ld=lld is used, if lld is used as
the 'ld' programs (through a symlink) LIBC_PROG_BINUTILS works
as expected.
Checked on x86_64-linux-gnu.
Reviewed-by: Fangrui Song <maskray@google.com>
When LIBC_LINKER_FEATURE is used to check a linker option with the equal
sign, it will likely fail because the LD -v --help output may look like
`-z lam-report=[none|warning|error]` while the needle is something like
`-z lam-report=warning`.
The LD -v --help filter doesn't save much time, so just remove it.
This patch replaced obsolete AC_TRY_COMPILE to AC_COMPILE_IFELSE or
AC_PREPROC_IFELSE.
It has been confirmed that GNU 'autoconf' 2.69 suppressed obsolete
warnings, updated the following files:
- configure
- sysdeps/mach/configure
- sysdeps/mach/hurd/configure
- sysdeps/s390/configure
- sysdeps/unix/sysv/linux/configure
and didn't change the following files:
- sysdeps/ieee754/ldbl-opt/configure
- sysdeps/unix/sysv/linux/powerpc/configure
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
The arguments of the LIBC_SLIBDIR_RTLDDIR macro are used both in unquoted
and single quoted context, so that neither shell nor makefile variable
references work. Consistently put them in single quotes so that they can
refer to makefile variables.
With all the machinery we just added, we can easily arrange to work even
when the compiler passes in -fstack-protector automatically: all the
necessary bits of glibc are always compiled with -fno-stack-protector
now.
So tear out the check in configure, and add appropriate calls to
-fno-stack-protector in tests that need them (largely those that use
-nostdlib), since we don't yet have a __stack_chk_fail that those
tests can rely upon. (GCC often provides one, but we cannot rely on
this, especially not when bootstrapping.)
When stack protection is disabled, explicitly pass -fno-stack-protector
to everything, to stop a compiler hacked to enable it from inserting
calls to __stack_chk_fail via the PLT in every object file.
In preparation to fix the --localedir configure argument we must
move the existing conflicting definition of localedir to a more
appropriate name. Given that all current internal uses of localedir
relate to the compiled locales we rename to complocaledir.
This patch continues removing architecture-specific cases from
non-architecture-specific files by moving the logic to use directories
such as /lib64 out of sysdeps/gnu/configure.ac.
A new macro LIBC_SLIBDIR_RTLDDIR is created that sysdeps configure
scripts can use to declare the library directories to be used; the
logic was previously duplicated in configure fragments for aarch64,
mips and x32 as well as in sysdeps/gnu/configure.ac. This macro is
used directly in sysdeps/gnu/configure.ac only to provide the /lib
default (the logic saying that with --prefix=/usr shared libraries go
in /lib not /usr/lib); the architecture cases formerly there are moved
into various new or existing configure.ac files. The new macro is
also used in the various architecture fragments that already had such
logic. In the x32 there was previously a configure fragment, but it
was a directly written one without a .ac file; now a .ac file is used
there instead to generate configure.
Tested x86_64 that the installed shared libraries, and the directory
structure of the installation, are unchanged by this patch.
There is an old bug report - bug 6441 - about library directories
changing after reconfiguring. If this is still applicable - and I
haven't attempted to confirm it or review the old patch pointed to in
that bug - then this patch should reduce the number of places needing
changing in any fix.
* aclocal.m4 (LIBC_SLIBDIR_RTLDDIR): New macro.
* sysdeps/gnu/configure.ac: Use LIBC_SLIBDIR_RTLDDIR. Remove
cases for individual architectures.
* sysdeps/gnu/configure: Regenerated.
* sysdeps/unix/sysv/linux/aarch64/configure.ac: Use
LIBC_SLIBDIR_RTLDDIR.
* sysdeps/unix/sysv/linux/aarch64/configure: Regenerated.
* sysdeps/unix/sysv/linux/mips/configure.ac: Use
LIBC_SLIBDIR_RTLDDIR.
* sysdeps/unix/sysv/linux/mips/configure: Regenerated.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac: Use
LIBC_SLIBDIR_RTLDDIR.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/configure:
Regenerated.
* sysdeps/unix/sysv/linux/s390/s390-64/configure.ac: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/configure: New generated
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/configure: New generated
file.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac: New file.
* sysdeps/unix/sysv/linux/x86_64/64/configure: New generated file.
* sysdeps/unix/sysv/linux/x86_64/x32/configure.ac: New file.
* sysdeps/unix/sysv/linux/x86_64/x32/configure: Generate.
Autoconf has been deprecating configure.in for quite a long time.
Rename all our configure.in and preconfigure.in files to .ac.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This change does two things:
* Treats a target i386-* as if it were i686.
* Fails configure if the user is generating code
for i386.
We no longer support i386 code-generation because the i386
lacks the atomic operations we need in glibc.
You can still configure for i386-*, but you get i686 code.
You can't build with --march=i386, --mtune=i386 or a compiler
that defaults to i386 code-generation.
I've added two i386 entries in the master todo list to discuss
merging and renaming:
http://sourceware.org/glibc/wiki/Development_Todo/Master#i386
The failure modes are fail-safe here. You compile for i386,
get i686, and try to run on i386 and it fails. The configure
log has a warning saying we elided to i686. There is no situation
that I can see where we run into any serious problems.
The patch makes the current state better in that we get less
confused users and we build successfully in more default
configurations.
The next enhancement would be to add --march=i?86
as suggested in #c20 of BZ#10062 for any i?86-* builds, which
would solve the problem of a 32-bit compiler that defaults to
i386 code-gen and glibc configured for i686-* target. Which
previously failed at build time, and now will fail at configure
time (requires adding --march=i686).
Updated NEWS with BZ #10060 and #10062.
No regressions.
---
2013-04-06 Carlos O'Donell <carlos@redhat.com>
[BZ #10060, #10062]
* aclocal.m4 (LIBC_COMPILER_BUILTIN_INLINED): New macro.
* sysdeps/i386/configure.in: Use LIBC_COMPILER_BUILTIN_INLINED and
fail configure if __sync_val_compare_and_swap is not inlined.
* sysdeps/i386/configure: Regenerate.
* configure.in: Build for i686 when configured for i386.
* configure: Regenerate.
* README: Remove i386 reference.
* Makeconfig ($(common-objpfx)shlib-versions.v.i): Move top-level
$(..)shlib-versions file to last in deps list. This lets add-ons give
more-specific matches that override defaults in the top-level file.
* sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was
already set, don't set it or libc_cv_gcc_unwind_find_fde.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* Makefile (distribute): Add it.
* Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules.
(tests): Depend on .symlist file for each $(install-lib.so-versioned).
[! subdir] (tests): Depend on libc.symlist.
(generated): Add those files.
* aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP.
* configure: Regenerated.
* config.make.in (OBJDUMP): New variable, substituted by configure.
* malloc/mcheck.c (struct hdr): New members `block' and `magic2'.
(mallochook, reallochook): Set them up.
(checkhdr): Check HDR->magic2 value.
(freehook): Reset HDR->magic2.
(memalignhook): New static function.
(old_memalign_hook): New static variable.
(mcheck, reallochook): Set __memalign_hook to memalignhook.
* configure: Regenerated.
* sysdeps/mach/configure.in (MIG): Do the AC_CHECK_TOOL here.
Adding final - argument to all AC_CHECK_HEADER uses for .defs files.
* sysdeps/mach/configure: Regenerated.
* aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_TR_SH_PREPARE])
and AC_PROVIDE([_AS_CR_PREPARE]).
Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).
* elf/dl-support.c: Move _dl_tls_* variables to ...
* sysdeps/generic/libc-tls.c: ... here.
* elf/dl-close.c (remove_slotinfo): Take new argument. If false,
allow IDX to be one past the current last slotinfo entry.
(_dl_close): Pass IMAP->l_init_called for that parameter.
2001-06-11 Andreas Jaeger <aj@suse.de>
* sysdeps/ieee754/ldbl-128/e_coshl.c: New file. Contributed by
Stephen L Moshier <moshier@mediaone.net>.
* aclocal.m4: Quote AC_FD_MSG and AC_FD_CC.
* sysdeps/powerpc/fpu/libm-test-ulps: Add ULPs for tanh (-0.7).
* sysdeps/s390/fpu/libm-test-ulps: Likewise.
1999-05-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* malloc/malloc.h: Properly handle future GCC versions.
1999-05-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/configure.in: Change version checks to
use AC_EGREP_CPP. Change sed pattern to not use alternation. Fix
text of error message.
* aclocal.m4 (GLIBC_PROVIDES): Define AC_LANG to `C'.
1998-11-20 Ulrich Drepper <drepper@cygnus.com>
* aclocal.m4 (LIBC_PROG_BINUTILS): Also add AR and RANLIB using the
same method.
* configure.in: Don't define AR and RANLIB here.
* inet/gethstbyad_r.c: Define NEED__RES_HCONV and POSTPROCESS for
host name res_hconf code.
* inet/gethstbynm_r.c: Likewise.
* nss/getXXbyYY_r.c: Include resolv/res_hconf.h if NEED__RES_HCONF
is defined. Call res_hconf_init if necessary. If POSTPROCESS is
defined execute the code.
* resolv/Makefile (routines): Add res_hconf.
(headers): Add res_hconf.h.
* resolv/res_hconf.c: Pretty print.
* resolv/res_hconf.h: Likewise.
1998-11-20 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/bits/byteswap.h: Fix typos in non-GCC
definitions. Reported by Scott Bambrough <scottb@corelcomputer.com>.
1998-11-20 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* math/libm-test.c: Raise some epsilons a bit.
1998-11-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* Makeconfig ($(common-objpfx)sysd-sorted): Fix portability problems.
1998-11-20 Ulrich Drepper <drepper@cygnus.com>
* Makefile (distribute): Add scripts/gen-sorted.awk.
1998-10-31 Ulrich Drepper <drepper@cygnus.com>
* aclocal.m4 (LIBC_PROG_FOO_GNU): Name output file using -o to
avoid ld test generating an unwanted file.
1998-04-07 17:50 Zack Weinberg <zack@rabi.phys.columbia.edu>
* glibcbug.in: Report version of gcc in use. Remove unused variable
ENVIRONMENT.
1998-04-07 Gordon Matzigkeit <gord@profitpress.com>
* aclocal.m4 (LIBC_PROG_BINUTILS): Use `-print-prog-name', not
`-print-file-name' to find as and ld.
1998-04-07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/mkstemp.c (mkstemp): Correct return value in case
template is wrong. Remove unused varaible `ignored'.
1998-04-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Export __libc_sa_len.
* iconv/gconv_conf.c (MAXPATHLEN): Define correctly.
1998-04-07 08:51 Ulrich Drepper <drepper@cygnus.com>
* iconv/gconv.c: Take care for NULL arguments.
* iconv/gconv_dl.c: Make find_func function global.
* iconv/gconv_int.h: Add prototype for __gconv_find_func.
Add prototypes for ASCII conversion functions.
* iconv/gconv_simple.c: Add ASCII conversion functions.
* locale/C-ctype.c: Correct charset name.
* wcsmbs/Makefile (distribute): Add wcsmbsload.h.
(routines): Remove wmemrtowcs and wmemrtombs, add wcsnlen and
wcsmbsload.
* wcsmbs/btowc.c: Rewrite to use iconv functionality.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* wcsmbs/wchar.h: Add prototype for __wcslen, wcsnlen. Remove
prototypes for wmemr*.
* wcsmbs/wcslen.c: Rename to __wcslen and make wcslen weak alias.
* wcsmbs/wcsnlen.c: New file.
* wcsmbs/wcsmbsload.c: New file.
* wcsmbs/wcsmbsload.h: New file.
* manual/filesys.texi: Mention risks of tmpnam and mktemp.
* manual/install.texi: Describe some more critical points.
* string/string.h: Add prototype for __strnlen.
* string/strnlen.c: Rename to __strnlen and make strnlen weak alias.
* sysdeps/posix/mktemp.c: Rewrite to allow many more files and
much less predictable names.
* sysdeps/posix/mkstemp.c: Likewise.
1998-04-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/libc.texinfo (Top): Change "file namespace" to "local
namespace".
* manual/socket.texi: Change file namespace to local namespace.
(Out-of-Band Data): Remove unneeded variable link.
(Host Address Functions): Use uint32_t consequently and add a
number of clarifications for IPv4/IPv6, classless addresses.
(Internet Namespace): Added some paragraphs about IPv6.
Based on suggestions by Francesco Potorti` <F.Potorti@cnuce.cnr.it>.
1998-04-05 Philip Blundell <Philip.Blundell@pobox.com>
Update for draft-ietf-ipngwg-bsd-api-new-01.txt:
* resolv/netdb.h (getnameinfo): Use `socklen_t' not `size_t'.
(NI_NUMERICHOST, et al.): Tidy up and add comments.
(AI_NUMERICHOST): Define.
(getnodebyname): New prototype.
(AI_V4MAPPED, et al.): New constants.
* sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h (SA_LEN): New macro.<
* sysdeps/generic/bits/sockaddr.h (SA_LEN): Likewise.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add sa_len
for socket.
* sysdeps/unix/sysv/linux/sa_len.c: New file.
* sysdeps/unix/sysv/linux/Dist: Add sa_len.c.
* sysdeps/unix/sysv/linux/bits/socket.h: Make multiple #inclusion safe.
* sysdeps/generic/bits/sockunion.h: New file, defining sockaddr_union.
* sysdeps/unix/sysv/linux/bits/sockunion.h: Likewise.
* socket/Makefile (headers): Add bits/sockunion.h.
* socket/sys/socket.h: Include <bits/sockunion.h>
* inet/netinet/in.h: Include <bits/sockaddr.h> rather than
<sys/socket.h>, to avoid getting sockaddr_union defined.
* sysdeps/generic/bits/socket.h: Allow inclusion from netinet.in.h.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Remove use of SIOCGIFCOUNT
(2.2.x kernels won't have it).
1998-04-06 21:21 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/mach/hurd/bits/ioctls.h: Allow inclusion from hurd/ioctl.h.
* sysdeps/mach/hurd/dl-sysdep.c: Use __ptr_t not caddr_t.
* iconv/gconv_conf.c: Define MAXPATHLEN if not available before.
Patches by UCHIYAMA Yasushi <uch@nop.or.jp>.
1998-04-05 Philip Blundell <Philip.Blundell@pobox.com>
* manual/socket.texi (Socket Addresses): Fix a typo.
(Interface Naming): New section.
1998-04-05 23:29 Zack Weinberg <zack@rabi.phys.columbia.edu>
* configure.in: Check for CC using $ac_tool_prefix, to handle
cross-compilation. Use AC_CHECK_TOOL to find MiG.
* config.make.in: Add MIG to be substituted.
* mach/Machrules: Don't define MIG variable.
Patch by Gordon Matzigkeit <gord@profitpress.com>.
1998-04-05 Mark Kettenis <kettenis@phys.uva.nl>
* elf/dl-load.c (decompose_rpath): Use local_strdup instead of
strdupa to copy rpath.
1998-04-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in: Fix gcc version check.
* aclocal.m4 (AC_PROG_CHECK_VER): Rewritten to make less confusing.
1998-04-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in: Fix gcc version check.
* aclocal.m4 (AC_PROG_CHECK_VER): Rewritten to make less
confusing.
1998-04-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in: Fix gcc version check.
* aclocal.m4 (AC_PROG_CHECK_VER): Rewritten to make less
confusing.
1998-03-31 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/unix/bsd/unlockpt.c (unlockpt): Call __ptsname_r instead
of ptsname_r.
* stdlib/stdlib.h: Change prototype of ptsname_r to make it more
like ttyname_r.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Likewise.
* sysdeps/generic/ptsname.c (__ptsname_r): Likewise.
* sysdeps/unix/grantpt.c (grantpt): Change check of return value
of __ptsname_r accordingly.
* login/openpty.c (openpty): Likewise.
1998-06-04 18:47 H.J. Lu <hjl@gnu.org>
* libio/fileops.c (_IO_file_xsgetn): Adjust pointers.
1998-04-06 13:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (libtypes): Redo H.J. Lu's change of 1998-03-27.
* Makerules: Readd missing rule for $(objpfx)stamp.oS.
1998-04-06 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/ypclnt.c: Don't give YPERR_RPC back, use the do_ypcall
return value for better error checking.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* stdlib/isomac.c: Use -isystem instead of -I for system include
dir.
1998-03-30 08:05 H.J. Lu <hjl@gnu.org>
* resolv/res_comp.c (underscorechar): New.
(middlechar): Allow '_'.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* intl/explodename.c (stdlib.h): Include that file only if
STDC_HEADERS or _LIBC.
(string.h): Include that file only if HAVE_STRING_H or _LIBC.
Patch by Philippe De Muyter <phdm@macqel.be>.
1998-04-01 21:08 Zack Weinberg <zack@rabi.phys.columbia.edu>
* aclocal.m4 (AC_PROG_CC_LOCAL): Remove superfluous tests.
(AC_PROG_CHECK_VER): New macro.
* configure.in: Use AC_PROG_CHECK_VER to check versions of
gcc, gmake, msgfmt, makeinfo. Remove superfluous tests.
1998-04-02 15:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: New file.
* sysdeps/i386/i686/strtok.S: New file
* sysdeps/i386/i686/strtok_r.S: New file
1998-04-02 Mark Kettenis <kettenis@phys.uva.nl>
* posix/unistd.h: [__USE_FILE_OFFSET64] (lseek): Change return
type to __off64_t.
* libio/stdio.h [__USE_FILE_OFFSET64] (fseeko): Declare offset
parameter as __off64_t instead of __off_t.
(ftello): Make alias for ftello64 instead of ftello. Change
return type to __off64_t.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/string.h: Fix various typos.
Patch by Horst von Brand <vonbrand@sleipnir.valparaiso.cl>.
* sysdeps/unix/sysv/linux/getcwd.c: Use getcwd syscall in Linux 2.1.92.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/chown.c: Handle old kernels without
lchown syscall correctly. [PR libc/541].
1998-03-11 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Use
_dl_debug_message.
1998-03-12 Matthias Urlichs <smurf@noris.de>
* elf/dl-misc.c: Default for debug output should be stderr.
* elf/dl-misc.c: Spurious garbage bytes after the PID in debug output.
* elf/dl-lookup.c: reference_name may be NULL or empty.
1998-03-11 10:30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* aclocal.m4 (LIBC_PROG_FOO_GNU): Fix order of redirection.
1998-03-11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/Dist: Add scsi/scsi.h.
* sysdeps/unix/sysv/linux/scsi/sg.h: Include features.h.
1998-03-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/scsi/scsi.h: New file.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Install it.
1998-03-11 10:30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>