glibc/crypt_blowfish-1.2-versioning.diff
Andreas Schwab e5ed97dcc4 Accepting request 155840 from home:Andreas_Schwab:Factory
- Update crypt ABI for aarch64
- Use lib64 for aarch64 and add link for /lib/ld-linux-aarch64.so.1
- Don't build profiling libraries for aarch64

OBS-URL: https://build.opensuse.org/request/show/155840
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=272
2013-02-19 17:17:41 +00:00

56 lines
1.5 KiB
Diff

Index: crypt_blowfish-1.2/wrapper.c
===================================================================
--- crypt_blowfish-1.2.orig/wrapper.c
+++ crypt_blowfish-1.2/wrapper.c
@@ -38,6 +38,7 @@
#define CRYPT_GENSALT_OUTPUT_SIZE (7 + 22 + 1)
#if defined(__GLIBC__) && defined(_LIBC)
+#include <shlib-compat.h>
#define __SKIP_GNU
#endif
#include "ow-crypt.h"
@@ -286,14 +287,36 @@ char *__crypt_gensalt(const char *prefix
}
#if defined(__GLIBC__) && defined(_LIBC)
-weak_alias(__crypt_rn, crypt_rn)
-weak_alias(__crypt_ra, crypt_ra)
+#include <shlib-compat.h>
weak_alias(__crypt_r, crypt_r)
weak_alias(__crypt, crypt)
-weak_alias(__crypt_gensalt_rn, crypt_gensalt_rn)
-weak_alias(__crypt_gensalt_ra, crypt_gensalt_ra)
-weak_alias(__crypt_gensalt, crypt_gensalt)
-weak_alias(crypt, fcrypt)
+weak_alias(__crypt, fcrypt)
+#if SHARED
+/* Owl has crypt_gensalt as GLIBC_2_0 so keep for compatibility */
+#if SHLIB_COMPAT (libcrypt, GLIBC_2_0, GLIBC_2_14)
+#define ow_compat_symbol(name) \
+ compat_symbol(libcrypt, _compat_##name, name, GLIBC_2_0); \
+ weak_alias(__##name, _compat_##name)
+#else
+#define ow_compat_symbol(name)
+#endif
+
+#define ow_versioned(name) \
+ ow_compat_symbol(name) \
+ versioned_symbol(libcrypt, _owl_##name, name, OW_CRYPT_1_0);
+#else
+#define ow_versioned(name)
+#endif // SHARED
+
+#define ow_symbol(name) \
+ ow_versioned(name) \
+ weak_alias(__##name, _owl_##name) \
+
+ow_symbol(crypt_rn)
+ow_symbol(crypt_ra)
+ow_symbol(crypt_gensalt)
+ow_symbol(crypt_gensalt_rn)
+ow_symbol(crypt_gensalt_ra)
#endif
#ifdef TEST