Merge "Change size_t member of hidl_memory type to uint64_t"
am: 1658ce92e3
Change-Id: I6dda25e98d4b5f1652aa38cfb56e7bf2b55cfe08
diff --git a/base/include/hidl/HidlSupport.h b/base/include/hidl/HidlSupport.h
index 7737011..14afce3 100644
--- a/base/include/hidl/HidlSupport.h
+++ b/base/include/hidl/HidlSupport.h
@@ -270,7 +270,7 @@
return mName;
}
- size_t size() const {
+ uint64_t size() const {
return mSize;
}
@@ -280,9 +280,9 @@
static const size_t kOffsetOfName;
private:
- hidl_handle mHandle;
- size_t mSize;
- hidl_string mName;
+ hidl_handle mHandle __attribute__ ((aligned(8)));
+ uint64_t mSize __attribute__ ((aligned(8)));
+ hidl_string mName __attribute__ ((aligned(8)));
};
////////////////////////////////////////////////////////////////////////////////
@@ -293,6 +293,7 @@
: mBuffer(NULL),
mSize(0),
mOwnsBuffer(true) {
+ static_assert(hidl_vec<T>::kOffsetOfBuffer == 0, "wrong offset");
}
hidl_vec(const hidl_vec<T> &other) : hidl_vec() {
diff --git a/transport/HidlBinderSupport.cpp b/transport/HidlBinderSupport.cpp
index 746c2f9..55f9a91 100644
--- a/transport/HidlBinderSupport.cpp
+++ b/transport/HidlBinderSupport.cpp
@@ -30,6 +30,8 @@
const size_t hidl_memory::kOffsetOfHandle = offsetof(hidl_memory, mHandle);
const size_t hidl_memory::kOffsetOfName = offsetof(hidl_memory, mName);
+static_assert(hidl_memory::kOffsetOfHandle == 0, "wrong offset");
+static_assert(hidl_memory::kOffsetOfName == 24, "wrong offset");
status_t readEmbeddedFromParcel(hidl_memory * /* memory */,
const Parcel &parcel, size_t parentHandle, size_t parentOffset) {
@@ -69,6 +71,7 @@
}
// static
const size_t hidl_string::kOffsetOfBuffer = offsetof(hidl_string, mBuffer);
+static_assert(hidl_string::kOffsetOfBuffer == 0, "wrong offset");
status_t readEmbeddedFromParcel(hidl_string * /* string */,
const Parcel &parcel, size_t parentHandle, size_t parentOffset) {