diff --git a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c
index 45644e4139..eb78edda14 100644
--- a/sysdeps/ieee754/dbl-64/e_exp.c
+++ b/sysdeps/ieee754/dbl-64/e_exp.c
@@ -20,6 +20,8 @@
#include <stdint.h>
#include <math-barriers.h>
#include <math-narrow-eval.h>
+#include <shlib-compat.h>
+#include <libm-alias-double.h>
#include "math_config.h"
#define N (1 << EXP_TABLE_BITS)
@@ -89,7 +91,7 @@ top12 (double x)
double
SECTION
-__ieee754_exp (double x)
+__exp (double x)
{
uint32_t abstop;
uint64_t ki, idx, top, sbits;
@@ -162,6 +164,10 @@ __ieee754_exp (double x)
is no spurious underflow here even without fma. */
return scale + scale * tmp;
}
-#ifndef __ieee754_exp
-strong_alias (__ieee754_exp, __exp_finite)
+#ifndef __exp
+hidden_def (__exp)
+strong_alias (__exp, __ieee754_exp)
+strong_alias (__exp, __exp_finite)
+versioned_symbol (libm, __exp, exp, GLIBC_2_28);
+libm_alias_double_other (__exp, exp)
#endif