diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/settimeofday.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/settimeofday.S | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/settimeofday.S b/sysdeps/unix/sysv/linux/alpha/settimeofday.S index b730df7136..ae129ecc1c 100644 --- a/sysdeps/unix/sysv/linux/alpha/settimeofday.S +++ b/sysdeps/unix/sysv/linux/alpha/settimeofday.S @@ -32,7 +32,13 @@ .text -LEAF(__settimeofday_tv64, 16) +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#define SETTIMEOFDAY __settimeofday_tv64 +#else +#define SETTIMEOFDAY __settimeofday +#endif + +LEAF(SETTIMEOFDAY, 16) ldgp gp, 0(pv) subq sp, 16, sp #ifdef PROF @@ -61,7 +67,7 @@ LEAF(__settimeofday_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. */ @@ -91,8 +97,9 @@ $error: addq sp, 16, sp jmp zero, (pv), __syscall_error -END(__settimeofday_tv64) +END(SETTIMEOFDAY) +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING default_symbol_version (__settimeofday_tv64, __settimeofday, GLIBC_2.1) /* It seems to me to be a misfeature of the assembler that we can only @@ -100,3 +107,6 @@ default_symbol_version (__settimeofday_tv64, __settimeofday, GLIBC_2.1) The 'p' is for 'public'. *Shrug* */ strong_alias (__settimeofday_tv64, __settimeofday_tv64p) default_symbol_version (__settimeofday_tv64p, settimeofday, GLIBC_2.1) +#else +weak_alias (__settimeofday, settimeofday) +#endif |