Commit Graph

29863 Commits

Author SHA1 Message Date
Axel Dörfler
7f5bbbdc56 * Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
  adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:58:43 +00:00
Ingo Weinhold
29aec87efb Patch by Bryce Groff with small style changes by myself: Scale the values for
the partition size slider to MBs, so that the int32 doesn't overflow for larger
partitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:11:57 +00:00
Axel Dörfler
3e69a3c24a * BFS allocated always full allocation groups in the bitmap, even if the last
group was a partial one. This caused bug #3963 (Be's BFS didn't do that).
* Added new BlockAllocator::CheckBlocks() that does not depend on allocation
  group limits - this fixes the problematic check in
  BlockAllocator::_Initialize() to see if the super block, the block bitmap,
  and the log area are all allocated - this only worked if they all fit into
  the first allocation group (which happens only with partitions with more
  than 1 billion blocks, ie. 2 TB would already be problematic with a 2K block
  size).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 09:36:17 +00:00
Axel Dörfler
1b5bab63e5 * Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 08:57:36 +00:00
Ingo Weinhold
1c6fd17f75 Pulled interface TeamMemory out of DebuggerInterface to make the arch and model
packages indepent of the latter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 00:39:23 +00:00
Ingo Weinhold
0f5f9d47b9 Allow calling with NULL _isObjectMethod parameter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 00:37:34 +00:00
Ingo Weinhold
43b0f7e0d7 * Moved breakpoint management into new class BreakpointManager and added
support for temporary breakpoints.
* TeamDebugger: No longer handle debug events in the listener thread. Instead
  post a message to the looper thread. Makes the locking a bit easier.
* Architecture: Added virtual GetInstructionInfo() and GetStatement() returning
  information on the instruction respectively a statement at a given address.
  Implemented for x86.
* DebugInfo: Added virtual GetStatement() and implemented it for
  DebuggerDebugInfo by means of using the Architecture.
* Implemented step over/into/out support. Works in principle, but has no
  handling for PLTs yet, i.e. stepping into functions of other libraries
  requires two steps ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 23:51:09 +00:00
Philippe Houdoin
1a90a58f48 Reuse KDL demangler module demangle_symbol() and get_next_argument() to
improve userland Debugger arguments demangling support: 
now with argument name and/or type, when available.

I hope I didn't break coding guideline doing so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 22:49:07 +00:00
Fredrik Modeen
6f2bdd6354 Moved files not used by VS2008 think they are used by VS2002 or can be removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 20:09:12 +00:00
Fredrik Modeen
c50a2db0af added some files I missed..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 20:07:23 +00:00
Fredrik Modeen
fda5049123 Ticket #2547 can now be closed. this makes all the Windows parts of BeServed build in VS2008.
As Olivier Coursière wrote in the ticket/Patch he did.
To install
copy the control panel application in the c:\windows\system32 directory 
run "BeServerd.exe -install" from the command line to install BeServed as a Windows service.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 19:56:19 +00:00
Fredrik Modeen
a555f61b61 Moved files not used by VS2008 think they are used by VS2002 or can be removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 19:05:29 +00:00
Axel Dörfler
65b5dd5064 * DatagramSocket::InitCheck() returned the sem_id instead of a status_t, causing
pings to fail (raw socket initialization) after r31079.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 16:01:11 +00:00
Ingo Weinhold
dc59ebe78b Patch by Bryce Groff with small changes by myself: Implemented partition
creation (ATM BFS only) and deletion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:44:17 +00:00
Ingo Weinhold
6eb9c264e7 Patch by Bryce Groff with changes by myself:
CreateChild():
* Added missing creation and initialization of the child's fData.
* Name and parameters were set on the parent, not the child.
* Fixed leak on error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:41:11 +00:00
Ingo Weinhold
89175c4c50 Patch by Bryce Groff: Implemented DeleteChild().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:35:59 +00:00
Ingo Weinhold
5afb8ea7d7 Patch by Bryce Groff: Implemented DeleteChild().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:35:16 +00:00
Philippe Houdoin
3b11679508 Add gcc2 demangling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 07:58:51 +00:00
Ingo Weinhold
823e8a80f7 Recognize non-frameless functions and deal with situations where the instruction
pointer is before/in the prologue or after the epilogue. No solution for
frameless functions yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 23:38:29 +00:00
Fredrik Modeen
beadef3853 Added VS2008 Project and sln (don't work with Express)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 23:14:10 +00:00
Fredrik Modeen
15773a7d63 Remove unwanted code, backup, files named old (when same exist but without old), suo files are changed and created when windows project are opened
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 22:32:57 +00:00
Ingo Weinhold
2460bf468b * Changes that should already have been part of r31228: StackFrame and
SourceView.
* Fixed the information flow problem in Architecture::CreateStackTrace()/
  ArchitectureX86::UpdateStackCpuState() by introducing a virtual
  UpdateStackFrameCpuState() which allows the architecture to update the CPU
  state it generated before after the function the state belongs to is known.
  That's where moving the instruction pointer to the previous instruction
  happens now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 22:10:07 +00:00
Ingo Weinhold
840c76534f * Added StackFrame classification as syscall frame and added correct
identification for x86.
* For non-top stack frames adjust the instruction pointer so that it points to
  the calling function instead of the return address.
* SourceView: Consider a syscall frame a non-top frame (the arrow is drawn
  differently).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 16:37:11 +00:00
Stephan Aßmus
224fb9cf6e Fixed the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 14:59:12 +00:00
Ingo Weinhold
fab1c05c05 Split the commpage initialization into two parts. The second part is executed
after all CPUs have been queried for their features. On SMP machines
sysenter/sysexit weren't used before due to the non-boot CPUs appearing not
to have the feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 13:53:58 +00:00
Ingo Weinhold
ed832ef623 Correctly unset the objects we know. We don't only need to release the
references to them, but also unregister as listener.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 12:36:14 +00:00
Ingo Weinhold
9a6d65aaed Quit the window on destruction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 12:34:48 +00:00
Ingo Weinhold
6a1f462e72 * arch_debug_get_interrupt_pc() does now optionally return whether the iframe
is a syscall iframe.
* User debugger support: Don't to call BreakpointManager::PrepareToContinue(),
  if the thread returns from a syscall. We don't want to skip breakpoints in
  that case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 11:49:35 +00:00
Axel Dörfler
3836be3e80 * Reworked GetKey() after Marcus' suggestions. Thanks for the extra motivation
to work on this :-)
* Also made it return "false" if there was no mapping, which will prevent empty
  dead keys to be written now (ie. the output now looks exactly like our
  sources).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 09:00:22 +00:00
Ingo Weinhold
194b3b719a * Moved all handling of threads from TeamDebugger into new class ThreadHandler.
* Added new job to get the initial state of a thread.
* Now we also get the states of new threads correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 01:46:38 +00:00
Ingo Weinhold
74558e1c42 Renamed the "Stop" button to "Debug" to avoid confusion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 00:25:21 +00:00
Ingo Weinhold
719f89b06e Fixed the application quit mechanism. Due to the two levels of asynchronous
message sending the main thread exit()ed before the team debugger could process
its quit message. We're no longer taking the detour via Debugger when quitting
a window. The team debugger just quits and synchronously notifies the
application, which in turn waits until all team debugger threads have gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 00:16:22 +00:00
Ingo Weinhold
fef6a27d78 * Moved killing/resuming the team to DebuggerInterface::Close().
* Made the TeamDebugger safer for the case that the initialization failed early.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 23:09:36 +00:00
Ingo Weinhold
e951f678c2 Moved message code where it belongs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 22:29:15 +00:00
Ingo Weinhold
57c3ecadb8 * Fixed warning.
* Fixed creation of settings file. The second creat() parameter specifies the
  permission, not the open mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 22:11:45 +00:00
Clemens Zeidler
4b8f258bfe - Forgot to set a timeout in Wait.
- Fix build if TRACE is enabled.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 21:08:40 +00:00
Ingo Weinhold
b0f12d64f4 Added transparent software breakpoint support for user debuggers:
* The bulk of the work -- i.e. juggling the software and hardware breakpoints,
  watchpoints, and memory reads/writes -- is done in the new class
  BreakpointManager.
* For the architectures a few capability macros have to be defined, one
  pointing to the software breakpoint instruction opcode. Done for x86.
* Some more simplifications in the user debugger code, made possible by the
  recently introduced debugger_changed_condition attribute.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 21:03:57 +00:00
Rudolf Cornelissen
63e909772d added DDC/EDID widescreen detection for analog connected screens. Switched off the force widescreen option so autodetection is actually used. This should fix non-ws DVI connected screens displaying black screens or shutting off on non-native modes. Bumped version to 0.93.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 20:52:30 +00:00
Stephan Aßmus
c454df7e29 This stuff is actually used on the build host platform as well...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 14:05:01 +00:00
Stephan Aßmus
4922427769 Implement killing the debugged team on quitting a TeamDebugger, the obviuos
way... thanks Ingo! Seems to work just fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 13:09:50 +00:00
Stephan Aßmus
b9563a6fd9 Added NOTE on how to handle QuitRequested in the application and why using
the base class version is fine for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 12:20:14 +00:00
Stephan Aßmus
04743aeb5f Filled up the quitting code path a bit. The TeamDebugger throws up an alert
asking what to do with the debugged team. Killing it is not yet implemented.
Then it notifies the application about the quit request. That in turn tears
down the TeamDebugger and if no other ones are left, it quits itself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 12:14:05 +00:00
Stephan Aßmus
73b8cef5e6 Sorry for messing in this code, but I was a bit helpless how to fix the GCC2
build in another way...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 12:12:08 +00:00
Stephan Aßmus
b9bbf08852 Small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 11:05:16 +00:00
Stephan Aßmus
e5a5e5da5a * Use auto-size-limits on the window.
* Use insets around everything. The visual change are insets also around the
  source code view. Another option would be to put the source code view on the
  right/bottom, attaching the window border and using a B_DOCUMENT_WINDOW
  resize knob on the window border. The register view could also use the
  additional height of the buttons. However, I agree it's somehow more logical
  to have the register view on the right side. Maybe only because of
  convention... so it's possibly still up for debate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 11:04:38 +00:00
Stephan Aßmus
4aeb7a3cc2 * Made BTwoDimensionalLayout and BSplitLayout::GetInsets() const.
* Give access to BSplitLayout::SetInsets() and GetInsets() from BSplitView.
* Give access to BSplitView::SetInsets() from BSplitLayoutBuilder and
  LayoutBuilder.
* Some automatic white-space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 10:56:22 +00:00
Axel Dörfler
e27f201987 * Added ability to save a "styles" attribute for StyledEdit. This implements
ticket #4032.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 10:27:58 +00:00
Axel Dörfler
30dcc55d0a * More or less rewrote main.cpp to use getopt_long() instead of the self-made
argument evaluation. Also separated the evaluation from performing the
  options, solving a TODO, and added long versions for the options.
* Changed Keymap methods to work on a path instead of entry_refs - this
  simplifies the code a bit over the place.
* Added new option to load a source keymap directly (-s, --load-source).
* Renamed some methods to make clearer what they do.
* Added a way to directly write a source keymap to a file (by specifying the
  -o option together with -d).
* Coding style cleanup, ordered Keymap methods in the order they are declared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 09:44:31 +00:00
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