diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/utimes.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/utimes.S | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/utimes.S b/sysdeps/unix/sysv/linux/alpha/utimes.S index 2b4c71e410..a1d2b1513c 100644 --- a/sysdeps/unix/sysv/linux/alpha/utimes.S +++ b/sysdeps/unix/sysv/linux/alpha/utimes.S @@ -32,7 +32,13 @@ .text -LEAF(__utimes_tv64, 16) +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#define UTIMES __utimes_tv64 +#else +#define UTIMES __utimes +#endif + +LEAF(UTIMES, 16) ldgp gp, 0(pv) subq sp, 16, sp #ifdef PROF @@ -62,7 +68,7 @@ LEAF(__utimes_tv64, 16) /* 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. */ @@ -96,8 +102,9 @@ $error: addq sp, 16, sp jmp zero, (pv), __syscall_error -END(__utimes_tv64) +END(UTIMES) +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING default_symbol_version (__utimes_tv64, __utimes, GLIBC_2.1) /* It seems to me to be a misfeature of the assembler that we can only @@ -105,3 +112,6 @@ default_symbol_version (__utimes_tv64, __utimes, GLIBC_2.1) The 'p' is for 'public'. *Shrug* */ strong_alias (__utimes_tv64, __utimes_tv64p) default_symbol_version (__utimes_tv64p, utimes, GLIBC_2.1) +#else +weak_alias (__utimes, utimes) +#endif |