I found the following module definitions in the out/soong/build.ninja file # Module: libart # Variant: android_arm64_armv8-a_cortex-a53_shared_core # Type: art_cc_library # Factory: android/soong/android.ModuleFactoryAdaptor.func1 # Defined: art/runtime/Android.bp:485:1
and # Module: libart # Variant: android_arm64_armv8-a_cortex-a53_shared_core_asan # Type: art_cc_library # Factory: android/soong/android.ModuleFactoryAdaptor.func1 # Defined: art/runtime/Android.bp:485:1 As I understand blueprint generates a ninja script with both targets: original libart and sanitized libart. So how to build both libraries? On Friday, September 29, 2017 at 5:43:02 PM UTC+3, [email protected] wrote: > > As I understand blueprint concept, there is should be a mutator (function > sanitizerMutator from sanitize.go) which creates a new sanitized module. > After that there are should be two modules: original and sanitized. > But I don't understand why the original module is not built? > > On Wednesday, September 27, 2017 at 7:50:30 PM UTC+3, [email protected] > wrote: >> >> Hello, >> >> Could anybody help me to apply asan to a single library. >> I have AOSP master branch and I need to sanitize libart (There are no >> problems with app_process because it still use makefiles). >> When Android used makefiles I did the following to enable asan: >> LOCAL_MODULE := libart__asan >> LOCAL_SANITIZE := address # to enable asan >> LOCAL_MODULE_RELATIVE_PATH := asan # to put a sanitized library into >> /asan/ subdirectory >> LOCAL_INSTALLED_MODULE_STEM := libart.so # to keep library name unchanged >> >> make produced 2 files: >> /system/lib/libart.so - not sanitized library >> /system/lib/asan/libart.so - sanitized library >> >> Now, when Android uses soong, I cant get two libraries with the same name >> in different directories. >> >> When I add >> sanitize { >> address: true >> } >> to the existing libart module, I get only one sanitized file in >> /data/system/asan/lib/ directory (but I need two files: asan-ed and not >> asan-ed). >> >> When I add new module >> art_cc_library { >> name: "libart__asan", >> defaults: ["libart_defaults"], >> target: { >> android: { >> sanitize: { >> address: true >> }, >> cflags: ["-Wno-frame-larger-than="], >> } >> }, >> // Leave the symbols in the shared library so that stack unwinders can >> // produce meaningful name resolution. >> strip: { >> keep_symbols: true, >> }, >> relative_install_path: "asan" >> } >> I get a file /system/lib/asan/libart__asan.so (but I need >> /system/lib/asan/libart.so). >> >> Could anybody suggest me right way to build both versions of one library >> (sanitized and not sanitized) with the same name but in different >> directories? >> > -- -- You received this message because you are subscribed to the "Android Building" mailing list. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-building?hl=en --- You received this message because you are subscribed to the Google Groups "Android Building" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
