Hm, I've never done it like that.
There is a script in the NDK to build a standalone toolchain, with a
flag to choose one of the available c++ implementations.

On Thu, Sep 4, 2014 at 2:36 PM, ji wang <[email protected]> wrote:
> I only found ./prebuilts/clang/linux-x86/host/3.5/lib/libc++.so in
> Android4.4 platform code and found libc++-shared.so in ndkr10 , do I need
> use clang to compile llvm-symbolizer code?
> Here is my Android.mk of llvm-symbolizer in the external/llvm directory,
> could u tell me how to change this file,plz? Really not familiar with this.
> external/llvm$ cat tools/llvm-symbolizer/Android.mk
> LOCAL_PATH:= $(call my-dir)
> llvm_symbolizer_SRC_FILES := \
>   LLVMSymbolize.cpp \
>   llvm-symbolizer.cpp
> llvm_symbolizer_STATIC_LIBRARIES := \
>   libLLVMObject \
>   libLLVMDebugInfo \
>   libLLVMSupport
> #===---------------------------------------------------------------===
> # llvm-symbolizer command line tool (target)
> #===---------------------------------------------------------------===
> include $(CLEAR_VARS)
> LOCAL_MODULE := llvm-symbolizer
> LOCAL_MODULE_TAGS := optional
> LOCAL_MODULE_CLASS := EXECUTABLES
> LOCAL_SRC_FILES := $(llvm_symbolizer_SRC_FILES)
> LOCAL_CFLAGS += -D__android__ -D __STDC_LIMIT_MACROS -D
> __STDC_CONSTANT_MACROS
> LOCAL_STATIC_LIBRARIES := $(llvm_symbolizer_STATIC_LIBRARIES)
> LOCAL_SHARED_LIBRARIES := \
>   libcutils \
>   libstlport
> include $(LLVM_ROOT_PATH)/llvm.mk
> include $(LLVM_DEVICE_BUILD_MK)
> include $(LLVM_GEN_INTRINSICS_MK)
> include $(BUILD_EXECUTABLE)
>
> 在 2014年9月4日星期四UTC+8下午4时40分30秒,Evgeniy Stepanov写道:
>>
>> You may need to switch from stlport to libc++ or some other option
>> (there is a choice of c++ std libraries in the NDK).
>>
>>
>> On Thu, Sep 4, 2014 at 5:25 AM, ji wang <[email protected]> wrote:
>> > Hi,Evgeniy
>> > I am cross-compiling LLVM-symbolizer for Android4.4, Now I got a compile
>> > error like below,Any ideas to solve this? Any patches for this?
>> > external/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp:336: error:
>> > undefined
>> > reference to '__cxa_demangle'
>> > collect2: error: ld returned 1 exit status
>> >
>> > 在 2014年9月2日星期二UTC+8下午5时09分15秒,Evgeniy Stepanov写道:
>> >>
>> >> We don't have any short-term plans for that, though it would be a nice
>> >> to have feature.
>> >>
>> >> There is a code dump here with some instructions that might be useful
>> >> if you want to try:
>> >>
>> >>
>> >> https://code.google.com/p/address-sanitizer/source/browse/#svn%2Ftrunk%2Finternal_symbolizer
>> >>
>> >> On Tue, Sep 2, 2014 at 12:56 PM, ji wang <[email protected]> wrote:
>> >> > Thanks Evgeniy, I've noticed this today. And I am trying to write an
>> >> > Android.mk script to cross-compile llvm-symbolizer code now.
>> >> > And this solution is the ExternalSymbolizer, have any plan about the
>> >> > InternalSymbolizer support?
>> >> >
>> >> >
>> >> >
>> >> > 在 2014年9月2日星期二UTC+8下午4时31分49秒,Evgeniy Stepanov写道:
>> >> >>
>> >> >> If you build llvm-symbolizer binary (it's in the LLVM source tree,
>> >> >> cross-compile it to Android) and push it to /system/bin, then
>> >> >> symbolization will just work.
>> >> >>
>> >> >>
>> >> >> On Tue, Sep 2, 2014 at 7:05 AM, ji wang <[email protected]> wrote:
>> >> >> > I think its very useful to add the function name to the asan
>> >> >> > output
>> >> >> > recently, which needs in-process symbolization in Asan runtime.
>> >> >> > I've checked the asan runtime source code on android platform,
>> >> >> > found
>> >> >> > out
>> >> >> > "__sanitizer_symbolize_data" and "__sanitizer_symbolize_code"
>> >> >> > unimplemented.
>> >> >> > What should I do to implement those function and make the
>> >> >> > symbolization
>> >> >> > works? Or is there any other way to symbolizing ASan output on
>> >> >> > Android?
>> >> >> >
>> >> >> >   char *SendCommand(bool is_data, const char *module_name, uptr
>> >> >> > module_offset) {
>> >> >> >     SanitizerSymbolizeFn symbolize_fn = is_data ?
>> >> >> > __sanitizer_symbolize_data
>> >> >> >                                                 :
>> >> >> > __sanitizer_symbolize_code;
>> >> >> >     if (symbolize_fn(module_name, module_offset, buffer_,
>> >> >> > kBufferSize))
>> >> >> >       return buffer_;
>> >> >> >     return 0;
>> >> >> >   }
>> >> >> >
>> >> >> > --
>> >> >> > You received this message because you are subscribed to the Google
>> >> >> > Groups
>> >> >> > "address-sanitizer" 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.
>> >> >
>> >> > --
>> >> > You received this message because you are subscribed to the Google
>> >> > Groups
>> >> > "address-sanitizer" 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.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "address-sanitizer" 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.
>
> --
> You received this message because you are subscribed to the Google Groups
> "address-sanitizer" 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.

-- 
You received this message because you are subscribed to the Google Groups 
"address-sanitizer" 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