about summary refs log tree commit diff
path: root/sysdeps/unix/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/Makefile')
-rw-r--r--sysdeps/unix/Makefile14
1 files changed, 13 insertions, 1 deletions
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 1770d1df98..48f5ec591f 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -59,8 +59,20 @@ $(objpfx)stub-syscalls.c: $(common-objpfx)sysd-syscalls \
 	   *@*) \
 	     ver=$${call##*@}; call=$${call%%@*}; \
 	     ver=`echo "$$ver" | sed 's/\./_/g'`; \
+	     case $$ver in \
+	     *:*) \
+	       compat_ver=$${ver#*:}; \
+	       ver=$${ver%%:*}; \
+	       compat_cond="SHLIB_COMPAT (libc, $$ver, $$compat_ver)"; \
+	       ;; \
+	     *) \
+	       compat_cond=""; \
+	       ;; \
+	     esac; \
+	     if [ -n "$$compat_cond" ]; then echo "#if $$compat_cond"; fi; \
 	     echo "strong_alias (_no_syscall, __$${call}_$${ver})"; \
-	     echo "compat_symbol (libc, __$${call}_$${ver}, $$call, $$ver);" \
+	     echo "compat_symbol (libc, __$${call}_$${ver}, $$call, $$ver);"; \
+	     if [ -n "$$compat_cond" ]; then echo "#endif"; fi; \
 	     ;; \
 	   *) echo "weak_alias (_no_syscall, $$call)"; \
 	      echo "stub_warning ($$call)"; \