diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/setitimer.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/setitimer.S | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/setitimer.S b/sysdeps/unix/sysv/linux/alpha/setitimer.S index a2085cc29e..e57acc2020 100644 --- a/sysdeps/unix/sysv/linux/alpha/setitimer.S +++ b/sysdeps/unix/sysv/linux/alpha/setitimer.S @@ -32,7 +32,13 @@ .text -LEAF(__setitimer_tv64, 48) +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#define SETITIMER __setitimer_tv64 +#else +#define SETITIMER __setitimer +#endif + +LEAF(SETITIMER, 48) ldgp gp, 0(pv) subq sp, 48, sp #ifdef PROF @@ -63,7 +69,7 @@ LEAF(__setitimer_tv64, 48) /* If we didn't get ENOSYS, it is a real error. */ .align 3 $err64: cmpeq v0, ENOSYS, t0 - bne t0, $error + beq t0, $error stl t0, __libc_missing_axp_tv64 /* Recover the saved arguments. */ @@ -110,8 +116,9 @@ $error: addq sp, 48, sp jmp zero, (pv), __syscall_error -END(__setitimer_tv64) +END(SETITIMER) +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING default_symbol_version (__setitimer_tv64, __setitimer, GLIBC_2.1) /* It seems to me to be a misfeature of the assembler that we can only @@ -119,3 +126,6 @@ default_symbol_version (__setitimer_tv64, __setitimer, GLIBC_2.1) The 'p' is for 'public'. *Shrug* */ strong_alias (__setitimer_tv64, __setitimer_tv64p) default_symbol_version (__setitimer_tv64p, setitimer, GLIBC_2.1) +#else +weak_alias (__setitimer, setitimer) +#endif |