History log of /haiku-fatelf/src/apps/debugger/dwarf/DwarfFile.h
Revision Date Author Comments
# 16b8573b 23-Dec-2012 Rene Gollent <anevilyak@gmail.com>

Numerous fixes to stack unwinding for .eh_frame.

- Add address size parameter to EvaluateExpression since the compilation
unit may not be available (i.e. in non-debug code). Accordingly, also
add accessor for address size to DwarfExpressionEvaluationContext,
and adjust callers accordingly.

- Correctly handle augmentation 'P'. This one consists of a data byte
describing the address encoding, followed by the address of the
personality function encoded in the aforementioned format. Not
skipping this correctly was resulting in us retrieving the wrong
FDE address format in e.g. CIEs encoded with augmentation 'zPLR'.

- The address range should be retrieved as value only without accounting
for the relative offset portion of the address encoding format. Fixes
some issues where we'd pick the wrong FDE to use for unwinding due
to us misinterpreting it as covering a far larger PC range than it
in fact did.

- DW_CFA_set_loc also needs to respect the encoded address format.

Overall, these changes fix a number of regressions introduced by the
previous commits, and also mean that stack unwinding for x86-64 should
now work as expected in all cases where either debug information or
an exception table is available.


# 83a52221 21-Dec-2012 Rene Gollent <anevilyak@gmail.com>

Cleanup.

- Rename _ParseCIEAugmentation to _ParseCIEHeader since that more
accurately reflects what it does.

- Refactor a bit to avoid having to parse the header twice, and
simplify various places as a result.


# 96a4619b 21-Dec-2012 Rene Gollent <anevilyak@gmail.com>

Make use of augmentation if available.

- Pull out a _ParseCIEAugmentation() from _ParseCIE().

- If .eh_frame is being used, do a quick parse of the CIE up front
in order to determine the augmentation (if any), and use it to
retrieve addresses in the appropriate format. This fixes stack
unwinding on x86-64, and possibly other cases where the address
encoding didn't correspond to architectural target size in absolute
address format.


# 5bda396e 16-Dec-2012 Rene Gollent <anevilyak@gmail.com>

Refactor Dwarf*DebugInfo to be able to work with limited info.

- DwarfImageDebugInfo and DwarfFile will now allow us to construct
DWARF debug info objects even if the only section available for
use is .eh_frame. This essentially allows us to use CFI-based
unwinding even for release executables (assuming C++ is involved),
which means we can properly unwind the stack even for binaries
compiled with fomit-frame-pointer. This becomes more important
for x86-64, since omit is the ABI default there.

- Pull a GetFunctionsFromSymbols() out of DebuggerImageDebugInfo. This
is shared between DebuggerImageDebugInfo and DwarfImageDebugInfo for
creating debug information entries in the absence of debugging
information.


# 224f7510 29-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Implement support for separate debug info files.

- When loading an image, we now check if it has a .gnu_debuglink section.
If so, we try to load the linked file for our symbolic debugging information.
The file is searched for with the following rules:
1) If self-contained app, app image is looked for in ./debug while
library/add-on images are looked for in ../debug/.
2) If the image in question is in one of the global locations
(/boot/{common,system,home/config}/{lib,add-ons}), we search
in develop/debug for the corresponding global dir.

Implements #8135.


# c4120026 11-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Refactor previous commit.

- Keep knowledge of the existence and need to search the different
frame sections contained within DwarfFile.


# dfa21dfe 11-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Fix #8508.

- When attempting to unwind the call frame, we now search for the appropriate
FDE in both .debug_frame and .eh_frame. This mirrors gdb's behavior and
works around the ever-changing whims of the gcc developers as to which
section the requisite FDE/CIE resides in.


# 0573015d 20-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Introduce a flag in ExpressionEvaluationContext in order to distinguish between
cases where no object pointer is available vs the object pointer being present
but NULL, which would previously not be pushed onto the stack, leading to
expression evaluation failures.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42274 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 521f1d05 22-Dec-2010 Rene Gollent <anevilyak@gmail.com>

- Add some extra methods to DataReader which obtain a new reader with additional restrictions.
- Use new methods to simplify a few places in DwarfFile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39918 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a1ce93b 11-Nov-2010 Rene Gollent <anevilyak@gmail.com>

When computing absolute addresses, take the image relocation
delta into account. Fixes retrieving the addresses and
consequently values of static variables.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39407 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be649db0 02-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for reading gcc 4 generated .eh_frame sections. The main
difference to gcc 2 .eh_frame sections is the initial location field in the
FDEs, which is a relocated absolute address with gcc 2, but a relative address
with gcc 4.
* Recognize and skip the additional augmentations gcc 4 puts in the .eh_frame
sections contain. We might want/need to interpret some of them, but, since
I haven't found actual documentation for them yet, currently they are just
ignored.
* DwarfFile::UnwindCallFrame():
- Correctly support CIE offsets in .eh_frame sections. Unlike in .debug_frame
they are current position relative back offsets.
- Cleaned up some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39276 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 797aaa4b 06-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

gcc 2.95.3 doesn't generate a .debug_frame section. Fortunately it generates a
.eh_frame section which seems to have almost identical contents (haven't found
any specification). So now we use .eh_frame with minor tweaks, when
.debug_frame is not available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33914 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d054be0d 09-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the data location resolution methods from StackFrameDebugInfo to the
respective Type classes. StackFrameDebugInfo is pretty much out of work now,
but maybe something comes up later.
* Renamed GlobalTypeLookupContext to GlobalTypeCache and renamed its methods.
* A TeamDebugInfo does now have a GlobalTypeCache which is used for resolving
types. Formerly it was created per stack frame, so all types had to be
resolved after each single step. Single-stepping is usably fast again.
The disadvantage is that DWARF theoretically allows types properties to
depend on instruction/frame/frame base pointer and we don't support that
anymore. I can't think of a reasonable application for that feature, though.
* Refactored DwarfStackFrameDebugInfo:
- Moved the type classes into new DwarfTypes.{h,cpp}.
- Moved the creation of types into new class DwarfTypeFactory.
- Added class DwarfTypeContext which bundles all the dependencies of the type
classes.
* Made DwarfFile a BReferenceable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33495 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d82c6dd 26-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Clarified the location expression evaluation semantics -- the ValueLocations
returned by the DWARF layer need to be translated to be usable in the generic
code.
* DwarfFile::EvaluateDynamicValue(): Added optional parameter to return the type
of the evaluated value, if available.
* Added source language info attribute to CompilationUnit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33313 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e72ebfc 20-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* More work on retrieving local variable values. Address and compound types can
now be inspected. Still work in progress -- bit fields and arrays don't work
correctly yet nor does type lookup beyond the current compilation unit.
* Made most of the debugger output configurable via a config header. By default
it's much less noisy now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33217 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 99361109 16-Jul-2009 Rene Gollent <anevilyak@gmail.com>

gcc2 build fix.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31615 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d315bfd5 16-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added class ValueLocation to represent a location of a value on the target
machine.
* DWARF:
- Various additions to the DIE classes.
- DwarfExpressionEvaluationContext:
- Added support for location expressions and thus the missing DW_OP_piece
and DW_OP_bit_piece operations.
- Fixed some deviations from the specs.
- Added debug output.
- DwarfFile:
- Added missing evaluation of CFA expression rules.
- Added service methods to evaluate expressions, location expressions,
and constant and dynamic values.
* Added model classes for representing types and variables. Particularly the
types part is not finished yet.
* StackFrame does now contain parameters and local variables.
* Added DwarfInterfaceFactory, which creates implementation objects for the
types, as well as variables objects. It's even less finished.
* DwarfImageDebugInfo::CreateFrame(): Resolve function parameters and add them
to the stack frame. No local variables yet.
* Added the beginnings of a variables view. Only lists the names of parameters
and local variables (of understood types) ATM.
* Renamed RegisterView to RegistersView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31614 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3c33a74c 14-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Rather resolve range lists lazily. We need them for all functions, but there
are a lot more DIEs that have range lists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31586 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 106c4d40 13-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of dwarf_{addr,off,size}_t. Consequently use 64 bit types instead.
* Made the DWARF code fully 64 bit aware (hopefully).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31546 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f7526300 13-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* DWARF: Implemented parsing the DWARF frame info and evaluating it (save for
DWARF expressions). Several related new classes: CfaRule[Set], CfaContext,
DwarfTargetInterface (for accessing target registers and memory).
* Implemented DwarfImageDebugInfo::CreateFrame(), so the DWARF frame info is
used for unwinding the stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31540 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91c6759f 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added parsing the .debug_line header for each compilation unit and attaching
the include directory and source file names to CompilationUnit.
* Added DwarfUtils::GetDeclarationLocation() which retrieves the respective
source file name and line/column index for a given DIE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31325 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b60969c 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed ArchitectureTypes.h to Types.h.
* Created "types" subdirectory for basic types and moved Types.h,
SourceLocation, TargetAddressRange there.
* Added TargetAddressRangeList, representing a list of address ranges.
* Array: Added copy constructor and assignment operator.
* Added DwarfFunctionDebugInfo.
* ElfFile: Also read the program headers and provide access to the segment
information.
* DWARF:
- Some work on DIECompileUnitBase and DIESubprogram to handle attributes we
need.
- Added DwarfUtils class which provides static utility methods. Currently some
to get DIE names. Only provisionally implemented yet.
- Read range list attribute values from the .debug_ranges section. Extended
AttributeValue to handle them correctly (ref-counting).
* DwarfImageDebugInfo:
- Implemented GetFunctions() for real, i.e. we return functions for all
subprogram debug info entries we find (those that refer to actual
functions, that is).
- Implemented the fallback part of LoadSourceCode() (reading the code from the
file and disassembling it).

Things should hopefully work as before, just a bit slower and with less accurate
function names, if DWARF debug info is available. Promising, eh? ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c3612f4 27-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Manage CompilationUnits in a BObjectList instead of a DoublyLinkedList for
nicer access.
* A CompilationUnit does now know its debug info entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31282 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a7112b3 27-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renaming and coding moving.
* Added locking to DwarfManager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31279 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 224f75100b15ee71dce0b0e551efd40236ca8b54 29-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Implement support for separate debug info files.

- When loading an image, we now check if it has a .gnu_debuglink section.
If so, we try to load the linked file for our symbolic debugging information.
The file is searched for with the following rules:
1) If self-contained app, app image is looked for in ./debug while
library/add-on images are looked for in ../debug/.
2) If the image in question is in one of the global locations
(/boot/{common,system,home/config}/{lib,add-ons}), we search
in develop/debug for the corresponding global dir.

Implements #8135.


# c4120026a5c8c365a57917ea923779c07df9aea0 11-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Refactor previous commit.

- Keep knowledge of the existence and need to search the different
frame sections contained within DwarfFile.


# dfa21dfeabe22cd7df5de50e21bf1ad3678454b8 11-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Fix #8508.

- When attempting to unwind the call frame, we now search for the appropriate
FDE in both .debug_frame and .eh_frame. This mirrors gdb's behavior and
works around the ever-changing whims of the gcc developers as to which
section the requisite FDE/CIE resides in.


# 0573015d14887ade1a081baa04dcb7f8da8d19b7 20-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Introduce a flag in ExpressionEvaluationContext in order to distinguish between
cases where no object pointer is available vs the object pointer being present
but NULL, which would previously not be pushed onto the stack, leading to
expression evaluation failures.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42274 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 521f1d058d89a669cd62ab584379b15c48c8a944 22-Dec-2010 Rene Gollent <anevilyak@gmail.com>

- Add some extra methods to DataReader which obtain a new reader with additional restrictions.
- Use new methods to simplify a few places in DwarfFile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39918 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a1ce93bc72bfa23e0f46642c256aa735fb80426 11-Nov-2010 Rene Gollent <anevilyak@gmail.com>

When computing absolute addresses, take the image relocation
delta into account. Fixes retrieving the addresses and
consequently values of static variables.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39407 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be649db06f135822fc89b2d3f22ecda51c3a4171 02-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for reading gcc 4 generated .eh_frame sections. The main
difference to gcc 2 .eh_frame sections is the initial location field in the
FDEs, which is a relocated absolute address with gcc 2, but a relative address
with gcc 4.
* Recognize and skip the additional augmentations gcc 4 puts in the .eh_frame
sections contain. We might want/need to interpret some of them, but, since
I haven't found actual documentation for them yet, currently they are just
ignored.
* DwarfFile::UnwindCallFrame():
- Correctly support CIE offsets in .eh_frame sections. Unlike in .debug_frame
they are current position relative back offsets.
- Cleaned up some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39276 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 797aaa4bde26f541c4bfe77c0308e32ba513326b 06-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

gcc 2.95.3 doesn't generate a .debug_frame section. Fortunately it generates a
.eh_frame section which seems to have almost identical contents (haven't found
any specification). So now we use .eh_frame with minor tweaks, when
.debug_frame is not available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33914 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d054be0d8c41431d611f41171232b0f75ec6f30f 09-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the data location resolution methods from StackFrameDebugInfo to the
respective Type classes. StackFrameDebugInfo is pretty much out of work now,
but maybe something comes up later.
* Renamed GlobalTypeLookupContext to GlobalTypeCache and renamed its methods.
* A TeamDebugInfo does now have a GlobalTypeCache which is used for resolving
types. Formerly it was created per stack frame, so all types had to be
resolved after each single step. Single-stepping is usably fast again.
The disadvantage is that DWARF theoretically allows types properties to
depend on instruction/frame/frame base pointer and we don't support that
anymore. I can't think of a reasonable application for that feature, though.
* Refactored DwarfStackFrameDebugInfo:
- Moved the type classes into new DwarfTypes.{h,cpp}.
- Moved the creation of types into new class DwarfTypeFactory.
- Added class DwarfTypeContext which bundles all the dependencies of the type
classes.
* Made DwarfFile a BReferenceable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33495 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d82c6dd73468afbd2eb531ff0decd283ac18061 26-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Clarified the location expression evaluation semantics -- the ValueLocations
returned by the DWARF layer need to be translated to be usable in the generic
code.
* DwarfFile::EvaluateDynamicValue(): Added optional parameter to return the type
of the evaluated value, if available.
* Added source language info attribute to CompilationUnit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33313 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e72ebfce3cb4969f9b27b4210d7631ba16948fa 20-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* More work on retrieving local variable values. Address and compound types can
now be inspected. Still work in progress -- bit fields and arrays don't work
correctly yet nor does type lookup beyond the current compilation unit.
* Made most of the debugger output configurable via a config header. By default
it's much less noisy now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33217 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 993611096f72e740ad92092792bd6cf243299f65 16-Jul-2009 Rene Gollent <anevilyak@gmail.com>

gcc2 build fix.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31615 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d315bfd510d1dba20fe05a39ac455fe354ca1a96 16-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added class ValueLocation to represent a location of a value on the target
machine.
* DWARF:
- Various additions to the DIE classes.
- DwarfExpressionEvaluationContext:
- Added support for location expressions and thus the missing DW_OP_piece
and DW_OP_bit_piece operations.
- Fixed some deviations from the specs.
- Added debug output.
- DwarfFile:
- Added missing evaluation of CFA expression rules.
- Added service methods to evaluate expressions, location expressions,
and constant and dynamic values.
* Added model classes for representing types and variables. Particularly the
types part is not finished yet.
* StackFrame does now contain parameters and local variables.
* Added DwarfInterfaceFactory, which creates implementation objects for the
types, as well as variables objects. It's even less finished.
* DwarfImageDebugInfo::CreateFrame(): Resolve function parameters and add them
to the stack frame. No local variables yet.
* Added the beginnings of a variables view. Only lists the names of parameters
and local variables (of understood types) ATM.
* Renamed RegisterView to RegistersView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31614 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3c33a74c011ff3b8d49c8d2aa199bc9113dfe16b 14-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Rather resolve range lists lazily. We need them for all functions, but there
are a lot more DIEs that have range lists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31586 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 106c4d40208b9cddbc35e7492857e76cbb7f4460 13-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid of dwarf_{addr,off,size}_t. Consequently use 64 bit types instead.
* Made the DWARF code fully 64 bit aware (hopefully).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31546 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f7526300d9f03efec9b84583130db2d4d425fcef 13-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* DWARF: Implemented parsing the DWARF frame info and evaluating it (save for
DWARF expressions). Several related new classes: CfaRule[Set], CfaContext,
DwarfTargetInterface (for accessing target registers and memory).
* Implemented DwarfImageDebugInfo::CreateFrame(), so the DWARF frame info is
used for unwinding the stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31540 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 91c6759f30951d992778f67e76836d6a1cf52fe7 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added parsing the .debug_line header for each compilation unit and attaching
the include directory and source file names to CompilationUnit.
* Added DwarfUtils::GetDeclarationLocation() which retrieves the respective
source file name and line/column index for a given DIE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31325 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b60969c5cd42c27295bb89746ef6882c0559a7a 29-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed ArchitectureTypes.h to Types.h.
* Created "types" subdirectory for basic types and moved Types.h,
SourceLocation, TargetAddressRange there.
* Added TargetAddressRangeList, representing a list of address ranges.
* Array: Added copy constructor and assignment operator.
* Added DwarfFunctionDebugInfo.
* ElfFile: Also read the program headers and provide access to the segment
information.
* DWARF:
- Some work on DIECompileUnitBase and DIESubprogram to handle attributes we
need.
- Added DwarfUtils class which provides static utility methods. Currently some
to get DIE names. Only provisionally implemented yet.
- Read range list attribute values from the .debug_ranges section. Extended
AttributeValue to handle them correctly (ref-counting).
* DwarfImageDebugInfo:
- Implemented GetFunctions() for real, i.e. we return functions for all
subprogram debug info entries we find (those that refer to actual
functions, that is).
- Implemented the fallback part of LoadSourceCode() (reading the code from the
file and disassembling it).

Things should hopefully work as before, just a bit slower and with less accurate
function names, if DWARF debug info is available. Promising, eh? ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c3612f47db2deda55fca88459998e562ff97de4 27-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Manage CompilationUnits in a BObjectList instead of a DoublyLinkedList for
nicer access.
* A CompilationUnit does now know its debug info entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31282 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a7112b32d3c8f51a0e89ef2fc9d20a6a4c04159 27-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renaming and coding moving.
* Added locking to DwarfManager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31279 a95241bf-73f2-0310-859d-f6bbb57e9c96