From: Luciano Lo Giudice Date: Wed, 23 Feb 2022 19:01:58 +0000 (-0300) Subject: rgw,test: Fix build errors in 32 bit platforms X-Git-Tag: v18.0.0~411^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F45135%2Fhead;p=ceph.git rgw,test: Fix build errors in 32 bit platforms When building on 32 bit platforms (tested on armhf), 2 errors were detected: The first involves the compiler being unable to disambiguate a call to deserialize an integer (apparently because there isn't a specialization for it). The second involves invalid usage of the builtin reinterpret_cast. Signed-off-by: Luciano Lo Giudice --- diff --git a/src/rgw/store/dbstore/sqlite/sqliteDB.cc b/src/rgw/store/dbstore/sqlite/sqliteDB.cc index 649c644bebfa..3727293d9dae 100644 --- a/src/rgw/store/dbstore/sqlite/sqliteDB.cc +++ b/src/rgw/store/dbstore/sqlite/sqliteDB.cc @@ -580,10 +580,13 @@ static int list_lc_head(const DoutPrefixProvider *dpp, DBOpInfo &op, sqlite3_stm if (!stmt) return -1; + int64_t start_date; + op.lc_head.index = (const char*)sqlite3_column_text(stmt, LCHeadIndex); op.lc_head.head.set_marker((const char*)sqlite3_column_text(stmt, LCHeadMarker)); - SQL_DECODE_BLOB_PARAM(dpp, stmt, LCHeadStartDate, op.lc_head.head.get_start_date(), sdb); + SQL_DECODE_BLOB_PARAM(dpp, stmt, LCHeadStartDate, start_date, sdb); + op.lc_head.head.get_start_date() = start_date; return 0; } @@ -2803,7 +2806,7 @@ int SQLInsertLCHead::Bind(const DoutPrefixProvider *dpp, struct DBOpParams *para SQL_BIND_TEXT(dpp, stmt, index, params->op.lc_head.head.get_marker().c_str(), sdb); SQL_BIND_INDEX(dpp, stmt, index, p_params.op.lc_head.start_date, sdb); - SQL_ENCODE_BLOB_PARAM(dpp, stmt, index, params->op.lc_head.head.get_start_date(), sdb); + SQL_ENCODE_BLOB_PARAM(dpp, stmt, index, static_cast(params->op.lc_head.head.start_date), sdb); out: return rc; diff --git a/src/test/libcephfs/ceph_pthread_self.h b/src/test/libcephfs/ceph_pthread_self.h index 4c0c98f6ee3f..9e3cdfa99e20 100644 --- a/src/test/libcephfs/ceph_pthread_self.h +++ b/src/test/libcephfs/ceph_pthread_self.h @@ -25,7 +25,7 @@ static uint64_t ceph_pthread_self() { static_assert(std::is_convertible_v || std::is_pointer_v, "we need to use pthread_self() for the owner parameter"); - return reinterpret_cast(me); + return static_cast(me); } #endif