#!/usr/bin/env fuchsia-vendored-python
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import os
import sys

sys.path.append(os.path.join(
    os.path.dirname(__file__),
    os.pardir,
    "images",
))
import elfinfo


def get_sdk_debug_path(binary):
    build_id = elfinfo.get_elf_info(binary).build_id
    return '.build-id/' + build_id[:2] + '/' + build_id[2:] + '.debug'


# For testing.
def main():
    print(get_sdk_debug_path(sys.argv[1]))


if __name__ == '__main__':
    sys.exit(main())
