Commit Graph

2400 Commits

Author SHA1 Message Date
Axel Dörfler
f9f3e26e3c Implemented the complete BeOS image API, added kernel image API syscalls,
added it to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 17:11:53 +00:00
Axel Dörfler
0c79589d60 First set of changes to have a BeOS compatible runtime loader.
Added a simple locking strategy to the loader (didn't do any locking before),
it now uses a global recursive lock for the exported API.
Implemented all needed functionality for the BeOS image API.
Now registers images with the kernel.
Added several ToDo items.
Cleanups, and possibly more I've forgotten about.
(hope this works since the local diff does not?!)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:59:18 +00:00
Axel Dörfler
077020137d Just cleanups, commented out unused code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:54:38 +00:00
Axel Dörfler
2a2cf1b8f5 Just some cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:53:36 +00:00
Axel Dörfler
9bbbc67386 Removed the export prototypes - this is now completely done in rldexport.c.
Now more dynmodule_id; it now uses the image_id directly.
Updated for the other changes to the functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:51:15 +00:00
Axel Dörfler
24154245f1 Fixed a comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:48:48 +00:00
Axel Dörfler
f351df0829 Moved export stuff to rldexport.c, rldexport_init() is now also called.
Cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:48:09 +00:00
Axel Dörfler
0119ceeb8e Implemented the runtime linker export API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:37:40 +00:00
Axel Dörfler
c60685fcad Fixed parameter for get_nth_image_symbol().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:36:30 +00:00
Axel Dörfler
2700a953b9 Removed rldunix.c and rldbeos.c as they are no longer needed.
The runtime linker now exports the API in rldexport.c


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:32:30 +00:00
Axel Dörfler
1da55179ee thread_exit() now removes the registered images when the team goes down.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:30:09 +00:00
Axel Dörfler
c8019cad42 Added support for the image queue in the team structure.
Adapted because of changing structure names (struct uspace_program_args).
Added comments, fill_team_info() now sets the team_info.image_count correctly.
Some cleanups and style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:29:28 +00:00
Axel Dörfler
75dccdb63c Added the image API syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:27:03 +00:00
Axel Dörfler
598e865517 Added image.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:26:39 +00:00
Axel Dörfler
c679492034 Added a queue to the team structure for the registered images.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:25:04 +00:00
Axel Dörfler
29164895ac Must now include image.h directly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:24:12 +00:00
Axel Dörfler
9edac21abd Removed the image_id type definition from ktypes.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:23:21 +00:00
Axel Dörfler
ef6d88af27 Renamed "struct rld_export_t" to "struct rld_export", "struct uspace_prog_args_t"
to "struct uspace_program_args", prog_name & prog_path to program_name and
program_path.
Moved the MAGIC_APPNAME to a BeOS compatible MAGIG_APP_NAME from rld_priv.h
to this place.
Removed the dlxxx() exports in the rld_export structure - instead, they will
be implemented using the basic runtime linker API which is a slightly extended
version of the standard BeOS calls (load_add_on() has a "flags" paramater to
allow implementation of dlopen()).
Completed the export API to be able to completely support the BeOS API.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:22:09 +00:00
Axel Dörfler
30f9b99833 Added sys_ prototypes for the kernel image API syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:17:09 +00:00
Axel Dörfler
909f4951dd Added our dlfcn.h header - the RTLD_xxx constants may change, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:15:49 +00:00
Axel Dörfler
6cdae891c3 minor changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:10:28 +00:00
Axel Dörfler
49c987ef8d Added a macro to iterate through the kqueue.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:00:59 +00:00
Axel Dörfler
1c204d8bb9 Added syscalls for the image API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 15:59:50 +00:00
Axel Dörfler
9c12864dfd Header for the kernel image API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 15:59:12 +00:00
Axel Dörfler
515a4a6590 Implementation of the kernel part of the image API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 15:58:08 +00:00
Ingo Weinhold
4a05764e4b Some smaller changes concerning the scanning of the settings file to make it behave more like BeOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 14:42:09 +00:00
Matthew Wilber
bb87c791cb Cleaned up a few little things
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-11 15:56:02 +00:00
Matthew Wilber
755ac1744b Changes made due to renaming of R4xTranslator to FuncTranslator
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-11 13:56:45 +00:00
Matthew Wilber
27aa9660b3 renamed R4xTranslator.cpp to FuncTranslator.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-11 13:55:35 +00:00
Matthew Wilber
b0837927f6 changed to reflect the name change of R4xTranslator.h to FuncTranslator.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-11 13:52:59 +00:00
Matthew Wilber
0ac173e420 renamed R4xTranslator.h to FuncTranslator.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-11 13:51:18 +00:00
Matthew Wilber
d7e25ddc2b A beta tester reported that PackageBuilder failed to load when the OBOS libtranslation.so was used. This was because the
OBOS BBitmapStream was missing a protected function.  I implemented the protected function (SwapHeader) and changed the cl
ass to use it instead of the previous functions that I wrote to provide similar behavior.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-11 03:20:08 +00:00
Matthew Wilber
9f9e1f50fb A beta tester reported that PackageBuilder failed to load when the OBOS libtranslation.so was used. This was because the OBOS BBitmapStream was missing a protected function. I implemented the protected function (SwapHeader) and changed the class to use it instead of the previous functions that I wrote to provide similar behavior.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-11 03:19:28 +00:00
Stefano Ceccherini
5901730132 Added a doxygen_config file for the Support kit. I hope the storage kit will excuse me for stoling their file :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 16:14:55 +00:00
Stefano Ceccherini
5235e06864 When you pass a negative number as Truncate() argument, the string is truncated to a length of 0 (before Truncate() just did nothing), because it makes more sense (there isn't any problem with R5 compatibility, because here R5's BString just crashed).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 16:10:00 +00:00
Axel Dörfler
1ff1332c77 The bootmaker now defaults to the endian of the host platform.
Fixed style issues.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 11:48:38 +00:00
Axel Dörfler
d9f08d808d The empty string ("", length 0) will now be replaced with ("", length 1) in
queries, to let the BPlusTree::Find() method search for it (there can't be
any keys in the tree with length 0).
That means that the query 'META:url=""' will now return all files where the
attribute "META:url" is present but empty.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 11:14:07 +00:00
Axel Dörfler
3b7911f105 We now check in bfs_rename() if the new name is the same as the old name
in the same directory - in this case, we will return B_OK (as nothing has
to be done to fulfill the request), instead of B_BAD_VALUE which would
be thrown later in the process.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 11:08:51 +00:00
Stefano Ceccherini
a8dee23ea0 A fix for a Replace function, some checks which makes the code
more robust, some style changes, some more comments.
Started to document the class with Doxygen comments.
(I made too many changes to keep the file local :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 10:19:56 +00:00
Michael Phipps
8bd24c033e Moved Tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 01:20:51 +00:00
Michael Phipps
f767d0eeab Changes due to better testing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 01:19:16 +00:00
Michael Phipps
cf7199ba56 Many changes due to enhanced testing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 01:09:45 +00:00
beveloper
d6379053ba Made time sources mode BeOS R5 conforming.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-09 17:54:20 +00:00
Stefano Ceccherini
cfe8d4a743 one more test for ReplaceSet(char, char)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-09 14:00:47 +00:00
Axel Dörfler
4fff689f48 Some minor updates:
arch_cpu: could have used the TLS_SIZE macro in one place, removed
a now unused variable, assignments to tss_loaded are now booleans.
thread.c: added the new fields to _dump_thread_info().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-08 09:27:55 +00:00
Axel Dörfler
dd8e42a8b4 Also changed the (void *) to (void **) variable in tls_address() here
(the same change has already been done in support/TLS.h).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-08 09:14:16 +00:00
shatty
e65350ba68 replaced by private header
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-07 23:33:38 +00:00
shatty
63dee12c9a use private headers to allow removal of ObjectList.h
request: by jerome.duval@free.fr <jerome.duval@free.fr> 2003-01-07 01:06 am


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-07 23:33:11 +00:00
Michael Pfeiffer
69160efbcd Added comments and changed and fixed mistake in reg. expr. of table of contents cross reference definition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-07 16:47:20 +00:00
Michael Pfeiffer
a5b12f1b3e Clean up.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-07 16:36:18 +00:00