macros: add NM_BACKPORT_SYMBOL()
Add a macro to insert the necessary compiler/linker magic to add a copy of an existing symbol to an older version. Also, update check-exports.sh to be able to check for such symbols by listed them commented-out in the appropriate section. [thaller@redhat.com: patch modified] Related: https://bugzilla.gnome.org/show_bug.cgi?id=742993
This commit is contained in:

committed by
Thomas Haller

parent
8a1f4beb65
commit
64ff214bb8
@@ -236,4 +236,18 @@ nm_clear_g_source (guint *id)
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#define _NM_BACKPORT_SYMBOL_IMPL(VERSION, RETURN_TYPE, ORIG_FUNC, VERSIONED_FUNC, ARGS_TYPED, ARGS) \
|
||||||
|
RETURN_TYPE VERSIONED_FUNC ARGS_TYPED; \
|
||||||
|
RETURN_TYPE VERSIONED_FUNC ARGS_TYPED \
|
||||||
|
{ \
|
||||||
|
return ORIG_FUNC ARGS; \
|
||||||
|
} \
|
||||||
|
RETURN_TYPE ORIG_FUNC ARGS_TYPED; \
|
||||||
|
__asm__(".symver "G_STRINGIFY(VERSIONED_FUNC)", "G_STRINGIFY(ORIG_FUNC)"@"G_STRINGIFY(VERSION))
|
||||||
|
|
||||||
|
#define NM_BACKPORT_SYMBOL(VERSION, RETURN_TYPE, FUNC, ARGS_TYPED, ARGS) \
|
||||||
|
_NM_BACKPORT_SYMBOL_IMPL(VERSION, RETURN_TYPE, FUNC, _##FUNC##_##VERSION, ARGS_TYPED, ARGS)
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
#endif /* __NM_MACROS_INTERNAL_H__ */
|
#endif /* __NM_MACROS_INTERNAL_H__ */
|
||||||
|
@@ -18,9 +18,7 @@ get_syms() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_syms_from_def() {
|
get_syms_from_def() {
|
||||||
# be strict and only parse entries that start with one \t and end with a ';'
|
sed -n 's/^\t\(\([_a-zA-Z0-9]\+\)\|#\s*\([_a-zA-Z0-9]\+@@\?[_a-zA-Z0-9]\+\)\);$/\2\3/p' "$1" |
|
||||||
sed -n 's/^\t\([_a-zA-Z0-9]\+\);$/\1/p' "$1" |
|
|
||||||
grep '^\*$' -v |
|
|
||||||
sort
|
sort
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user