Commit Graph

29776 Commits

Author SHA1 Message Date
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
Stephan Aßmus
8f24c71102 Reverted my change to usage of _get_object_token_(), it already means to use
a cached token... doh! Thanks Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:47:28 +00:00
Rene Gollent
3756e25935 GCC4 build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:37:33 +00:00
Stephan Aßmus
5c5195ee7e Fixed regression in SetViewCursor(). It wasn't possible anymore to switch
back to the system default cursor. For that cursor token, the global cursor
manager returns NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:26:34 +00:00
Stephan Aßmus
1f9fd6d866 * Added BSplitView drawing code to ControlLook.
* BSplitView uses ControlLook to draw itself.
* Small refactoring in SplitLayout to implement IsAboveSplitter(BPoint).
* BSplitView updates the view cursor when the mouse is above a splitter.
* Standard splitter size is now 6 pixels, which is a bit easer to hit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:03:33 +00:00
Stephan Aßmus
01206002ba * Added NOTE to BListView destructor about not freeing the items.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:00:33 +00:00
Stephan Aßmus
262c5f651e * Small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:00:11 +00:00
Stephan Aßmus
fa0ba1f855 Cache a view's server token. Avoids getting it for every
BView method that contacts the server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 14:12:30 +00:00
Stephan Aßmus
19e179ca4f * Moved the implementation of SetViewCursor from the thread of the
window of the view into the application thread. This solves the
  race condition with asynchronous SetViewCursor and deleting the
  cursor immediately afterwards for real.
* The ServerApp now requires a reference to the current cursor,
  just in case...
* Added TODOs for caching the BView token, it's currently resolved
  for every single BView call that talks to the server... not good!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 12:11:49 +00:00
Ingo Weinhold
dee5a4f49f Changed isHybridBuild variable from 0/1 to undefined/defined. Fixes formerly
incorrect check in the DevelopmentBase package. Thanks to Joseph Prostko for
the hint.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 11:15:05 +00:00
Stephan Aßmus
5d62f8e0e5 Make it possible to properly use operator= on BCursors by making sure the
reference counting is maintained correctly in the app_server. While reviewing
this code, I have my doubts that my previous solution for handling pending
SetViewCursor() calls is always working as it is intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 10:10:01 +00:00
Philippe Houdoin
76d87570c9 Fixed Haiku libpcap detection.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 08:54:46 +00:00
Philippe Houdoin
ec1b789c2e DebuggerInterface destructor wasn't virtual, raising a -Werror warning.
Fixed libdebug.so link.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 08:52:51 +00:00
Philippe Houdoin
da03e5cb10 Removed libnetwork.so aliases from Development officially supported libraries.
Only libGL.so aliases, libglut.so and libGLU.so, deserves to be there. 
Automatic space/tab cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 08:44:54 +00:00
Ingo Weinhold
b7c5bd634b Renamed Variant to BVariant and moved it to libshared.a.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 23:00:25 +00:00
Ingo Weinhold
15f040e596 Some work towards getting stack traces:
* Added a virtual Architecture::CreateStackTrace() and added a basic
  implementation in ArchitectureX86. Fleshed out StackTrace/StackFrame a bit
  and added StackFrameX86. This needs to be organized differently, though, so
  that we can get the maximum available information for each stack frame,
  depending on what info is available for the respective function.
* Added job to get the stack trace for a thread.
* Added stack trace related handling in TeamDebugger. Reorganized the thread
  state/CPU state/stack trace change handling a bit -- we're using a
  Team::Listener now, and do things asynchronously.
* Added a StackTraceView to display the stack trace of the current thread. No
  function name available yet, otherwise working fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 22:13:32 +00:00
Ingo Weinhold
1ae2cffc83 Added ReadMemory().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 21:58:48 +00:00
Ingo Weinhold
bbd7464f37 Added the sorting column related methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 21:56:08 +00:00
Ingo Weinhold
b31acfda4b Use a BObjectList instead of a DoublyLinkedList for the TableModelListeners.
Otherwise we can't add a listener to more than one model.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 21:54:48 +00:00
Ingo Weinhold
15b6b23934 Added view to show registers. Doesn't look particularly nice, but seems to work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 17:31:24 +00:00
Ingo Weinhold
8c724eb86c We already have a reference and want to get rid of it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 17:29:39 +00:00
Ingo Weinhold
028b98e7ff Added missing TableRowsChanged() to TableModelListener and made Table
handle it, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 17:28:33 +00:00
Ingo Weinhold
36c16b9292 Added Is{Number,Integer,Float}() methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 17:26:59 +00:00
Ingo Weinhold
2a3974d313 Added constructor versions of the Group and Grid layout builders that take a
BWindow* parameter. They set the newly created layout on the window, which saves
the API user to do that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 15:28:00 +00:00
Ingo Weinhold
6383ae9c30 Added Architecture and DebuggerInterface to the TeamDebugModel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 15:17:58 +00:00
Ingo Weinhold
495676cab6 * Implemented Worker class, which executes Jobs in a separate thread.
* Implemented a job for getting a thread's CPU state.
* The team debugger uses a worker now. ATM only for getting the CPU state for
  stopped threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 15:09:56 +00:00
Axel Dörfler
3609af391d * Renamed _kern_reserve_heap_address_range() to _kern_reserve_address_range(),
and added a _kern_unreserve_address_range() as well.
* The runtime loader now reserves the space needed for all its areas first
  to make sure there is enough space left for all areas of a single image.
* This also fixes the final part of bug #4008.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 11:09:21 +00:00
Axel Dörfler
7200c6f499 * Fixed warnings.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 10:17:42 +00:00
Axel Dörfler
82db8a9e15 * Added an "unmapAddressRange" argument to the file mapping syscall. This is
the first part of making the runtime loader behave itself; it should already
  make Clockwerk run okay with any number of translators (even if not all of
  them will work yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 08:23:11 +00:00
Philippe Houdoin
c9a4907c03 Typo cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 02:06:30 +00:00
Philippe Houdoin
0854b2fa96 Fixed missing libs "aliases" symlinks in DevelopmentMin package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 02:04:39 +00:00
Philippe Houdoin
b8340a294c libnetwork.so, libnetapi.so and libGL.so aliases were not symlinks but duplicates.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 01:31:51 +00:00
Ingo Weinhold
c42fe1eb57 More work on the architecture abstraction, particularly regarding information
about what registers the architecture has and how to get them from the CpuState.
Implemented the respective x86 part.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 00:05:45 +00:00
Ingo Weinhold
3c4cb05b95 We can't only use a single debug context, if we want to allow multiple threads
to play with us without blocking. Implemented a pool of debug contexts instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 22:37:16 +00:00
Ingo Weinhold
b6aff5aa83 * Added notifications for thread state/CPU state/stack trace changes. The team
window listens for those and updates the buttons correctly.
* Added basic handling for the thread stopping debug events in the team
  debugger.
* Forward the thread run/stop/step requests to the team debugger and actually
  run/stop/step the thread. Running/stopping works, all three stepping actions
  just step by a single instruction ATM, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 21:45:14 +00:00
Axel Dörfler
18882afba2 * Removed accidental leftover in a GCC4 only codepath.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 20:58:42 +00:00
Clemens Zeidler
de580ba60a Add embbedded controller driver to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 20:02:45 +00:00
Ingo Weinhold
a81bb42a93 Beginnings of the architecture abstraction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 19:57:46 +00:00
Ingo Weinhold
1f2a566cd6 Accidentally checked in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 19:05:05 +00:00
Clemens Zeidler
75a666aa95 Embedded Controller driver, used the BSD driver as base. Thanks to Ithamar for pointing out that I need this driver to read the acpi battery status which now works for me (driver coming soon).
My laptop now really switch off on shutdown :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 18:30:06 +00:00