Commit Graph

29815 Commits

Author SHA1 Message Date
Ingo Weinhold
ba391bcc56 Added team_debug_info::debugger_changed_condition to serialize changes to the
installed team debugger and adjusted the code accordingly. It's not needed yet,
but I intend to add support for software breakpoints and those require a bit of
uninitialization that needs to be synchronized with debugger changes and can't
be done with interrupts disabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 01:39:51 +00:00
Ingo Weinhold
91393e7810 InterruptsSpinLocking:
* Removed unused inner struct State.
* Added work-around for the extremely annoying "fState my be used
  uninitialized" warning gcc 4 produces. I'm not aware of any solution that
  doesn't generate unnecessary code. :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 01:32:46 +00:00
Ingo Weinhold
6a6974b63e gcc 4 warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 01:29:47 +00:00
Ingo Weinhold
5ea5f51d84 Changed ConditionVariable from class to struct to make it more C-friendly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 23:49:05 +00:00
Ingo Weinhold
6dcc2a7e00 Made destroy_team_debug_info() static, as it's not used outside the source
file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 23:46:55 +00:00
Ingo Weinhold
6381d6cc4e * Added Breakpoint class and extended TeamDebugModel to manage the objects.
Extended the event mechanism respectively.
* Added support to SourceView to display breakpoints and manipulate them.
* Extended TeamDebugger to install/uninstall breakpoints.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 21:51:32 +00:00
Ingo Weinhold
7c439b2356 Added {Install,Uninstall}Breakpoint().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 21:44:09 +00:00
Ingo Weinhold
e20dc8a7b7 Added missing convenience methods for unsigned integers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 21:43:06 +00:00
Ingo Weinhold
6cd189c997 Added BinarySearchIndex().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 21:41:16 +00:00
Rudolf Cornelissen
4ae1f25b97 fixed typo in unused routine I think.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 20:52:15 +00:00
Rudolf Cornelissen
8f9bd6355d removed leftover, this file was not used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 20:36:54 +00:00
Rudolf Cornelissen
8bdea4194a doing preparations for using analog widescreen detection. if all is right the driver's behaviour hasn't changed yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 20:33:17 +00:00
Oliver Tappe
510c100a8f * synced wchar.h with POSIX and the implementations provided by our libroot
* added WCHAR_MIN and WCHAR_MAX - already as 32-bit values, since that's
  what wchar_t is going to become, soon (and those values could not have
  been used before, since they were missing)
* this is still work-in-progress though, I need to run more tests to find
  out which of these functions are actually working, too


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 19:48:36 +00:00
Oliver Tappe
ebe1a956f0 * fixed a warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 19:13:47 +00:00
Oliver Tappe
8ce2ca0fc7 * added a couple of wchar-related tests (from glibc-2.3.2) that expose
several problems in our wchar-support - the worst of which being that
  our compilers define wchar_t as short while the glibc-implementation
  is relying on it being 32-bits wide ...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 19:13:32 +00:00
Axel Dörfler
77fdfdfe5f * Fixed broken logic as pointed out by stippi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 11:26:15 +00:00
Axel Dörfler
c97f4931c8 * This should fix the app_server build under other architectures than x86.
* Fixed wrong operator precedence case in Painter::SetFont().
* Fixed dozens of style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 10:30:36 +00:00
Stephan Aßmus
448ab012ef Created an icon for the Debugger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 09:04:02 +00:00
Ingo Weinhold
ce5d942c1a Uninlined the implementations of the inner classes. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:30:55 +00:00
Ingo Weinhold
7367310fbe * Virtualized SourceCode and implemented a derived class DisassembledCode, which
allows to implement StatementAtAddress() in O(log(n).
* Added SourceCode::StatementAtLine().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:13:57 +00:00
Ingo Weinhold
21821017e7 Added ContiguousStatement::AddressRange() for cheaper address range access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:09:26 +00:00
Ingo Weinhold
704e25ea2d Removed dead code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:08:44 +00:00
Ingo Weinhold
faa04e8d93 Also return the "commpage" image as one of the team's images.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 00:07:13 +00:00
Ingo Weinhold
ede842bb1d * SourceView can now show markers for stack frame instruction pointers.
Furthermore it automatically scrolls to the current IP of the currently
  selected stack frame.
* TeamWindow:
  - Be lazy setting the SourceCode, i.e. as long as no other source shall be
    shown (e.g. another stack frame is selected) we keep the previous one.
  - When a new stack strace is set, automatically select the top-most frame.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:44:18 +00:00
Ingo Weinhold
49ad0141cf Added StatementAtAddress() returning the statement at a given target address.
Needs optimization (iterates through all statements ATM).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:30:18 +00:00
Ingo Weinhold
1df9bf1220 Added Statement::ContainsAddress().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:28:13 +00:00
Ingo Weinhold
470c2c49a9 Passed incorrect instruction size to Statement constructor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:27:33 +00:00
Ingo Weinhold
e50cd9e51a Added Table::DeselectAllRows().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:26:53 +00:00
Stephan Aßmus
92772bbddd Patch by Christian Packmann:
* Implemented a CPU feature detection function in AppServer.cpp.
  The results are put into the global variable gAppServerSIMDFlags.
* Implemented an SIMD accelerated version of the bilinear bitmap
  scaling code that is the backend of BView::DrawBitmap(...,
  uint32 options) used by the MediaPlayer to smoothly upscale
  movies when no video overlay is available. The speed up is very
  noticable and a Core 2 Duo @ 1.8 GHz can play at 1920x1200 now
  without breaking a sweat. There is currently one SIMD version
  implemented which uses MMX and plain SSE.

Very cool! Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 22:07:54 +00:00
Rene Gollent
926b6fdb08 Fix style violation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 19:34:15 +00:00
Rene Gollent
faafd00c1a Fix broken check for ctrl+cmd+esc that would result in any of ctrl+esc, cmd+esc or ctrl+cmd+esc triggering safe video mode, and as a side effect, prevent menus from being opened via keyboard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 19:33:07 +00:00
Axel Dörfler
aa1f661460 * Quick fix for the broken GCC2 build. The guilty one might want to have another
look at this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 17:04:32 +00:00
Ingo Weinhold
0bcacd22ab * Added classes to represent source code (SourceCode, Statement).
* Added x86 disassembler (via libudis86).
* Added Architecture::DisassembleCode() to disassemble a function to SourceCode.
* Added virtual DebugInfo::LoadSourceCode() to retrieve the source code for a
  given function. The implementation in DebuggerDebugInfo disassembles the
  function.
* Added source code info to StackFrame. Also added a listener mechanism to get
  notified on source code changes.
* Added job to load the source code for a stack frame.
* Added (very basic) source code view and wired everything so that when a stack
  frame is selected the source code (respectively disassembly) for the
  underlying function is retrieved and shown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:17:21 +00:00
Stephan Aßmus
b3601d823c * Update indentation style in TabView.h
* Added _MinTabeSize() to BTabView. It makes sure that the BTabView displays
  at least two tabs. In the future it should also add the room to display some
  buttons for cycling the currently displayed tabs left/right if there is more
  than can fit.
* In BTabView::Min/Max/PreferredSize(), use _MinTabSize() to compute the
  respective size.
* Improve Tab rendering code so there are no ugly overlaps at the right edge
  if the tabs falls directly on the view edge.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:04:51 +00:00
Ingo Weinhold
a0a50d370e * Missing initialization of fStackTrace.
* Removed unnecessary TableRowInvoked().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:03:08 +00:00
Stephan Aßmus
ea603b7af3 Small style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:01:40 +00:00
Ingo Weinhold
cd69802317 Missed the libudis86 jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:00:12 +00:00
Ingo Weinhold
697eb34c63 Moved libudis86 to headers/libs/udis86 and src/libs/udis86.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 12:58:16 +00:00
Stephan Aßmus
a560ab791b * Create the BColumnListViews with fancy borders.
* Add some spacing around most views in the top level layout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 12:07:11 +00:00
Stephan Aßmus
abe7a40cca Work around a GCC2 problem with dynamic casting a BHandler pointer to a BView
in BWindow::_FindView(int32 token). This fixes the BColumnListViews in
DebugAnalyzer and Debugger to draw their frames properly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 12:05:34 +00:00
Ingo Weinhold
7c40979456 * Create the symlinks for the alternative gcc in the correct subdirectory.
Fixes bug #4035.
* Create the libnetwork.so compatibility symlinks only for gcc 2.
* Install only the shared libstdc++ to /system/lib.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 10:59:34 +00:00
Ingo Weinhold
e20c80b57f Added new optional parameter to AddSymlinkToHaikuHybridImage allowing to create
the symlink in a subdirectory for the alternative gcc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 10:57:01 +00:00
Joachim Seemer
f6fcf9b832 * Set html MIME type for apps-charactermap.hmtl.
* Added CharacterMap to applications.html contents.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 07:11:22 +00:00
Ingo Weinhold
c3edfca6e4 * If a stack frame is selected show its registers instead those of the top
frame.
* Some cleanup in ThreadListView.
* Unregister view listeners in the window destructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 19:26:47 +00:00
Ingo Weinhold
cba4143217 Added demangling support. Only implemented for gcc 4 yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:45:20 +00:00
Ingo Weinhold
8cd32d5b06 Added function demangle_name_gcc3() not used in the add-on. The whole demangler
should better be moved to a shared location. Eventually...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:43:38 +00:00
Joachim Seemer
d27c52da2b * The topnav bar wasn't high enough. Small change in Haiku-doc.css solved that.
* Corrected link in Fonts preferences.
* Added Mount menu item and changed Shutdown menu item in Deskbar.
  Updated screenshot.
* Updated Keymap documentation and screenshot (comments welcome, esp. for the
  keyboard commandline part at the end).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:30:05 +00:00
Ingo Weinhold
c9fc1d5064 Moved several classes into new "model" subdir.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:17:48 +00:00
Ingo Weinhold
0b60fa86e9 * Added DebuggerInterface::GetSymbolInfos() to get the symbols for an image.
* Added the beginnings of the debug info abstraction. Currently we can only load
  the symbols via the debugger.
* Added a job to retrieve debug info for an image. Extended the GetStackTraceJob
  to support waiting for image debug info to be loaded.
* Extended ImageInfo by text/data address and size.
* Removed StackFrameX86 and made StackFrame a simple non-polymorphic class
  featuring all the needed data. The really architecture-dependent is in the
  referenced CpuState already. Added Image* and FunctionDebugInfo* attributes,
  referring to the image respectively debug info for the function hit by the
  instruction pointer.
* Switched StrackTrace's StackFrame management from DoublyLinkedList to
  BObjectList. This makes it more comfortable to use.
* Changed the code for creating stack traces:
  - The creation of the StackTrace object and the main loop to collect the
    frames are now located in the no longer virtual
    Architecture::CreateStackTrace().
  - The decision how to create a StackFrame is based on the instruction pointer.
    If it hit a function for which debug info is available, the respective
    DebugInfo::CreateStackFrame() is used, otherwise we fall back to the new
    virtual Architecture::CreateStackFrame().
* Adjusted the stack trace view to also show function names (mangled ATM).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 17:20:49 +00:00
Ingo Weinhold
8b5ee1118a Added Worker::GetJob() to get a known job by key.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 16:49:31 +00:00