Commit Graph

11477 Commits

Author SHA1 Message Date
Ingo Weinhold
0b5637ed3a Argh! This change should have been checked in two days ago!
* Added support for debugger handover. The current debugger need to send
  a B_DEBUG_MESSAGE_HANDED_OVER message. The rest is completely
  transparent to the new debugger. It simply calls install_team_debugger().
* Implemented _user_wait_for_debugger().
* Reworked a few bits to ensure that after a remove_team_debugger() or
  after requesting a debugger handover the debugger doesn't get any more
  messages.
* When the debugger is removed or dies, the debugged threads should now
  cleanup their debug info and continue, instead of waiting at their
  debug port forever.
All the new features are not tested. Will happen, when gdb will be
debugged.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:22:28 +00:00
Ingo Weinhold
4d5289b7f0 load_team_etc() now optionally waits for the new team to be loaded
(new `flags' parameter, flag B_WAIT_TILL_LOADED). This is the default
behaviour for load_image(), so it behaves like R5's implementation now,
i.e. errors while loading are reported to the caller.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:13:51 +00:00
Ingo Weinhold
0dd3a50bb3 _user_load_image() has a flags parameter now. Added a new structure team_loading_info, which is referenced by the team structure while the team is being loaded..
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:11:08 +00:00
Ingo Weinhold
0e83032441 * Added _user_image_relocated() and _user_loading_app_failed().
* We no longer notify the debugger about a new image when it is registered,
  but when it has been relocated.
* When the application image has been relocated, we notify the one who
  initiated its loading.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:09:09 +00:00
Ingo Weinhold
3a96ba0bed Added _user_image_relocated() and _user_loading_app_failed().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:05:12 +00:00
Ingo Weinhold
5935412cad load_image(): _kern_load_image() now has a flags parameter. We pass B_WAIT_TILL_LOADED.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:04:03 +00:00
Ingo Weinhold
b484724711 Ugh! Forgot to add ffs.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:02:46 +00:00
Ingo Weinhold
9a28130b32 Added (currently only) flag B_WAIT_TILL_LOADED for _kern_load_image()
(maybe this should better go into a private header?). If given the function
waits till the loader is done with loading and relocating the executable.
Otherwise it returns before the loader starts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:01:25 +00:00
Ingo Weinhold
7884e8986b * _kern_load_image() has a `flags' parameter now.
* Added _kern_image_relocated() and  _kern_loading_app_failed(), which
  are invoked by the loader to provide the kernel with more info.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 14:58:39 +00:00
Ingo Weinhold
0a5054d17f * Renamed the RFLAG_SORTED flag to RFLAG_INITIALIZED, since that is what
it actually meant.
* Refactored the image initialization process (init_dependencies()) a bit.
  topological_sort() is now more flexible.
* The image relocation is now done by relocate_dependencies(). The order
  of relocating the images is the same as the initialization order, so
  that the app image is the last to be relocated. After having relocated
  an image the kernel is notified.
* The FATAL() macro has another parameter, an error code now, and calls
  the new syscall _kern_loading_app_failed() instead of _kern_exit_team().
  So the error can be reported to the team that called load_image().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 14:56:18 +00:00
Ingo Weinhold
54c3baf3b6 Renamed relocate_image() to arch_relocate_image() and removed the RFLAG_RELOCATED flag handling (done by the architecture independent code now).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 14:47:32 +00:00
Ingo Weinhold
adc9c4c556 [un]load_library() now also supports add-ons. [un]load_addon() is no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 00:00:04 +00:00
Ingo Weinhold
2d890ffaa2 * Introduced a new flag for preventing load_dependencies() to be run a
second time for already loaded libraries, when a library/add-on is
  loaded.
* image_t features now both, a path and a name. The name is the DT_SONAME,
  if present, the leaf name otherwise.
* Modified find_image() to compare both path and name, if necessary.
  Added a type mask parameter to specify what image types one is
  interested.
* Refactored open_container(). We now also support DT_RPATH, a dependency
  search path list that can be specified for the dependencies of a shared
  object.
* Extended [un]load_library() to support add-ons.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 23:36:32 +00:00
Ingo Weinhold
0b4af91dad The bfs_shell xcp has been renamed to cp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 17:59:41 +00:00
Ingo Weinhold
01203fdf42 Made a bit more compliant to the shell `cp':
* When the target is a symlink, it is tried to be resolved before making
  the decision what to do.
* If the (resolved) target is a file and the source is a file, we don't
  fail anymore, if `-f' wasn't specified. We truncate the target file
  instead and copy the source data into it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 17:52:29 +00:00
Ingo Weinhold
2c05bc8a8d Move to_platform_open_mode() to stat_util.cpp/h and made it available to other source files. It has little to do with stat data, but it fits with the other conversion functions at least and I found no better place.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 17:48:21 +00:00
Ingo Weinhold
6ce30cc809 Made xcp the default cp/copy command. The code for it is still there, for it is also used in other tests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 17:45:59 +00:00
Ingo Weinhold
f277fb639d * Prevent double deletion when setting to an object that is already set.
* Added Unset() and Delete() methods.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 17:44:55 +00:00
Jérôme Duval
cc3255267c EDESTADDRREQ is now defined
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 16:49:14 +00:00
mahlzeit
d1c4420ee5 Added preliminary support for using TiMidity++ as softsynth.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 16:48:12 +00:00
Stefano Ceccherini
5040785e7d BChannelControl::SetAllValue() didn't take limits into account. Horizontal sliders now at least are drawn correctly, even if they don't work well. Added a temporary visual hint of where's the bitmap frame. Enhanced a bit the drawing of the groove.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 13:20:01 +00:00
Axel Dörfler
6f0f950768 Now has its own implementation of getenv().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 00:51:20 +00:00
Axel Dörfler
9689bb8114 Removed env.c from rld.so - it now has to do it on its own.
Added posix_pthread.o to libroot.so.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-11 00:49:49 +00:00
Axel Dörfler
983d4534bc get_team_info() now also fill in the info about the debug nub thread.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 23:19:25 +00:00
Axel Dörfler
3c75dcf982 Removed team::user_env_base; it's no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 23:08:16 +00:00
Axel Dörfler
14ddef038a Removed setenv()/getenv() syscalls - they are no longer needed.
Also removed team::user_env_base: environment variables are now changed on the app's heap.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 23:06:51 +00:00
Axel Dörfler
8e6c95bcce Removed setenv()/getenv() syscalls - env is now changed on the heap.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 23:04:48 +00:00
Axel Dörfler
1ef5fc339b __init_env() is now called.
malloc() currently cannot be used in initialize_before() in libroot.so,
and therefore a _after() call has been added for this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:54:31 +00:00
Axel Dörfler
707046555e Added pthread stuff to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:45:15 +00:00
Axel Dörfler
0d0145515d Implemented userland env handling; it longer uses syscalls for this - I even
made it thread-safe, although this is not required by POSIX.
Implemented unsetenv(), improved putenv().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:41:49 +00:00
Axel Dörfler
3e998caf29 Added some optional to make the function more correct - if it's ever going
to be called that way.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:38:01 +00:00
Axel Dörfler
2bf23eaa75 Added __init_env() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:36:53 +00:00
Adi Oanca
a6fa470989 Window tab is highlighted/grayed when changing between windows
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:07:44 +00:00
Ingo Weinhold
2eece8633c * Added support for debugger handover.
* Implemented _user_wait_for_debugger().
* Reworked a few bits to ensure that after a remove_team_debugger() or
  after requesting a debugger handover the debugger doesn't get any more
  messages.
* When the debugger is removed or dies, the debugged threads should now
  cleanup their debug info and continue, instead of waiting at their
  debug port forever.
All the new features are not tested. Will happen, when gdb will be
debugged.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:04:27 +00:00
Axel Dörfler
b10cca5480 mutex_unlock() did not return anything when everything went well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 21:56:28 +00:00
Ingo Weinhold
1c7fbde145 Added message def for preparing to hand over a debugged team to another
debugger. After successful reply to the message the debugger won't receive
any more messages from the debugged team. The mechanism is completely
transparent to the target debugger. It simply installs itself as debugger
for the team.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 21:56:23 +00:00
Adi Oanca
d3beb2a46c Window moving and resizing resumed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 21:34:04 +00:00
Jérôme Duval
d67f94ca9d commented out hypot prototype : it conflicts with glibc signature when building libstdc++ which uses glibc headers
zooey agreed when discussing this (and we hope this don't break anything)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:56:11 +00:00
Jérôme Duval
a3810a32ee added modules for glibc
replaced ctype.o with glibc ones


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:51:31 +00:00
Jérôme Duval
f68db6c5e6 this conflicts with ctype-info.c from glibc
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:46:48 +00:00
Jérôme Duval
8b6244a7e6 added new directories to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:45:19 +00:00
Jérôme Duval
9e359f4244 needed by include/nl_types.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:44:23 +00:00
Jérôme Duval
1e5a39d91d reversed back to 2.2.5
enabled printf_fp


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:41:37 +00:00
Jérôme Duval
55a93a6ff0 added includes files based on GLibC 2.2.5
used by printf_fp


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:37:35 +00:00
Jérôme Duval
fda682942a include file for printf_fp (based on 2.2.5)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:34:06 +00:00
Jérôme Duval
da2e1d1a96 added a wctype.h used by include/wctype.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:31:26 +00:00
Jérôme Duval
a6508c735e added includes for printf_fp (based on 2.2.5)
added macros to use our standard posix call when possible instead of prefixed versions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:28:15 +00:00
Jérôme Duval
435b55e99e added arch includes for printf_fp (based on 2.2.5)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:25:19 +00:00
Jérôme Duval
270415343d added includes needed for printf_fp (based on 2.2.5)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:24:03 +00:00
Jérôme Duval
08c0aa1328 added iowpadn.c and wgenops.c to the build
commented out a suspect include


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 19:18:44 +00:00