Summary: | [4.5/4.6 regression] 30_threads/condition_variable_any/cons/1.cc fails with -fstack-protector (built with 4.4, run with 4.5) | ||
---|---|---|---|
Product: | gcc | Reporter: | Matthias Klose <doko> |
Component: | libstdc++ | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | gcc-bugs, redi |
Priority: | P3 | ||
Version: | 4.5.0 | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: |
Description
Matthias Klose
2010-06-26 10:19:31 UTC
Jon, can you have a quick look to this? Thanks in advance condition_variable_any was completely broken in 4.4 and its ABi changed when we implemented it for real. Obviously we can't preserve ABI between a broken, incomplete implementation and a working one, so I'm not really worried about this "bug". If anyone was able to use the condition_variable_any in 4.4 I'd like to know how they did it! closing for the reasons given above (In reply to comment #2) > condition_variable_any was completely broken in 4.4 and its ABi changed when we > implemented it for real. Obviously we can't preserve ABI between a broken, > incomplete implementation and a working one, so I'm not really worried about > this "bug". If anyone was able to use the condition_variable_any in 4.4 I'd > like to know how they did it! We should avoid exporting symbols for something that is broken or supposed to change its ABI. I think this is what was done in the past, why wasn't it done here? A (small) mistake? I think the hope at the time was that Chris Fairles would soon contribute the rest of the work and the complete facility shipped the next major release series. That didn't happen, unfortunately, and instead of reverting all the first changes, we shipped just very few unusable bits, among which a couple exported. Finally, 4.6 will be fine. Actually 4.5 is fine too ;) |