diff options
| author | Stephen Hines <srhines@google.com> | 2014-07-24 02:28:42 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2014-07-24 02:28:42 +0000 |
| commit | 34b2068c973ae65962c61fa11cf785a69bb5e233 (patch) | |
| tree | 71a9ab0cbe4a1c51f74fcb9031c7dd2d0cbbbc33 | |
| parent | abe41a94aeda9bc1c3d544e992534f5367a4874a (diff) | |
| parent | fb8fe8207eeb8b93429c7816606d27cf8066ab9f (diff) | |
| download | android_frameworks_rs-34b2068c973ae65962c61fa11cf785a69bb5e233.tar.gz android_frameworks_rs-34b2068c973ae65962c61fa11cf785a69bb5e233.tar.bz2 android_frameworks_rs-34b2068c973ae65962c61fa11cf785a69bb5e233.zip | |
am fb8fe820: Merge changes I2a12d44b,I393f801e
* commit 'fb8fe8207eeb8b93429c7816606d27cf8066ab9f':
Pass -Bsymbolic to the linker from clang when compiling against stlport_static.
Update RS for LLVM rebase to r212749.
22 files changed, 39 insertions, 54 deletions
diff --git a/cpu_ref/linkloader/android/librsloader.cpp b/cpu_ref/linkloader/android/librsloader.cpp index 71ad6c51..7fbaa7cc 100644 --- a/cpu_ref/linkloader/android/librsloader.cpp +++ b/cpu_ref/linkloader/android/librsloader.cpp @@ -25,7 +25,6 @@ #define LOG_TAG "bcc" #include "cutils/log.h" -#include <llvm/ADT/OwningPtr.h> #include <llvm/Support/ELF.h> #if defined(__LP64__) || defined(__x86_64__) @@ -70,16 +69,16 @@ extern "C" RSExecRef rsloaderLoadExecutable(unsigned char const *buf, ArchiveReaderLE AR(buf, buf_size); #if defined(__LP64__) || defined(__x86_64__) - llvm::OwningPtr<ELFObject<64> > object(ELFObject<64>::read(AR)); + std::unique_ptr<ELFObject<64> > object(ELFObject<64>::read(AR)); #else - llvm::OwningPtr<ELFObject<32> > object(ELFObject<32>::read(AR)); + std::unique_ptr<ELFObject<32> > object(ELFObject<32>::read(AR)); #endif if (!object) { ALOGE("Unable to load the ELF object."); return NULL; } - return wrap(object.take()); + return wrap(object.release()); } extern "C" int rsloaderRelocateExecutable(RSExecRef object_, diff --git a/cpu_ref/linkloader/include/ELFHeader.h b/cpu_ref/linkloader/include/ELFHeader.h index 98fa9206..e6c66f65 100644 --- a/cpu_ref/linkloader/include/ELFHeader.h +++ b/cpu_ref/linkloader/include/ELFHeader.h @@ -20,8 +20,6 @@ #include "ELFTypes.h" #include "ELF.h" -#include <llvm/ADT/OwningPtr.h> - #include <string.h> class ELFHeaderHelperMixin { @@ -155,7 +153,7 @@ public: return 0; } - llvm::OwningPtr<ELFHeader> header(new ELFHeader()); + std::unique_ptr<ELFHeader> header(new ELFHeader()); if (!header->serialize(AR)) { // Unable to read the structure. Return NULL. return 0; @@ -166,7 +164,7 @@ public: return 0; } - return header.take(); + return header.release(); } void print(); diff --git a/cpu_ref/linkloader/include/ELFObject.h b/cpu_ref/linkloader/include/ELFObject.h index d000c58d..0c195b9f 100644 --- a/cpu_ref/linkloader/include/ELFObject.h +++ b/cpu_ref/linkloader/include/ELFObject.h @@ -22,8 +22,6 @@ #include "utils/rsl_assert.h" -#include <llvm/ADT/OwningPtr.h> - #include <string> #include <vector> @@ -33,8 +31,8 @@ public: ELF_TYPE_INTRO_TO_TEMPLATE_SCOPE(Bitwidth); private: - llvm::OwningPtr<ELFHeaderTy> header; - llvm::OwningPtr<ELFSectionHeaderTableTy> shtab; + std::unique_ptr<ELFHeaderTy> header; + std::unique_ptr<ELFSectionHeaderTableTy> shtab; std::vector<ELFSectionTy *> stab; MemChunk SHNCommonData; diff --git a/cpu_ref/linkloader/include/ELFReloc.h b/cpu_ref/linkloader/include/ELFReloc.h index c6bf7598..84754b97 100644 --- a/cpu_ref/linkloader/include/ELFReloc.h +++ b/cpu_ref/linkloader/include/ELFReloc.h @@ -20,7 +20,6 @@ #include "ELFTypes.h" #include "utils/rsl_assert.h" -#include <llvm/ADT/OwningPtr.h> #include <string> #include <stdint.h> diff --git a/cpu_ref/linkloader/include/ELFSection.h b/cpu_ref/linkloader/include/ELFSection.h index 74c4c136..1548413a 100644 --- a/cpu_ref/linkloader/include/ELFSection.h +++ b/cpu_ref/linkloader/include/ELFSection.h @@ -18,7 +18,6 @@ #define ELF_SECTION_H #include "ELFTypes.h" -#include <llvm/ADT/OwningPtr.h> template <unsigned Bitwidth> class ELFSection { diff --git a/cpu_ref/linkloader/include/ELFSectionBits.h b/cpu_ref/linkloader/include/ELFSectionBits.h index 2d80c1a3..b6e45900 100644 --- a/cpu_ref/linkloader/include/ELFSectionBits.h +++ b/cpu_ref/linkloader/include/ELFSectionBits.h @@ -21,8 +21,6 @@ #include "ELFSection.h" #include "MemChunk.h" -#include <llvm/ADT/OwningPtr.h> - template <unsigned Bitwidth> class ELFSectionBits : public ELFSection<Bitwidth> { protected: diff --git a/cpu_ref/linkloader/include/ELFSectionHeader.h b/cpu_ref/linkloader/include/ELFSectionHeader.h index 78713158..a8881f20 100644 --- a/cpu_ref/linkloader/include/ELFSectionHeader.h +++ b/cpu_ref/linkloader/include/ELFSectionHeader.h @@ -19,7 +19,6 @@ #include "ELFTypes.h" -#include <llvm/ADT/OwningPtr.h> #include <stdint.h> class ELFSectionHeaderHelperMixin { diff --git a/cpu_ref/linkloader/include/ELFSectionHeaderTable.h b/cpu_ref/linkloader/include/ELFSectionHeaderTable.h index fb7f9ed6..3192cfe9 100644 --- a/cpu_ref/linkloader/include/ELFSectionHeaderTable.h +++ b/cpu_ref/linkloader/include/ELFSectionHeaderTable.h @@ -19,7 +19,6 @@ #include "ELFTypes.h" -#include <llvm/ADT/OwningPtr.h> #include <llvm/ADT/StringMap.h> #include <vector> diff --git a/cpu_ref/linkloader/include/ELFSymbol.h b/cpu_ref/linkloader/include/ELFSymbol.h index d78ba5a0..65a97cc4 100644 --- a/cpu_ref/linkloader/include/ELFSymbol.h +++ b/cpu_ref/linkloader/include/ELFSymbol.h @@ -20,8 +20,6 @@ #include "ELFTypes.h" #include "ELF.h" -#include <llvm/ADT/OwningPtr.h> - #include <string> #include <algorithm> diff --git a/cpu_ref/linkloader/include/impl/ELFObject.hxx b/cpu_ref/linkloader/include/impl/ELFObject.hxx index 27badd95..d0307de6 100644 --- a/cpu_ref/linkloader/include/impl/ELFObject.hxx +++ b/cpu_ref/linkloader/include/impl/ELFObject.hxx @@ -36,7 +36,7 @@ template <unsigned Bitwidth> template <typename Archiver> inline ELFObject<Bitwidth> * ELFObject<Bitwidth>::read(Archiver &AR) { - llvm::OwningPtr<ELFObjectTy> object(new ELFObjectTy()); + std::unique_ptr<ELFObjectTy> object(new ELFObjectTy()); // Read header object->header.reset(ELFHeaderTy::read(AR)); @@ -57,9 +57,9 @@ ELFObject<Bitwidth>::read(Archiver &AR) { object->stab.push_back(NULL); progbits_ndx.push_back(i); } else { - llvm::OwningPtr<ELFSectionTy> sec( + std::unique_ptr<ELFSectionTy> sec( ELFSectionTy::read(AR, object.get(), (*object->shtab)[i])); - object->stab.push_back(sec.take()); + object->stab.push_back(sec.release()); } } @@ -72,12 +72,12 @@ ELFObject<Bitwidth>::read(Archiver &AR) { for (size_t i = 0; i < progbits_ndx.size(); ++i) { size_t index = progbits_ndx[i]; - llvm::OwningPtr<ELFSectionTy> sec( + std::unique_ptr<ELFSectionTy> sec( ELFSectionTy::read(AR, object.get(), (*object->shtab)[index])); - object->stab[index] = sec.take(); + object->stab[index] = sec.release(); } - return object.take(); + return object.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/include/impl/ELFReloc.hxx b/cpu_ref/linkloader/include/impl/ELFReloc.hxx index 6b55e024..e60b66ea 100644 --- a/cpu_ref/linkloader/include/impl/ELFReloc.hxx +++ b/cpu_ref/linkloader/include/impl/ELFReloc.hxx @@ -32,7 +32,7 @@ ELFReloc_CRTP<Bitwidth>::readRela(Archiver &AR, size_t index) { return 0; } - llvm::OwningPtr<ELFRelocTy> sh(new ELFRelocTy()); + std::unique_ptr<ELFRelocTy> sh(new ELFRelocTy()); if (!sh->serializeRela(AR)) { // Unable to read the structure. Return NULL. @@ -47,7 +47,7 @@ ELFReloc_CRTP<Bitwidth>::readRela(Archiver &AR, size_t index) { // Set the section header index sh->index = index; - return sh.take(); + return sh.release(); } template <unsigned Bitwidth> @@ -60,7 +60,7 @@ ELFReloc_CRTP<Bitwidth>::readRel(Archiver &AR, size_t index) { return 0; } - llvm::OwningPtr<ELFRelocTy> sh(new ELFRelocTy()); + std::unique_ptr<ELFRelocTy> sh(new ELFRelocTy()); sh->r_addend = 0; if (!sh->serializeRel(AR)) { @@ -75,7 +75,7 @@ ELFReloc_CRTP<Bitwidth>::readRel(Archiver &AR, size_t index) { // Set the section header index sh->index = index; - return sh.take(); + return sh.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/include/impl/ELFSectionHeader.hxx b/cpu_ref/linkloader/include/impl/ELFSectionHeader.hxx index 78a54950..0c9568df 100644 --- a/cpu_ref/linkloader/include/impl/ELFSectionHeader.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSectionHeader.hxx @@ -41,7 +41,7 @@ ELFSectionHeader_CRTP<Bitwidth>::read(Archiver &AR, return 0; } - llvm::OwningPtr<ELFSectionHeaderTy> sh(new ELFSectionHeaderTy()); + std::unique_ptr<ELFSectionHeaderTy> sh(new ELFSectionHeaderTy()); if (!sh->serialize(AR)) { // Unable to read the structure. Return NULL. @@ -59,7 +59,7 @@ ELFSectionHeader_CRTP<Bitwidth>::read(Archiver &AR, // Set the owner elf object sh->owner = owner; - return sh.take(); + return sh.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/include/impl/ELFSectionHeaderTable.hxx b/cpu_ref/linkloader/include/impl/ELFSectionHeaderTable.hxx index 1f693a49..570cae57 100644 --- a/cpu_ref/linkloader/include/impl/ELFSectionHeaderTable.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSectionHeaderTable.hxx @@ -41,7 +41,7 @@ ELFSectionHeaderTable<Bitwidth>::read(Archiver &AR, ELFObjectTy *owner) { } // Allocate a new section header table and assign the owner. - llvm::OwningPtr<ELFSectionHeaderTable> tab(new ELFSectionHeaderTable()); + std::unique_ptr<ELFSectionHeaderTable> tab(new ELFSectionHeaderTable()); // Get ELF header ELFHeaderTy const *header = owner->getHeader(); @@ -53,7 +53,7 @@ ELFSectionHeaderTable<Bitwidth>::read(Archiver &AR, ELFObjectTy *owner) { AR.seek(header->getSectionHeaderTableOffset(), true); for (size_t i = 0; i < header->getSectionHeaderNum(); ++i) { - llvm::OwningPtr<ELFSectionHeaderTy> sh( + std::unique_ptr<ELFSectionHeaderTy> sh( ELFSectionHeaderTy::read(AR, owner, i)); if (!sh) { @@ -61,10 +61,10 @@ ELFSectionHeaderTable<Bitwidth>::read(Archiver &AR, ELFObjectTy *owner) { return 0; } - tab->table.push_back(sh.take()); + tab->table.push_back(sh.release()); } - return tab.take(); + return tab.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/include/impl/ELFSectionNoBits.hxx b/cpu_ref/linkloader/include/impl/ELFSectionNoBits.hxx index 6f9f7131..d77398d8 100644 --- a/cpu_ref/linkloader/include/impl/ELFSectionNoBits.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSectionNoBits.hxx @@ -28,7 +28,7 @@ template <unsigned Bitwidth> template <typename Archiver> inline ELFSectionNoBits<Bitwidth> * ELFSectionNoBits<Bitwidth>::read(Archiver &AR, ELFSectionHeaderTy const *sh) { - llvm::OwningPtr<ELFSectionNoBits> result(new ELFSectionNoBits()); + std::unique_ptr<ELFSectionNoBits> result(new ELFSectionNoBits()); if (!result->chunk.allocate(sh->getSize())) { return NULL; @@ -36,7 +36,7 @@ ELFSectionNoBits<Bitwidth>::read(Archiver &AR, ELFSectionHeaderTy const *sh) { result->sh = sh; - return result.take(); + return result.release(); } #endif // ELF_SECTION_NOBITS_HXX diff --git a/cpu_ref/linkloader/include/impl/ELFSectionProgBits.hxx b/cpu_ref/linkloader/include/impl/ELFSectionProgBits.hxx index cdec6500..93919c8c 100644 --- a/cpu_ref/linkloader/include/impl/ELFSectionProgBits.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSectionProgBits.hxx @@ -35,7 +35,7 @@ ELFSectionProgBits<Bitwidth>::read(Archiver &AR, ELFSectionHeaderTy const *sh) { int machine = owner->getHeader()->getMachine(); ELFSectionProgBits *secp = new ELFSectionProgBits(machine); - llvm::OwningPtr<ELFSectionProgBits> result(secp); + std::unique_ptr<ELFSectionProgBits> result(secp); size_t max_num_stubs = 0; // Align section boundary to 4 bytes. size_t section_size = (sh->getSize() + 3) / 4 * 4; @@ -82,7 +82,7 @@ ELFSectionProgBits<Bitwidth>::read(Archiver &AR, return NULL; } - return result.take(); + return result.release(); } #endif // ELF_SECTION_PROGBITS_HXX diff --git a/cpu_ref/linkloader/include/impl/ELFSectionRelTable.hxx b/cpu_ref/linkloader/include/impl/ELFSectionRelTable.hxx index 5a1a8536..42c7a7ab 100644 --- a/cpu_ref/linkloader/include/impl/ELFSectionRelTable.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSectionRelTable.hxx @@ -57,7 +57,7 @@ ELFSectionRelTable<Bitwidth>::read(Archiver &AR, rsl_assert(sh->getType() == SHT_REL || sh->getType() == SHT_RELA); - llvm::OwningPtr<ELFSectionRelTable> rt(new ELFSectionRelTable()); + std::unique_ptr<ELFSectionRelTable> rt(new ELFSectionRelTable()); // Seek to the start of the table AR.seek(sh->getOffset(), true); @@ -84,7 +84,7 @@ ELFSectionRelTable<Bitwidth>::read(Archiver &AR, return 0; } - return rt.take(); + return rt.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/include/impl/ELFSectionStrTab.hxx b/cpu_ref/linkloader/include/impl/ELFSectionStrTab.hxx index 4e9eb4e3..f8944ca6 100644 --- a/cpu_ref/linkloader/include/impl/ELFSectionStrTab.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSectionStrTab.hxx @@ -20,7 +20,6 @@ #include "utils/helper.h" #include "utils/raw_ostream.h" -#include <llvm/ADT/OwningPtr.h> #include <llvm/Support/Format.h> #include <llvm/Support/raw_ostream.h> @@ -30,7 +29,7 @@ ELFSectionStrTab<Bitwidth> * ELFSectionStrTab<Bitwidth>::read(Archiver &AR, ELFSectionHeaderTy const *sh) { - llvm::OwningPtr<ELFSectionStrTab> st(new ELFSectionStrTab()); + std::unique_ptr<ELFSectionStrTab> st(new ELFSectionStrTab()); st->buf.resize(sh->getSize()); // Save section_header @@ -46,7 +45,7 @@ ELFSectionStrTab<Bitwidth>::read(Archiver &AR, return 0; } - return st.take(); + return st.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/include/impl/ELFSectionSymTab.hxx b/cpu_ref/linkloader/include/impl/ELFSectionSymTab.hxx index b1793833..2b796e39 100644 --- a/cpu_ref/linkloader/include/impl/ELFSectionSymTab.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSectionSymTab.hxx @@ -89,7 +89,7 @@ ELFSectionSymTab<Bitwidth>::read(Archiver &AR, ELFObjectTy *owner, ELFSectionHeaderTy const *sh) { - llvm::OwningPtr<ELFSectionSymTabTy> st(new ELFSectionSymTabTy()); + std::unique_ptr<ELFSectionSymTabTy> st(new ELFSectionSymTabTy()); // Assert that entry size will be the same as standard. rsl_assert(sh->getEntrySize() == TypeTraits<ELFSymbolTy>::size); @@ -108,7 +108,7 @@ ELFSectionSymTab<Bitwidth>::read(Archiver &AR, return 0; } - return st.take(); + return st.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/include/impl/ELFSymbol.hxx b/cpu_ref/linkloader/include/impl/ELFSymbol.hxx index b3c6087e..d4579ed3 100644 --- a/cpu_ref/linkloader/include/impl/ELFSymbol.hxx +++ b/cpu_ref/linkloader/include/impl/ELFSymbol.hxx @@ -51,7 +51,7 @@ ELFSymbol_CRTP<Bitwidth>::read(Archiver &AR, return 0; } - llvm::OwningPtr<ELFSymbolTy> sh(new ELFSymbolTy()); + std::unique_ptr<ELFSymbolTy> sh(new ELFSymbolTy()); if (!sh->serialize(AR)) { // Unable to read the structure. Return NULL. @@ -69,7 +69,7 @@ ELFSymbol_CRTP<Bitwidth>::read(Archiver &AR, // Set the owner elf object sh->owner = owner; - return sh.take(); + return sh.release(); } template <unsigned Bitwidth> diff --git a/cpu_ref/linkloader/main.cpp b/cpu_ref/linkloader/main.cpp index 2ead7ec9..072595f4 100644 --- a/cpu_ref/linkloader/main.cpp +++ b/cpu_ref/linkloader/main.cpp @@ -19,8 +19,6 @@ #include "utils/serialize.h" #include "ELF.h" -#include <llvm/ADT/OwningPtr.h> - #include <fcntl.h> #include <stdlib.h> #include <sys/mman.h> @@ -142,7 +140,7 @@ void *find_sym(void *context, char const *name) { template <unsigned Bitwidth, typename Archiver> void dump_and_run_object(Archiver &AR, int argc, char **argv) { - llvm::OwningPtr<ELFObject<Bitwidth> > object(ELFObject<Bitwidth>::read(AR)); + std::unique_ptr<ELFObject<Bitwidth> > object(ELFObject<Bitwidth>::read(AR)); if (!object) { llvm::errs() << "ERROR: Unable to load object\n"; diff --git a/java/tests/HelloComputeNDK/Android.mk b/java/tests/HelloComputeNDK/Android.mk index 5dbe19fd..58b95aa4 100644 --- a/java/tests/HelloComputeNDK/Android.mk +++ b/java/tests/HelloComputeNDK/Android.mk @@ -28,4 +28,4 @@ LOCAL_SDK_VERSION := 14 LOCAL_JNI_SHARED_LIBRARIES := libhellocomputendk include $(BUILD_PACKAGE) -include $(LOCAL_PATH)/libhellocomputendk/Android.mk
\ No newline at end of file +include $(LOCAL_PATH)/libhellocomputendk/Android.mk diff --git a/java/tests/HelloComputeNDK/libhellocomputendk/Android.mk b/java/tests/HelloComputeNDK/libhellocomputendk/Android.mk index 815d530b..2b197f1d 100644 --- a/java/tests/HelloComputeNDK/libhellocomputendk/Android.mk +++ b/java/tests/HelloComputeNDK/libhellocomputendk/Android.mk @@ -28,8 +28,9 @@ LOCAL_C_INCLUDES += frameworks/rs/cpp LOCAL_C_INCLUDES += frameworks/rs LOCAL_C_INCLUDES += external/stlport/stlport bionic/ bionic/libstdc++/include +LOCAL_LDFLAGS := -Wl,-Bsymbolic LOCAL_SHARED_LIBRARIES := libdl liblog libjnigraphics -LOCAL_STATIC_LIBRARIES := libRScpp_static libstlport_static +LOCAL_STATIC_LIBRARIES := libRScpp_static LOCAL_32_BIT_ONLY := true include $(BUILD_SHARED_LIBRARY) |
