mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-26 19:34:51 +01:00
3242e29e57
This is needed for our compat version of canonicalize_file_name to be used.
28 lines
742 B
Bash
28 lines
742 B
Bash
|
|
# we go through a bit of work to get the unmangled names of the
|
|
# typeinfo symbols because of
|
|
# http://sourceware.org/bugzilla/show_bug.cgi?id=10326
|
|
|
|
if [ $# -lt 2 ]; then
|
|
echo Usage: $0 header obj1 obj2 obj3
|
|
exit 1;
|
|
fi
|
|
|
|
HEADER=$1
|
|
shift
|
|
|
|
printf '{\nglobal:\n'
|
|
nm $* | awk '$1 ~ "^[0-9a-fA-F][0-9a-fA-F]*$" && $3 ~ "Xapian.*Error" {print $3}' | sort | uniq | \
|
|
while read sym; do
|
|
demangled=$(c++filt $sym)
|
|
case $demangled in
|
|
typeinfo*)
|
|
printf "\t$sym;\n"
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
done
|
|
nm $* | awk '$1 ~ "^[0-9a-fA-F][0-9a-fA-F]*$" && $2 == "T" && $3 ~ "^(getline|getdelim|canonicalize_file_name)$" {print $3 ";"}'
|
|
sed -n 's/^[[:space:]]*\(notmuch_[a-z_]*\)[[:space:]]*(.*/ \1;/p' $HEADER
|
|
printf "local: *;\n};\n"
|