Add support for weak symbols in the NDK stubs.
Test: nose2
Bug: None
Change-Id: I202f718103f4a645b1eb83c0a9f5313bcdb4d485
diff --git a/cc/gen_stub_libs.py b/cc/gen_stub_libs.py
index bed718c..abb39c2 100755
--- a/cc/gen_stub_libs.py
+++ b/cc/gen_stub_libs.py
@@ -347,10 +347,16 @@
if section_versioned and emit_version:
self.version_script.write(' ' + symbol.name + ';\n')
+ weak = ''
+ if 'weak' in symbol.tags:
+ weak = '__attribute__((weak)) '
+
if 'var' in symbol.tags:
- self.src_file.write('int {} = 0;\n'.format(symbol.name))
+ self.src_file.write('{}int {} = 0;\n'.format(
+ weak, symbol.name))
else:
- self.src_file.write('void {}() {{}}\n'.format(symbol.name))
+ self.src_file.write('{}void {}() {{}}\n'.format(
+ weak, symbol.name))
if not version_empty and section_versioned:
base = '' if version.base is None else ' ' + version.base