summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2011-05-05 12:23:41 -0500
committerDan Williams <dcbw@redhat.com>2011-05-05 12:26:17 -0500
commit07c9de48df2d136529a97243750b6f1d9061a098 (patch)
tree23380d033a97558e16577a0a6c720f4050e66631 /tools
parent9ee83c18aa19f74e70403a0a411fd53cc2da4f28 (diff)
libnm-util: fix symbol export checks to catch un-exported ones too
The current check caught stuff in the .ver file that was outdated, but didn't quite get stuff that was supposed to be exported but wasn't, in some cases. Update the regex to ensure that symbols that are not exported, but that start with "nm_" (and aren't GObject boilerplate) get flagged during the check. Update internal code to return to a previous pattern of treating symbols that start with "_" internal, and expecting symbols that start with "nm_" to be exported. Also fixes cases where random glibc symbols would get flagged: 00040ff4 l O *ABS* 00000000 .hidden _GLOBAL_OFFSET_TABLE_ 00041380 l O .data 00000000 .hidden __dso_handle 000406e8 l O .dtors 00000000 .hidden __DTOR_END__ 0000fbe4 l F .text 00000000 .hidden __i686.get_pc_thunk.cx 0002f980 l F .text 00000014 .hidden __stack_chk_fail_local 0000b1e7 l F .text 00000000 .hidden __i686.get_pc_thunk.bx 00040e60 l O *ABS* 00000000 .hidden _DYNAMIC
Diffstat (limited to 'tools')
-rwxr-xr-xtools/check-exports.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/check-exports.sh b/tools/check-exports.sh
index 1415e144..3c75ef02 100755
--- a/tools/check-exports.sh
+++ b/tools/check-exports.sh
@@ -8,7 +8,7 @@ so=$1
def=$2
# Have to prefix with a tab and suffix with a ';' to match .ver file format
-get_syms='( objdump -t "$so" | grep "^[^ ]* [^l.*]*[.]"; objdump -t "$so" | grep "[.]hidden.*"; ) | sed "s/.* //" | sed "s/^/\t/" | sed "s/$/;/"'
+get_syms='( objdump -t "$so" | grep "^[^ ]* [^l.*]*[.]"; objdump -t "$so" | grep "^[^ ]* l[^.*]*\.text[^_]*nm_" | grep -v "_init"; ) | sed "s/.* //" | sed "s/^/\t/" | sed "s/$/;/"'
echo $so: checking exported symbols against $def