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.

Reply via email to