[
https://issues.apache.org/jira/browse/STDCXX-1072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Liviu Nicoara closed STDCXX-1072.
-
[Oracle Solaris/SPARCV8] stricter mutex alignment requirements
--
Key: STDCXX-1072
URL: https://issues.apache.org/jira/browse/STDCXX-1072
Project: C++ Standard Library
Issue Type: Bug
Components: Thread Safety
Affects Versions: 4.2.1, 4.2.x, 4.3.x, 5.0.0
Environment: Oracle Solaris on SPARC V8 (or V9 emulation?) hardware.
Reporter: Liviu Nicoara
Assignee: Liviu Nicoara
Labels: SPARC, Solaris, V8, alignment, mutex
Fix For: 4.2.x, 4.3.x, 5.0.0
Attachments: after-runall.log, before-runall.log, patch.2.diff,
patch.diff
Original Estimate: 4h
Remaining Estimate: 4h
The issue has been reported in STDCXX-1040, then STDCXX-1066. The originator
was apparently an improvement (as a response to CR 6296770:
http://tinyurl.com/8ohjsgl) shipped with KU 137111-01
(http://tinyurl.com/ceet6ec) which requires stricter alignment than the
machine word for userland mutexes.
Quoting here the Fujitsu patch notes (in case it goes away):
{quote}
{noformat}
2) When an application using the mutex lock or rw lock in the way shown below
is executed. (*1, *2) ...
*2) ... example of programming that causes the ... problem.
In the case where the problem occurs
int *ip;
mutex_t *mp;
ip = (int *) malloc(sizeof (int) + sizeof (mutex_t));
mp = (mutex_t *) (ip + 1);
/* The address is used with a modification */
In the case where the problem does not occur -1
mutex_t mp; /* Obtained statically */
In the case where the problem does not occur -2
mutex_t *mp;
mp = (mutex_t *) malloc(sizeof (mutex_t));
/* The address is used without any modifications */
{noformat}
{quote}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira