jewel: build/ops: i386 tarball gitbuilder failure on master #10855

Merged
merged 4 commits into from Oct 14, 2016

Projects

None yet

5 participants

ldachary and others added some commits Aug 25, 2016
@ldachary ldachary Revert "common: add int64_t template for strict_si_cast()"
This reverts commit e3a99c0.
518883d
@tchaikov @ldachary tchaikov common/config: cast OPT_U32 options using uint32_t
the OPT_U32 options was translated using strict_si_cast<int>(), and then
cast the converted result to uint32_t. this could cause integer
underflow. we could have lifted the burden of checking invalid input
from the user of this option to the strict_si_cast<>() function. so in
this change, we use strict_si_cast<uint32_t>() instead, before casting
the converted value into `uint32_t`.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit b7babd6)
f7cd284
@vumrao @ldachary vumrao common: add int64_t template for strict_si_cast()
Signed-off-by: Vikhyat Umrao <vumrao@redhat.com>
(cherry picked from commit 8e429d0)
d93eda8
@tchaikov @ldachary tchaikov common: instantiate strict_si_cast<long> not strict_si_cast<int64_t>
this fixes the build on armf.

on 32bit platforms, cstdint is very likely to

 typedef long long int int64_t;

this results in compilation error like

 `common/strtol.cc:190:75: error: duplicate explicit instantiation of 'T
 strict_si_cast(const char, std::string) [with T = long long int;
 std::string = std::basic_string]'

 [-fpermissive]
 template int64_t strict_si_cast(const char *str, std::string *err);
 ^`

we can address this by instantiate the primitive type of `long long`
instead of `in64_t`.

Fixes: http://tracker.ceph.com/issues/16398
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 31db4c5)
117aa35
@dachary dachary added this to the jewel milestone Aug 25, 2016
@dachary dachary self-assigned this Aug 25, 2016
@dachary
Member
dachary commented Aug 25, 2016

Note that the revert is meant to re-order the cherry-pick. They otherwise conflict because the reverted commit has been cherry-picked before its parent.

@dachary
Member
dachary commented Oct 11, 2016

jenkins test this please

@dachary
Member
dachary commented Oct 14, 2016

@liewegas does this backport look good to merge ? It passed the rados (http://tracker.ceph.com/issues/17487#note-12), upgrade/jewel-x and upgrade/hammer-x (http://tracker.ceph.com/issues/17487#note-15) suites (except for two bugs that are, I believe, unrelated)

@liewegas liewegas was assigned by dachary Oct 14, 2016
@dachary
Member
dachary commented Oct 14, 2016

jenkins test this please (no logs)

@liewegas liewegas merged commit f9c969e into ceph:jewel Oct 14, 2016

0 of 2 checks passed

Signed-off-by one or more commits in this PR are not signed
Details
default Build finished.
Details
@theanalyst theanalyst changed the title from jewel: i386 tarball gitbuilder failure on master to "jewel: build/ops: i386 tarball gitbuilder failure on master" Nov 17, 2016
@theanalyst theanalyst changed the title from "jewel: build/ops: i386 tarball gitbuilder failure on master" to jewel: build/ops: i386 tarball gitbuilder failure on master Nov 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment