OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # | 2 # |
3 # Copyright (C) 2013 The Android Open Source Project | 3 # Copyright (C) 2013 The Android Open Source Project |
4 # | 4 # |
5 # Licensed under the Apache License, Version 2.0 (the "License"); | 5 # Licensed under the Apache License, Version 2.0 (the "License"); |
6 # you may not use this file except in compliance with the License. | 6 # you may not use this file except in compliance with the License. |
7 # You may obtain a copy of the License at | 7 # You may obtain a copy of the License at |
8 # | 8 # |
9 # http://www.apache.org/licenses/LICENSE-2.0 | 9 # http://www.apache.org/licenses/LICENSE-2.0 |
10 # | 10 # |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 | 47 |
48 def ToolPath(tool, toolchain_info=None): | 48 def ToolPath(tool, toolchain_info=None): |
49 """Return a full qualified path to the specified tool""" | 49 """Return a full qualified path to the specified tool""" |
50 # ToolPath looks for the tools in the completely incorrect directory. | 50 # ToolPath looks for the tools in the completely incorrect directory. |
51 # This looks in the checked in android_tools. | 51 # This looks in the checked in android_tools. |
52 if ARCH == "arm": | 52 if ARCH == "arm": |
53 toolchain_source = "arm-linux-androideabi-4.6" | 53 toolchain_source = "arm-linux-androideabi-4.6" |
54 toolchain_prefix = "arm-linux-androideabi" | 54 toolchain_prefix = "arm-linux-androideabi" |
55 ndk = "ndk" | 55 ndk = "ndk" |
56 elif ARCH == "arm64": | 56 elif ARCH == "arm64": |
57 toolchain_source = "aarch64-linux-android-4.8" | 57 toolchain_source = "aarch64-linux-android-4.9" |
58 toolchain_prefix = "aarch64-linux-android" | 58 toolchain_prefix = "aarch64-linux-android" |
59 ndk = "ndk_experimental" | 59 ndk = "ndk" |
60 elif ARCH == "x86": | 60 elif ARCH == "x86": |
61 toolchain_source = "x86-4.6" | 61 toolchain_source = "x86-4.6" |
62 toolchain_prefix = "i686-android-linux" | 62 toolchain_prefix = "i686-android-linux" |
63 ndk = "ndk" | 63 ndk = "ndk" |
64 elif ARCH == "x86_64": | 64 elif ARCH == "x86_64": |
65 toolchain_source = "x86_64-4.8" | 65 toolchain_source = "x86_64-4.9" |
66 toolchain_prefix = "x86_64-linux-android" | 66 toolchain_prefix = "x86_64-linux-android" |
67 ndk = "ndk_experimental" | 67 ndk = "ndk" |
68 elif ARCH == "mips": | 68 elif ARCH == "mips": |
69 toolchain_source = "mipsel-linux-android-4.6" | 69 toolchain_source = "mipsel-linux-android-4.6" |
70 toolchain_prefix = "mipsel-linux-android" | 70 toolchain_prefix = "mipsel-linux-android" |
71 ndk = "ndk" | 71 ndk = "ndk" |
72 else: | 72 else: |
73 raise Exception("Could not find tool chain") | 73 raise Exception("Could not find tool chain") |
74 | 74 |
75 toolchain_subdir = ( | 75 toolchain_subdir = ( |
76 "third_party/android_tools/%s/toolchains/%s/prebuilt/linux-x86_64/bin" % | 76 "third_party/android_tools/%s/toolchains/%s/prebuilt/linux-x86_64/bin" % |
77 (ndk, toolchain_source)) | 77 (ndk, toolchain_source)) |
(...skipping 10 matching lines...) Expand all Loading... |
88 | 88 |
89 Returns: | 89 Returns: |
90 A pair of strings containing toolchain label and target prefix. | 90 A pair of strings containing toolchain label and target prefix. |
91 """ | 91 """ |
92 global TOOLCHAIN_INFO | 92 global TOOLCHAIN_INFO |
93 if TOOLCHAIN_INFO is not None: | 93 if TOOLCHAIN_INFO is not None: |
94 return TOOLCHAIN_INFO | 94 return TOOLCHAIN_INFO |
95 | 95 |
96 ## Known toolchains, newer ones in the front. | 96 ## Known toolchains, newer ones in the front. |
97 if ARCH == "arm64": | 97 if ARCH == "arm64": |
98 gcc_version = "4.8" | 98 gcc_version = "4.9" |
99 known_toolchains = [ | 99 known_toolchains = [ |
100 ("aarch64-linux-android-" + gcc_version, "aarch64", "aarch64-linux-android
") | 100 ("aarch64-linux-android-" + gcc_version, "aarch64", "aarch64-linux-android
") |
101 ] | 101 ] |
102 elif ARCH == "arm": | 102 elif ARCH == "arm": |
103 gcc_version = "4.6" | 103 gcc_version = "4.6" |
104 known_toolchains = [ | 104 known_toolchains = [ |
105 ("arm-linux-androideabi-" + gcc_version, "arm", "arm-linux-androideabi"), | 105 ("arm-linux-androideabi-" + gcc_version, "arm", "arm-linux-androideabi"), |
106 ] | 106 ] |
107 elif ARCH =="x86": | 107 elif ARCH =="x86": |
108 known_toolchains = [ | 108 known_toolchains = [ |
109 ("i686-android-linux-4.4.3", "x86", "i686-android-linux") | 109 ("i686-android-linux-4.4.3", "x86", "i686-android-linux") |
110 ] | 110 ] |
111 elif ARCH =="x86_64": | 111 elif ARCH =="x86_64": |
112 known_toolchains = [ | 112 known_toolchains = [ |
113 ("x86_64-linux-android-4.8", "x86_64", "x86_64-linux-android") | 113 ("x86_64-linux-android-4.9", "x86_64", "x86_64-linux-android") |
114 ] | 114 ] |
115 elif ARCH == "mips": | 115 elif ARCH == "mips": |
116 gcc_version = "4.6" | 116 gcc_version = "4.6" |
117 known_toolchains = [ | 117 known_toolchains = [ |
118 ("mipsel-linux-android-" + gcc_version, "mips", "mipsel-linux-android") | 118 ("mipsel-linux-android-" + gcc_version, "mips", "mipsel-linux-android") |
119 ] | 119 ] |
120 else: | 120 else: |
121 known_toolchains = [] | 121 known_toolchains = [] |
122 | 122 |
123 # Look for addr2line to check for valid toolchain path. | 123 # Look for addr2line to check for valid toolchain path. |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 process.stdin.write("\n") | 414 process.stdin.write("\n") |
415 process.stdin.close() | 415 process.stdin.close() |
416 demangled_symbol = process.stdout.readline().strip() | 416 demangled_symbol = process.stdout.readline().strip() |
417 process.stdout.close() | 417 process.stdout.close() |
418 return demangled_symbol | 418 return demangled_symbol |
419 | 419 |
420 def FormatSymbolWithOffset(symbol, offset): | 420 def FormatSymbolWithOffset(symbol, offset): |
421 if offset == 0: | 421 if offset == 0: |
422 return symbol | 422 return symbol |
423 return "%s+%d" % (symbol, offset) | 423 return "%s+%d" % (symbol, offset) |
OLD | NEW |