diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2020-01-30 19:18:25 +0100 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2020-01-30 19:33:32 +0100 |
commit | f2ac13e8881f975b062a56050ceda85ef9ccc015 (patch) | |
tree | 41f22d28492ee1f57e409448e99368113ce292d9 | |
parent | 1b28d253a9b757c49a8e17855efd8af426f761d9 (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-functions | 7 |
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)) |