1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00

builtools: Make abi_gen.sh less prone to errors

The mold linker has more hidden symbols and we would need to filter them out
with nm, where objdump tells us which symbols are actually hidden. So we just
need to filter out whatever is hidden.

The use of awk makes it also easier to get what we want.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
(cherry picked from commit 2b9917d7a3)

Autobuild-User(v4-16-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-16-test): Tue Mar 29 16:07:13 UTC 2022 on sn-devel-184
This commit is contained in:
Andreas Schneider 2022-02-14 07:59:52 +01:00 committed by Jule Anger
parent 15035d82a5
commit ac73a58d75

View File

@ -10,9 +10,14 @@ cat <<EOF
set height 0
set width 0
EOF
nm "$SHAREDLIB" | cut -d' ' -f2- | egrep '^[BDGTRVWS]' | grep -v @ | egrep -v ' (__bss_start|_edata|_init|_fini|_end)' | cut -c3- | sort | while read s; do
# On older linker versions _init|_fini symbols are not hidden.
objdump --dynamic-syms "${SHAREDLIB}" | \
awk '$0 !~ /.hidden/ {if ($2 == "g" && $3 ~ /D(F|O)/ && $4 ~ /(.bss|.rodata|.text)/) print $NF}' | \
sort | \
while read -r s; do
echo "echo $s: "
echo p $s
echo p "${s}"
done
) > $GDBSCRIPT