When asked to step out, we now store the frame pointer of the current
stack frame. Upon hitting our temporary breakpoint, we then verify that
the current frame pointer is in fact in the previous frame. If not, we
reinstate the breakpoint and continue running.
Calling SetIcon(NULL) calls MakeEmpty() that tries to delete all
manipulators on fState. So we may only delete fState after that call.
Also reported as CID 10856.
- Add accessor for return type.
- Implement DW_AT_artificial parsing.
- Store the subprogram's template parameters and provide accessors
for them as well. Not used yet but will be handy later if/when we
want to expose the instantiated types somewhere in the user
interface when stepping into such a function.
When forking a team, copy on write areas (and therefore caches) are
created for all the areas in the parent team, but they were always
created as swappable. If the parent team had some B_FULL_LOCK areas,
which aren't swappable, the wrong type of cache would be created which
lead to them not being mergeable later on (causing a panic).
Comments about a possibly cleaner way to figure out the cache type
would be welcome.
* Define a MEMALIGN macro that is either just defined to malloc() or
to the actual memalign() depending on where KMessage is used. We only
use memalign() inside the kernel and libroot.
* Add a comment to the macro explaining that this allows the use of
special heap implementations that might return unaligned buffers for
debugging purposes.
- If multiple nested namespaces were involved in a name,
GetFullyQualifiedDIEName() would erroneously wipe out each one
as it walked up, leaving you with only the top level namespace.
- Don't touch the output parameter unless we're certain we succeeded.
- Use the artificial attribute to more intelligently determine when to omit
parameters. Fixes the first parameter on static class functions being
skipped incorrectly.
- Correctly handle varargs functions.
* Yet more nice way to fix Coverity issues fixed by hrev43460.
Thanks Rene Gollent for pointing it out!
* Potential Coverity issues fixed for sis19x driver too.
The change in hrev43405 wasn't correct, as it put the reference
object definition after the one of the corresponding locker, causing
the reference to be released before the unlock would happen.
Finally fixes#8187. Thanks Ingo for pointing that out.
* The call to _TeamDied() causes the team that the iterator points to
be removed from the map. Therefore the iterator becomes invalid and
may not be accessed anymore (including incrementing it). As we've had
to unlock, anything might have happened to to map, so take the safe
route and just start over.
* For each dead team that was found the AppManager was unlocked, but
there were no balancing lock calls, therefore causing the lock count
to get corrupted.
While this isn't really correct, it works for the use case it is
intended and doesn't open the can of worms we get when trying to do
memalign() across platforms (due to build tools use of KMessage).
* If we cloned the buffer due to misalignment, only free the old buffer
if we actually own it (i.e. if it was allocated by us).
* Set the KMESSAGE_OWNS_BUFFER flag after cloning the buffer. Previously
the buffer was leaked in the clone case.
* If there is an alignment requirement then better use memalign() to
make sure that it is met.
* Since the BMessageAdapter possibly sets a buffer directly, make a
properly aligned copy of the buffer if it happens to be misaligned.
* Not including malloc.h caused the memalign() signature to not be a C
signature, therefore leading to linking errors. Fix the missing
include and explicitly add extern "C" as well.
* Some remaining asterisk style cleanup.
* This document was written during GCI 2011
by Peter Poláčik and is explaining how to use
makefile and Jamfile engines to start and
setup new development projects for Haiku.
Signed-off-by: Siarzhuk Zharski <zharik@gmx.li>