blob: 7b22ca82bc801f8c00dc5a101538e48468271c3d [file] [log] [blame]
Dan Albert169eb662015-01-21 16:42:02 -08001#!/usr/bin/env python2
2#
3# Copyright (C) 2015 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (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
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an 'AS IS' BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17import os
18import subprocess
19import tempfile
20
21import symbols
22
23
24def adb_pull(src, dst):
25 with open(os.devnull, 'w') as devnull:
26 subprocess.check_call(['adb', 'pull', src, dst],
27 stdout=devnull, stderr=devnull)
28
29
30def main():
31 tmp_dir = tempfile.mkdtemp()
32 adb_pull('/system/lib/libc.so', tmp_dir)
33 adb_pull('/system/lib/libm.so', tmp_dir)
34
35 current = symbols.GetFromAndroidSo(['libc.so', 'libm.so'])
36 device = (symbols.GetFromSo(os.path.join(tmp_dir, 'libc.so')) |
37 symbols.GetFromSo(os.path.join(tmp_dir, 'libm.so')))
38
39 for symbol in sorted(current - device):
40 print symbol
41
42
43if __name__ == '__main__':
44 main()