platform/upstream/glibc.git
12 years agoImprove consistency of --enable-kernel and default builds.
Joseph Myers [Mon, 14 May 2012 22:22:52 +0000 (22:22 +0000)]
Improve consistency of --enable-kernel and default builds.

12 years agoUpdate elf_machine_load_address for x32
H.J. Lu [Mon, 14 May 2012 22:17:30 +0000 (15:17 -0700)]
Update elf_machine_load_address for x32

12 years agoUpdate x86_64 PTR_MANGLE/PTR_DEMANGLE for x32
H.J. Lu [Mon, 14 May 2012 22:16:27 +0000 (15:16 -0700)]
Update x86_64 PTR_MANGLE/PTR_DEMANGLE for x32

12 years agoDefine LP_SIZE/LP_OP/ASM_ADDR/RXX_LP for x86-64
H.J. Lu [Mon, 14 May 2012 21:56:07 +0000 (14:56 -0700)]
Define LP_SIZE/LP_OP/ASM_ADDR/RXX_LP for x86-64

12 years agoAdd x32 dl-machine.h
H.J. Lu [Mon, 14 May 2012 20:21:46 +0000 (13:21 -0700)]
Add x32 dl-machine.h

12 years agoDo not build manual in source dir
Andreas Jaeger [Mon, 14 May 2012 19:45:48 +0000 (21:45 +0200)]
Do not build manual in source dir

[BZ #13750]
Do not build manual anymore in the source dir. Also clean up the
Makefile and remove rules that have been used previously
when we had a stand-alone Makefile which was obsoleted recently.

12 years agoAdd x32 pthread types
H.J. Lu [Mon, 14 May 2012 19:56:56 +0000 (12:56 -0700)]
Add x32 pthread types

12 years agoRemove unused variable in linux/getcwd.c
Andreas Jaeger [Mon, 14 May 2012 14:27:05 +0000 (16:27 +0200)]
Remove unused variable in linux/getcwd.c

12 years agoRemove unused functions from i386/mathinline.h
Andreas Jaeger [Mon, 14 May 2012 14:06:58 +0000 (16:06 +0200)]
Remove unused functions from i386/mathinline.h

12 years agoRemove pre-2.2 Linux kernel support.
Joseph Myers [Mon, 14 May 2012 14:11:02 +0000 (14:11 +0000)]
Remove pre-2.2 Linux kernel support.

12 years agoFix concat example
Andreas Jaeger [Mon, 14 May 2012 13:30:30 +0000 (15:30 +0200)]
Fix concat example

2012-05-14  Andreas Jaeger  <aj@suse.de>

* manual/string.texi (Copying and Concatenation): Add missing
variable in concat example.
Reported by David C. Rankin <drankinatty@suddenlinkmail.com>.

12 years agoUse __builtin_clzll on int64 in __logb
H.J. Lu [Mon, 14 May 2012 12:04:11 +0000 (05:04 -0700)]
Use __builtin_clzll on int64 in __logb

12 years agoFree memory at exit in check_pf.c
H.J. Lu [Mon, 14 May 2012 12:02:08 +0000 (05:02 -0700)]
Free memory at exit in check_pf.c

12 years agoAdd optimized expf for x86
Liubov Dmitrieva [Mon, 14 May 2012 09:18:44 +0000 (11:18 +0200)]
Add optimized expf for x86

2012-05-14  Liubov Dmitrieva  <liubov.dmitrieva@gmail.com>

* sysdeps/i386/i686/fpu/multiarch/Makefile: New file.
* sysdeps/i386/i686fpu/multiarch/e_expf.c: New file.
* sysdeps/i386/i686fpu/multiarch/e_expf-ia32.S: New file.
* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: New file.

12 years agoNEWS: update ia64 info
Mike Frysinger [Mon, 14 May 2012 05:02:03 +0000 (01:02 -0400)]
NEWS: update ia64 info

Mention that ia64 has moved into ports/, and drop the old build/install
details that don't belong in the NEWS file in the first place.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoFix warning in powerpc bcopy
Andreas Schwab [Sat, 12 May 2012 15:40:53 +0000 (17:40 +0200)]
Fix warning in powerpc bcopy

12 years agoAvoid dup3 PLT usage.
Thomas Schwinge [Sat, 12 May 2012 02:53:04 +0000 (10:53 +0800)]
Avoid dup3 PLT usage.

Fixes fallout from 5aa3a74a59916b489e9cf7c4dce9eb149e106c6c.

12 years agoAdd x32 support to STACK_CHK_GUARD
H.J. Lu [Fri, 11 May 2012 23:31:34 +0000 (16:31 -0700)]
Add x32 support to STACK_CHK_GUARD

12 years agoUpdate comments for CALL_THREAD_FCT
H.J. Lu [Fri, 11 May 2012 21:58:18 +0000 (14:58 -0700)]
Update comments for CALL_THREAD_FCT

12 years agoAdd x32 support to TLS_LE/TLS_IE/TLS_GD
H.J. Lu [Fri, 11 May 2012 21:35:56 +0000 (14:35 -0700)]
Add x32 support to TLS_LE/TLS_IE/TLS_GD

12 years agoAdd sysdeps/x86_64/x32/tls.h
H.J. Lu [Fri, 11 May 2012 21:33:12 +0000 (14:33 -0700)]
Add sysdeps/x86_64/x32/tls.h

12 years agoMark sparc %fsr load and store inline asms as volatile.
David S. Miller [Fri, 11 May 2012 20:58:41 +0000 (13:58 -0700)]
Mark sparc %fsr load and store inline asms as volatile.

* sysdeps/sparc/fpu/bits/fenv.h (__fenv_stfsr): Add __volatile__.
* sysdeps/sparc/fpu/fpu_control.h (_FPU_GETCW): Likewise.
(_FPU_SETCW): Likewise.

12 years agoCheck if RTLD_SAVESPACE_SSE is aligned to 32 bytes
H.J. Lu [Fri, 11 May 2012 18:50:11 +0000 (11:50 -0700)]
Check if RTLD_SAVESPACE_SSE is aligned to 32 bytes

12 years agoFix a typo in ChangeLo.
H.J. Lu [Fri, 11 May 2012 18:34:48 +0000 (11:34 -0700)]
Fix a typo in ChangeLo.

12 years agoComplete GB18030 charmap
Andreas Schwab [Mon, 6 Feb 2012 12:30:45 +0000 (13:30 +0100)]
Complete GB18030 charmap

12 years agoUse uint64_t on 64-bit integer
H.J. Lu [Fri, 11 May 2012 17:14:57 +0000 (10:14 -0700)]
Use uint64_t on 64-bit integer

12 years agoReplace movq/%q0 with mov/%0 in THREAD_SELF
H.J. Lu [Fri, 11 May 2012 17:13:54 +0000 (10:13 -0700)]
Replace movq/%q0 with mov/%0 in THREAD_SELF

12 years agoCheck __x86_64__ for __cleanup_fct_attribute
H.J. Lu [Fri, 11 May 2012 17:12:42 +0000 (10:12 -0700)]
Check __x86_64__ for __cleanup_fct_attribute

12 years agoCheck __PTHREAD_MUTEX_HAVE_PREV for mutex initializers
H.J. Lu [Fri, 11 May 2012 17:10:37 +0000 (10:10 -0700)]
Check __PTHREAD_MUTEX_HAVE_PREV for mutex initializers

12 years agoCheck __PTHREAD_MUTEX_HAVE_PREV for mutex prev
H.J. Lu [Fri, 11 May 2012 17:08:57 +0000 (10:08 -0700)]
Check __PTHREAD_MUTEX_HAVE_PREV for mutex prev

12 years ago[BZ #13673] Replace FSF snail mail address with URL.
Thomas Schwinge [Fri, 11 May 2012 09:36:03 +0000 (17:36 +0800)]
[BZ #13673] Replace FSF snail mail address with URL.

12 years ago14012 fixed by cross-rpcgen changes.
Joseph Myers [Fri, 11 May 2012 09:24:15 +0000 (09:24 +0000)]
14012 fixed by cross-rpcgen changes.

12 years agoHurd bugs fixed: #766, #3748, #3906.
Thomas Schwinge [Fri, 11 May 2012 06:20:11 +0000 (14:20 +0800)]
Hurd bugs fixed: #766, #3748, #3906.

12 years agoDon't handle R_X86_64_RELATIVE64 in ld.so
H.J. Lu [Fri, 11 May 2012 02:24:54 +0000 (19:24 -0700)]
Don't handle R_X86_64_RELATIVE64 in ld.so

12 years agoHandle R_X86_64_RELATIVE64 and R_X86_64_64 for x32
H.J. Lu [Fri, 11 May 2012 00:05:06 +0000 (17:05 -0700)]
Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32

12 years agoHurd: Define some posix types
Samuel Thibault [Thu, 10 May 2012 22:55:50 +0000 (15:55 -0700)]
Hurd: Define some posix types

12 years agoHurd: Fix paths in paths.h
Samuel Thibault [Thu, 10 May 2012 22:55:06 +0000 (15:55 -0700)]
Hurd: Fix paths in paths.h

12 years agoHurd: fix mode type for openat
Samuel Thibault [Thu, 10 May 2012 22:54:27 +0000 (15:54 -0700)]
Hurd: fix mode type for openat

12 years agoHurd: Fix port deallocation on mknod error.
Samuel Thibault [Thu, 10 May 2012 22:52:43 +0000 (15:52 -0700)]
Hurd: Fix port deallocation on mknod error.

12 years agoHurd: Fix __dup3 _hurd_dtable_lock usage.
Samuel Thibault [Thu, 10 May 2012 22:49:30 +0000 (15:49 -0700)]
Hurd: Fix __dup3 _hurd_dtable_lock usage.

12 years agoHurd: Support --prefix=/usr special-casing for all GNU systems.
Thomas Schwinge [Thu, 10 May 2012 22:46:14 +0000 (15:46 -0700)]
Hurd: Support --prefix=/usr special-casing for all GNU systems.

12 years agoHurd: struct timespec members in struct stat
Thomas Schwinge [Thu, 10 May 2012 22:40:09 +0000 (15:40 -0700)]
Hurd: struct timespec members in struct stat

12 years agoHurd: avoid PLT call to strtoul
Thomas Schwinge [Thu, 10 May 2012 22:37:23 +0000 (15:37 -0700)]
Hurd: avoid PLT call to strtoul

12 years agoHurd: hurdsock: reject negative domains
Pino Toscano [Thu, 10 May 2012 22:35:47 +0000 (15:35 -0700)]
Hurd: hurdsock: reject negative domains

12 years agoHurd: Fix setres[ug]id handling of -1
Samuel Thibault [Thu, 10 May 2012 22:34:53 +0000 (15:34 -0700)]
Hurd: Fix setres[ug]id handling of -1

12 years agoHurd: _hurd_select: check for invalid parameter values
Pino Toscano [Thu, 10 May 2012 22:32:53 +0000 (15:32 -0700)]
Hurd: _hurd_select: check for invalid parameter values

12 years agoHurd: Fix sbrk beyond 128MB
Samuel Thibault [Thu, 10 May 2012 22:31:37 +0000 (15:31 -0700)]
Hurd: Fix sbrk beyond 128MB

12 years agoHurd: recvfrom(): take into account null address ports
Pino Toscano [Thu, 10 May 2012 22:30:38 +0000 (15:30 -0700)]
Hurd: recvfrom(): take into account null address ports

12 years agoHurd: readlinkat
Samuel Thibault [Thu, 10 May 2012 22:29:55 +0000 (15:29 -0700)]
Hurd: readlinkat

12 years agoHurd: Update posix_opt.h
Samuel Thibault [Thu, 10 May 2012 22:28:33 +0000 (15:28 -0700)]
Hurd: Update posix_opt.h

12 years agoHurd: Fix POSIX 2008 visibility
Samuel Thibault [Thu, 10 May 2012 22:27:04 +0000 (15:27 -0700)]
Hurd: Fix POSIX 2008 visibility

12 years agoHurd: Build pldd also if use-ldconfig != yes || build-shared != yes
Thomas Schwinge [Thu, 10 May 2012 22:26:10 +0000 (15:26 -0700)]
Hurd: Build pldd also if use-ldconfig != yes || build-shared != yes

12 years agoHurd: opendirat
Thomas Schwinge [Thu, 10 May 2012 22:23:51 +0000 (15:23 -0700)]
Hurd: opendirat

12 years agoHurd: empty file names fail with ENOENT
Samuel Thibault [Thu, 10 May 2012 22:21:18 +0000 (15:21 -0700)]
Hurd: empty file names fail with ENOENT

12 years agoHurd: hidden_nolink macro for NO_HIDDEN case.
Thomas Schwinge [Thu, 10 May 2012 22:19:24 +0000 (15:19 -0700)]
Hurd: hidden_nolink macro for NO_HIDDEN case.

12 years agoHurd: mmap deficiencies
Thomas Schwinge [Thu, 10 May 2012 22:17:40 +0000 (15:17 -0700)]
Hurd: mmap deficiencies

12 years agoHurd: Fix mlock in all cases except non-readable pages.
Samuel Thibault [Thu, 10 May 2012 22:17:03 +0000 (15:17 -0700)]
Hurd: Fix mlock in all cases except non-readable pages.

12 years agoHurd: Fix mkdir / error value
Samuel Thibault [Thu, 10 May 2012 22:16:07 +0000 (15:16 -0700)]
Hurd: Fix mkdir / error value

12 years agoHurd: Add missing includes
Thomas Schwinge [Thu, 10 May 2012 22:13:54 +0000 (15:13 -0700)]
Hurd: Add missing includes

12 years agoHurd: mach: compliance fixes for nanosleep
Pino Toscano [Thu, 10 May 2012 21:53:21 +0000 (14:53 -0700)]
Hurd: mach: compliance fixes for nanosleep

12 years agoHurd: Include RPC user stubs in linkobj/libc.so
Thomas Schwinge [Thu, 10 May 2012 21:52:03 +0000 (14:52 -0700)]
Hurd: Include RPC user stubs in linkobj/libc.so

12 years agoHurd: Fix value of __libc_stack_end
Samuel Thibault [Thu, 10 May 2012 21:51:22 +0000 (14:51 -0700)]
Hurd: Fix value of __libc_stack_end

12 years agoHurd: libc_once_get
Thomas Schwinge [Thu, 10 May 2012 21:50:14 +0000 (14:50 -0700)]
Hurd: libc_once_get

12 years agoHurd: #include <kernel-features.h>
Thomas Schwinge [Thu, 10 May 2012 21:39:53 +0000 (14:39 -0700)]
Hurd: #include <kernel-features.h>

12 years agoAdd a missing #include.
Roland McGrath [Thu, 10 May 2012 21:38:43 +0000 (14:38 -0700)]
Add a missing #include.

12 years agoHurd: setitimer.c: Fix unlock in error patch
Samuel Thibault [Thu, 10 May 2012 20:33:47 +0000 (13:33 -0700)]
Hurd: setitimer.c: Fix unlock in error patch

12 years agoHurd: ioctl() incorrectly decodes argument
Samuel Thibault [Thu, 10 May 2012 20:26:40 +0000 (13:26 -0700)]
Hurd: ioctl() incorrectly decodes argument

12 years agoHurd: Avoid init-first.c miscompilation.
Thomas Schwinge [Thu, 10 May 2012 20:20:47 +0000 (13:20 -0700)]
Hurd: Avoid init-first.c miscompilation.

12 years agoHurd: dup3
Thomas Schwinge [Thu, 10 May 2012 20:15:40 +0000 (13:15 -0700)]
Hurd: dup3

12 years agoHurd: Hurd: dl-sysdep.c: Include code only #ifdef SHARED.
Samuel Thibault [Thu, 10 May 2012 20:10:21 +0000 (13:10 -0700)]
Hurd: Hurd: dl-sysdep.c: Include code only #ifdef SHARED.

12 years agoHurd: Missing critical region locks.
Samuel Thibault [Thu, 10 May 2012 20:00:01 +0000 (13:00 -0700)]
Hurd: Missing critical region locks.

12 years agoHurd: Fix signal-catching functions.
Samuel Thibault [Thu, 10 May 2012 19:59:00 +0000 (12:59 -0700)]
Hurd: Fix signal-catching functions.

12 years agoHurd: bits/socket.h
Thomas Schwinge [Thu, 10 May 2012 19:56:56 +0000 (12:56 -0700)]
Hurd: bits/socket.h

12 years agoHurd: accept4
Thomas Schwinge [Thu, 10 May 2012 19:53:02 +0000 (12:53 -0700)]
Hurd: accept4

12 years agoHurd: ____longjmp_chk
Thomas Schwinge [Thu, 10 May 2012 19:47:31 +0000 (12:47 -0700)]
Hurd: ____longjmp_chk

12 years agoHurd: Add SOL_IP, SOL_IPV6, SOL_ICMPV6
Samuel Thibault [Thu, 10 May 2012 19:47:00 +0000 (12:47 -0700)]
Hurd: Add SOL_IP, SOL_IPV6, SOL_ICMPV6

12 years agoHurd: O_CLOEXEC in rtld
Thomas Schwinge [Thu, 10 May 2012 19:43:01 +0000 (12:43 -0700)]
Hurd: O_CLOEXEC in rtld

12 years agoHurd: Add more ipv6 macros.
Samuel Thibault [Thu, 10 May 2012 19:37:15 +0000 (12:37 -0700)]
Hurd: Add more ipv6 macros.

12 years agoFix for logb/logbf/logbl (bugs 13954/13955/13956)
Adhemerval Zanella [Thu, 10 May 2012 20:11:55 +0000 (15:11 -0500)]
Fix for logb/logbf/logbl (bugs 13954/13955/13956)

POSIX 2008 states that if the input for 'logb[f|l]' is a subnormal number
it should be treated as if it were normalized.  This means the
implementation should calculate the log2 of the mantissa and add it to the
subnormal exponent (-126 for float and -1022 for double and IBM long
double).  This patch takes care of that.

12 years agoMake sunrpc code usable again
Andreas Jaeger [Thu, 10 May 2012 18:16:53 +0000 (20:16 +0200)]
Make sunrpc code usable again

  New configure option --enable-obsolete-rpc makes the deprecated RPC
  headers and functions available at compile time as they were before
  version 2.14.  This option will be removed at some time in the future
  after the TI-RPC library becomes fully sufficient for the needs of
  existing applications.

12 years agoTypo fix in x86_64/dl-machine.h
Roland McGrath [Thu, 10 May 2012 17:20:51 +0000 (10:20 -0700)]
Typo fix in x86_64/dl-machine.h

12 years agoDefine __STDC_NO_THREADS__.
Joseph Myers [Thu, 10 May 2012 17:11:08 +0000 (17:11 +0000)]
Define __STDC_NO_THREADS__.

12 years agoBuild rpcgen-generated files when cross compiling.
Maxim Kuvyrkov [Thu, 10 May 2012 17:07:45 +0000 (17:07 +0000)]
Build rpcgen-generated files when cross compiling.

12 years agoSign extend R_X86_64_DTPOFF64/R_X86_64_TPOFF64
H.J. Lu [Thu, 10 May 2012 17:05:40 +0000 (10:05 -0700)]
Sign extend R_X86_64_DTPOFF64/R_X86_64_TPOFF64

12 years agoMove remaining syscalls from sysdeps/unix/sysv/syscalls.list to sysdeps/unix/sysv...
Joseph Myers [Thu, 10 May 2012 14:51:08 +0000 (14:51 +0000)]
Move remaining syscalls from sysdeps/unix/sysv/syscalls.list to sysdeps/unix/sysv/linux/syscalls.list.

12 years ago[PATCH] [BZ #3440] Make LC_ALL etc. useful in #if expressions.
Paul Eggert [Thu, 10 May 2012 12:38:09 +0000 (12:38 +0000)]
[PATCH] [BZ #3440] Make LC_ALL etc. useful in #if expressions.

12 years agoAdd dependency tracking for rpc-compat-routines
Andreas Schwab [Thu, 3 May 2012 22:19:54 +0000 (00:19 +0200)]
Add dependency tracking for rpc-compat-routines

12 years agoUpdate stdlib/longlong.h from GCC
H.J. Lu [Wed, 9 May 2012 22:36:41 +0000 (15:36 -0700)]
Update stdlib/longlong.h from GCC

12 years agoCleanup nscd.c
Andreas Jaeger [Wed, 9 May 2012 19:34:47 +0000 (21:34 +0200)]
Cleanup nscd.c

2012-05-09  Andreas Jaeger  <aj@suse.de>

* nscd/nscd.c (run_modes): Make named enum, reorder so that
default is first entry.
(run_mode): Set type.
(main): Remove informal message about syslog.
(options): Fix typo.

12 years agoAdd volatiles for x86-64 bits/mathinline.h
Andreas Jaeger [Wed, 9 May 2012 18:17:21 +0000 (20:17 +0200)]
Add volatiles for x86-64 bits/mathinline.h

[BZ #14053]
GCC 4.7 might remove consecutive calls to e.g. lrintf since
the assembler instructions are the same and GCC does not know
that the result is different depending on the rounding mode.  For
SSE instructions, the control register is not available so there
is no way to inform GCC about this. Therefore the asms are marked
as volatile.

12 years agoCleanup last patch for nscd/nscd.c
Andreas Jaeger [Wed, 9 May 2012 15:41:25 +0000 (17:41 +0200)]
Cleanup last patch for nscd/nscd.c

* nscd/nscd.c (run_mode): Use enum.
(main): Cleanup coding style issue.

12 years agoAdd --foreground option for nscd
Andreas Jaeger [Wed, 9 May 2012 14:54:38 +0000 (16:54 +0200)]
Add --foreground option for nscd

For a better integration of nscd with systemd, we should run nscd not as
daemon but in the foreground. A new --foreground option should be added.

2012-05-09  Alexandre Oliva  <aoliva@redhat.com>
    Andreas Jaeger  <aj@suse.de>

        * nscd/nscd.c (go_background): Replaced with...
        (run_mode): ... this.
(RUN_FOREGROUND, RUN_DAEMONIZE, RUN_DEBUG): Add.
        (options): Add -F --foreground.
        (main): Implement it.
        (parse_opt): Parse it.

12 years agoFix strspn warning with -Wconversion
Andreas Jaeger [Wed, 9 May 2012 14:47:57 +0000 (16:47 +0200)]
Fix strspn warning with -Wconversion

[BZ #14083]
Fix warning when using strspn with -Wconversion:
$ gcc -Wconversion -O t.c
t.c: In function ‘main’:
t.c:8:7: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]

12 years agoconformtest: Update expectations for more ISO C headers.
Joseph Myers [Wed, 9 May 2012 10:04:19 +0000 (10:04 +0000)]
conformtest: Update expectations for more ISO C headers.

12 years agoUse CFI statements instead of hand-coding .eh_frame.
Chung-Lin Tang [Wed, 9 May 2012 09:48:42 +0000 (17:48 +0800)]
Use CFI statements instead of hand-coding .eh_frame.

12 years agoFix daylight time change for the US
Ian Wienand [Wed, 9 May 2012 04:13:29 +0000 (06:13 +0200)]
Fix daylight time change for the US

[BZ #14080]
* time/tzset.c (__tzset_parse_tz): Update default rules for
daylight time changes in the Energy Policy Act of 2005.

12 years agoMake ldconfig message clearer
Andreas Jaeger [Wed, 9 May 2012 04:08:28 +0000 (06:08 +0200)]
Make ldconfig message clearer

[BZ #13983]
Let not confuse the user and think there's an error instead of
a warning.

12 years agoMinor optimization to sparc VIS3 floor() implementation.
David S. Miller [Tue, 8 May 2012 18:17:07 +0000 (11:17 -0700)]
Minor optimization to sparc VIS3 floor() implementation.

* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S: Use
movxtod instead of popping the value on the stack.

12 years agoWith -frounding-math, some sparc ULPs need to be adjusted.
David S. Miller [Tue, 8 May 2012 17:58:01 +0000 (10:58 -0700)]
With -frounding-math, some sparc ULPs need to be adjusted.

* sysdeps/sparc/fpu/libm-test-ulps: Update.

12 years agoARM: Define HAVE_ARM_PCS_VFP in config.h.
Carlos O'Donell [Mon, 7 May 2012 20:04:41 +0000 (16:04 -0400)]
ARM: Define HAVE_ARM_PCS_VFP in config.h.

If the compiler and flags would select the hard-float ABI
then the ARM configure fragment will set HAVE_ARM_PCS_VFP.
This is later used by the ARM shlib-versions to select
the appropriately named dynamic linker.