Commit Graph

46247 Commits

Author SHA1 Message Date
Rene Gollent 293d5b1ede Add 64-bit package for CMake. 2013-07-28 19:33:18 -04:00
Rene Gollent f270c76a2e Debugger: Cleanups.
ResolvePICFunctionAddress() needs to restore the CPUState object back
to how it was when it was originally passed in. Fixes various issues
that would occur as a result.
2013-07-28 18:59:36 -04:00
Rene Gollent aef9e4fce2 Debugger: Fix return value for PIC functions on x86-64.
- Add Architecture::ResolvePICFunctionAddress() and pull out the
previous code in DwarfImageDebugInfo into the x86-specific
implemementation.

- PIC handling works a bit differently on x86-64 than it does on x86
since x86-64 is likely to use RIP-relative addressing. Implement
ArchitectureX8664::ResolvePICFunctionAddress() accordingly.
2013-07-28 17:30:49 -04:00
Rene Gollent 0a1334de28 Fix wget on x86-64.
Define HAVE_ARPA_INET_H for the wget build. Otherwise, e.g. inet_ntoa
would get an implicit declaration with a return type of int, leading to
the returned character pointer getting truncated on x86-64, and
consequently random crashes.
2013-07-28 14:14:22 -04:00
Rene Gollent e7c4ad324e Add 64-bit Pe package. 2013-07-28 13:19:03 -04:00
Rene Gollent 5eb4aaba42 Add 64-bit Vision package. 2013-07-28 11:28:15 -04:00
Murai Takashi 7f98c6653e Fix double free
Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>
2013-07-28 16:22:13 +02:00
Stephan Aßmus 0aea921993 HaikuDepot: Show package in info area when selected in list
* Includes fixes along the way. Shows only package title as of
   now.
2013-07-28 15:46:54 +02:00
Stephan Aßmus cc4fa3bf29 HaikuDepot: Beginnings of transformation from BTabView 2013-07-28 15:30:53 +02:00
Stephan Aßmus 6c28726eab HaikuDepot: Moved some extra classes into .cpp file 2013-07-28 15:30:20 +02:00
Stephan Aßmus 3883c02097 HaikuDepot: Create dummy model (2 items)
* Added methods to fill the package list view, creating PackageRows
   from PackageInfos, various TODOs.
 * Some additions in the info classes, UserRating needs language.
2013-07-28 14:59:11 +02:00
Stephan Aßmus 686357a30c HaikuDepot: MainWindow: Class members for the created views 2013-07-28 14:12:37 +02:00
Stephan Aßmus 6d367ba439 HaikuDepot: Beginnings of Model class 2013-07-28 12:20:27 +02:00
Stephan Aßmus f34f805b1a HaikuDepot: Added DepotInfo class 2013-07-28 12:20:00 +02:00
Stephan Aßmus 82bdec56d4 HaikuDepot: Implementation of model classes for package info representation 2013-07-28 11:57:56 +02:00
Stephan Aßmus 10ad1350c5 HaikuDepot: Removed unneeded includes. 2013-07-28 11:57:55 +02:00
Stephan Aßmus e9e74b7bab List class which stores objects (not pointers) or plain old data. 2013-07-28 11:57:54 +02:00
Rene Gollent 8add07a8e1 Debugger: Fix some handling in DisassemblerX8664.
Take into account the operand and offset size as needed, otherwise
we'd potentially use the wrong value for our calculations.

Gets return values somewhat working on x86-64, though in some cases
looking up a PLT slot's destination fails, for as yet undetermined
reasons.
2013-07-27 22:58:13 -04:00
Rene Gollent 4dcab59fe7 Debugger: Implement ArchitectureX8664::GetReturnAddressLocation(). 2013-07-27 22:57:37 -04:00
Rene Gollent d1189a6c75 Debugger: DwarfImageDebugInfo - fix potential crash.
If the subroutine address in question required us to in a different
image, that lookup would overwrite our pointer to the starting image.
If said lookup then also failed, a crash would occur when performing
operations to look up the next return value, since the image pointer
would then be NULL.
2013-07-27 22:55:51 -04:00
Rene Gollent c0a7796007 Debugger: Fix step over on x86-64.
DisassemblerX8664::GetNextInstructionInfo() was mistakenly truncating the
instruction address due to a copy-and-paste bug when it was initially
spawned off DisassemblerX86. This would result in the temporary breakpoints
for skipping over function calls never getting set properly, leading to us
stepping into the PLT on a step over.
2013-07-27 19:10:55 -04:00
Ingo Weinhold 5163e1c62d Revert "Introduce vnode op supports_operation(), fix devfs_io()"
This reverts commit 98a5231fe5.
2013-07-27 23:31:23 +02:00
Stephan Aßmus a2cc70e464 HaikuDepot: "Show" is better than "Category" for what it does. 2013-07-27 23:26:01 +02:00
Stephan Aßmus 1b28bb090d HaikuDepot: Populate menu fields (non-functional) 2013-07-27 23:14:43 +02:00
Stephan Aßmus fade0fd59d HaikuDepot: Added PackageInfoView, moved buttons to bottom 2013-07-27 22:57:26 +02:00
Stephan Aßmus 713ce3be95 HaikuDepot: BTabView with About, Rating & comments and Changelog
Completely non-functional. Should be replaced by something visually
more unified. The selected package's title and icon should be always
visible above the three sections, and the sections should not be
tabs but something more subtle.
2013-07-27 22:57:26 +02:00
Stephan Aßmus ac7d911bae HaikuDepot: Added new classes to build and main window. 2013-07-27 22:57:25 +02:00
Stephan Aßmus f344b1dca6 HaikuDepot: BGroupView holding buttons for package actions...
... that can be applied to the selected package(s). Does nothing
except create the buttons and layout.
2013-07-27 22:57:24 +02:00
Stephan Aßmus 7fa83160f8 HaikuDepot: PackagesListView
BColumnListView derived class with code-duplication from
DriveSetup that should be refactored eventually (BIconStringColumn
and BColumn implementation to show it). Does nothing except create
some columns.
2013-07-27 22:57:23 +02:00
Stephan Aßmus 8608501abb HaikuDepot: BGroupView for the controls defining list contents 2013-07-27 22:57:22 +02:00
Stephan Aßmus d9512848e4 Haiku-Depot: Initial skeleton application 2013-07-27 22:57:21 +02:00
Ingo Weinhold 98a5231fe5 Introduce vnode op supports_operation(), fix devfs_io()
devfs_io() can't fall back to calling vfs_synchronous_io(), if the
device driver doesn't support handling requests asynchronously. The
presence of the io() hook leads the VFS (do_iterative_fd_io()) to
believe that asynchronous handling is supported and set a
finished-callback on the request which calls the io() hook to start the
next chunk. Thus, instead of iterating through the request in a loop
the iteration happens recursively. For sufficiently fragmented requests
the stack may overflow (ticket #9900).

* Introduce a new vnode operation supports_operation(). It can be called
  by the VFS to determine whether a present hook is actually currently
  supported for a given vnode.
* devfs: implement the new hook and remove the fallback handling in
  devfs_io().
* vfs_request_io.cpp: use the new hook to determine whether the io()
  hook is really supported.
2013-07-27 17:45:59 +02:00
Alex Smith b8130cf32d Removed Haiku64Image, it's not used any more. 2013-07-27 16:40:10 +01:00
Niels Sascha Reedijk 993d002f8a Update translations from Pootle 2013-07-27 06:14:23 +02:00
John Scipione f59d62ffd3 Add BWindow documentation 2013-07-26 18:36:17 -04:00
John Scipione 323523c4b9 BWindow: style fixes only, no functional change. 2013-07-26 18:36:00 -04:00
Rene Gollent e94c611961 Debugger: Implement ArchitectureX8664::CreateStackFrame().
This is for the most part a direct copy of the equivalent x86 function
with adjustments to deal with the difference in address sizes and
registers. This gets architectural (aka unassisted) backtraces working
on x86-64, assuming the code in question has been built with frame pointers
enabled.

Thanks to Alex Smith for his assistance in implementing the
function prologue and syscall iframe detection.
2013-07-25 20:13:12 -04:00
Rene Gollent edffd6cde8 Debugger: Add interrupt vector CpuStateX8664. 2013-07-25 20:11:28 -04:00
Alex Smith 271b27d5a3 x86_64: Set vector in iframe/debug state to 99 for syscalls.
Although syscalls are done through SYSCALL and therefore don't actually
have an interrupt number, set it to 99 (the syscall vector on 32-bit)
in the iframe so that a syscall frame can be identified. Also added
vector/error_code to x86_64_debug_cpu_state for Debugger to use, not
sure why I didn't put them there in the first place.
2013-07-25 20:04:25 +01:00
Jérôme Duval 143cfee84c usb_asix: takes into account that received data is padded to 16bit
* also checks whether too little data is received.
2013-07-25 19:18:50 +02:00
Jérôme Duval 0994532db4 boot_loader: checks whether mapping rsdt header succeeded.
... and exits in case of failure. Reported by mt in #9895.
2013-07-25 18:52:06 +02:00
Pawel Dziepak 6972b91e17 servers/net: Make DHCP client more RFC 2131 compliant
* The client should enter state REBINDING only when RENEWING times
   out.
 * When in RENEWING or REBINDING state do not give up retrying
   unless the lease expires.
 * Fix bug sending 2^n DHCP requests at n-th lease renewal.
 * Use timeout values and renewal/rebinding times suggested by the
   RFC.
 * Use different XIDs in subsequent transactions.
2013-07-25 04:05:10 +02:00
Rene Gollent 3b2c8f50dc Debugger: Handle DW_TAG_GNU_template_template_param.
This is a GNU extension for identifying the case of a template parameter
that is itself a template. We don't currently make use of it, but this
allows us to parse/skip it correctly.

With this change, webcore is loadable/debuggable on x86-64 when built
with -gdwarf-4, with the caveat that ~3-4GB of RAM are currently required.
2013-07-23 18:08:40 -04:00
Jérôme Duval b5ccadd7c2 Virtio: implemented indirect descriptors feature.
* indirect descriptors count hardcoded to 128.
* already activated for virtio_block driver.
2013-07-23 23:00:20 +02:00
Jérôme Duval 17c55998dc Virtio SCSI: add a description for CHANGE feature. 2013-07-23 22:59:01 +02:00
Rene Gollent 79a2f0c70c Debugger: Fix insets in BreakConditionConfigWindow. 2013-07-22 23:01:30 -04:00
Murai Takashi a385c68ad7 Cortex: Fix forming reference to null pointer
* Style fix only for the lines involved.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2013-07-22 21:15:15 +02:00
John Scipione 46cb3d3ea6 IconUtils: Add parens to fix warnings
Fixes #9888
2013-07-22 13:42:48 -04:00
Alex Wilson e66e2a2535 Fix layout issue in Backgrounds preflet.
Add an extra column to the grid layout so that the menu fields are free
to be much bigger than the checkbox.

closes #9882
2013-07-21 23:52:55 -04:00
Rene Gollent 8e80ec6aaa Debugger: Handle some more v4 attributes.
- DIECompileUnit can also be marked with DW_AT_main_subprogram to
indicate that the main program resides within that particular unit.

- DIEBaseType and DIEMember now have the additional attribute
DW_AT_data_bit_offset which defines the offset in a somewhat different
manner than DWARF2/3's DW_AT_bit_offset, and deprecates the latter.

Unused/untested for the moment, as gcc 4.7.3 doesn't yet appear to be
generating either of the above attributes.
2013-07-21 21:19:26 -04:00