summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2020-01-30 19:18:25 +0100
committerBen Hutchings <ben@decadent.org.uk>2020-01-30 19:33:32 +0100
commitf2ac13e8881f975b062a56050ceda85ef9ccc015 (patch)
tree41f22d28492ee1f57e409448e99368113ce292d9
parent1b28d253a9b757c49a8e17855efd8af426f761d9 (diff)
hook-functions: copy_exec: Copy libgcc_s.so.0 along with libpthread.so
pthread_cancel() in libpthread.so.1 depends on functions in libgcc_s.so.0, but uses dlopen() to link to it rather than having a static dependency. Handle this dynamic dependency in copy_exec so that it doesn't have to be handled in every affected hook script. Closes: #950254 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--hook-functions7
1 files changed, 7 insertions, 0 deletions
diff --git a/hook-functions b/hook-functions
index 72c3674..884f820 100644
--- a/hook-functions
+++ b/hook-functions
@@ -199,6 +199,13 @@ copy_exec() {
x="${nonoptlib}"
fi
+ # Handle common dlopen() dependency (Debian bug #950254)
+ case "${x}" in
+ */libpthread.so.*)
+ copy_exec "${x%/*}/libgcc_s.so.1" || return
+ ;;
+ esac
+
copy_file binary "${x}" || {
ret=$?
[ ${ret} = 1 ] || return $((ret - 1))