#!/usr/bin/python3

import sys

if len(sys.argv) != 2:
    raise Exception('wrong number of arguments in fake_ldd')

if sys.argv[1] in ['/AATest/bin/bash', '/bin/bash', '/usr/bin/bash']:
    print('        linux-vdso.so.1 (0x00007ffcf97f4000)')
    print('        libreadline.so.6 => /AATest/lib64/libreadline.so.6 (0x00007f2c41324000)')
    print('        libtinfo.so.6 => /AATest/lib64/libtinfo.so.6 (0x00007f2c410f9000)')
    print('        libdl.so.2 => /AATest/lib64/libdl.so.2 (0x00007f2c40ef5000)')
    print('        libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f2c40b50000)')
    print('        /AATest/lib64/ld-linux-x86-64.so.2 (0x000055782c473000)')

elif sys.argv[1] == '/AATest/lib64/ld-2.22.so':
    print('        linux-vdso.so.1 (0x00007ffcf97f4000)')

elif sys.argv[1] == '/AATest/lib64/libc-2.22.so':
    print('        /AATest/lib64/ld-linux-x86-64.so.2 (0x0000556858473000)')
    print('        linux-vdso.so.1 (0x00007ffe98912000)')

elif sys.argv[1] == '/AATest/lib64/libdl.so.2':
    print('        linux-vdso.so.1 (0x00007ffec2538000)')
    print('        libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f8865346000)')
    print('        /AATest/lib64/ld-linux-x86-64.so.2 (0x0000560c3bcee000)')

elif sys.argv[1] == '/AATest/lib64/libtinfo.so.6':
    print('        linux-vdso.so.1 (0x00007fff30518000)')
    print('        libc.so.6 => /AATest/lib64/libc.so.6 (0x00007fb6f2ea3000)')
    print('        /AATest/lib64/ld-linux-x86-64.so.2 (0x00005631fe8d3000)')

elif sys.argv[1] == '/AATest/lib64/libreadline.so.6':
    print('        linux-vdso.so.1 (0x00007ffcb5b62000)')
    print('        libtinfo.so.6 => /AATest/lib64/libtinfo.so.6 (0x00007f2a4ed07000)')
    print('        libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f2a4e961000)')
    print('        /AATest/lib64/ld-linux-x86-64.so.2 (0x000055f749c89000)')

elif sys.argv[1] == '/AATest/lib64/ld-linux-x86-64.so.2':
    print('        statically linked')

elif sys.argv[1] == '/AATest/lib64/libc.so.6':
    print('        /AATest/lib64/ld-linux-x86-64.so.2 (0x000055b65f7a9000)')
    print('        linux-vdso.so.1 (0x00007ffde132b000)')


elif sys.argv[1] == '/AATest/sbin/ldconfig':
    print('        not a dynamic executable')
    sys.exit(1)  # ldd exits with $? == 1 in this case

elif sys.argv[1].startswith('/tmp/aa-test-'):  # test file generated by test-aa.py
    print('        not a dynamic executable')

elif sys.argv[1] == 'TEMPLATE':
    print('')
    print('')
    print('')

else:
    raise Exception('unknown parameter in fake_ldd: %s' % sys.argv[1])
