Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10432: 32-bit offset_ptr crashes on 64-bit platform
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-09-17 20:02:48
#10432: 32-bit offset_ptr crashes on 64-bit platform
-------------------------------+--------------------------
Reporter: andysem | Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: interprocess
Version: Boost 1.56.0 | Severity: Problem
Resolution: | Keywords: offset_ptr
-------------------------------+--------------------------
Comment (by igaztanaga):
Using signed integers is problematic because overflow is undefined
behaviour, there were problems with some compilers. And yes, offset_ptr
was not thought to be used with integers smaller than size_t (or more
strictly, smaller than uintptr_t). The option to customize the OffsetType
was to allow interoperability between 32 and 64 bit applications using 64
bit offset types.
Many times, in a 64 bit OS, a 32 bit offset type can't hold the distance
between a stack variable and a shared memory address, as the OS can place
them further than 4GB.
This is not documented and it should be explained.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10432#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC