xref: /aosp_15_r20/bionic/linker/ldd.sh (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker#!/system/bin/sh
2*8d67ca89SAndroid Build Coastguard Worker
3*8d67ca89SAndroid Build Coastguard Worker# Rather than have ldd and ldd64, this script does the right thing depending
4*8d67ca89SAndroid Build Coastguard Worker# on the argument.
5*8d67ca89SAndroid Build Coastguard Worker
6*8d67ca89SAndroid Build Coastguard Workerfunction error() {
7*8d67ca89SAndroid Build Coastguard Worker  echo "$1"
8*8d67ca89SAndroid Build Coastguard Worker  exit 1
9*8d67ca89SAndroid Build Coastguard Worker}
10*8d67ca89SAndroid Build Coastguard Worker
11*8d67ca89SAndroid Build Coastguard Worker[ $# -eq 1 ] || error "usage: ldd FILE"
12*8d67ca89SAndroid Build Coastguard Worker
13*8d67ca89SAndroid Build Coastguard Workerwhat=$(LD_LIBRARY_PATH= file -L "$1")
14*8d67ca89SAndroid Build Coastguard Workercase "$what" in
15*8d67ca89SAndroid Build Coastguard Worker  *32-bit*)
16*8d67ca89SAndroid Build Coastguard Worker    linker --list "$1"
17*8d67ca89SAndroid Build Coastguard Worker    ;;
18*8d67ca89SAndroid Build Coastguard Worker  *64-bit*)
19*8d67ca89SAndroid Build Coastguard Worker    linker64 --list "$1"
20*8d67ca89SAndroid Build Coastguard Worker    ;;
21*8d67ca89SAndroid Build Coastguard Worker  *)
22*8d67ca89SAndroid Build Coastguard Worker    error "$what"
23*8d67ca89SAndroid Build Coastguard Worker    ;;
24*8d67ca89SAndroid Build Coastguard Workeresac
25