Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold 353d20c0c5 * libroot and the runtime loader are no longer built with kernel rules.
* New rule Ld, analogously to KernelLd.
* Added StaticLibrary parameter for supplying additional objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 13:31:50 +00:00
Ingo Weinhold 38f6264454 Reorganized building of kernel, boot loader, and libroot.
Each component is built in the respective subdirectory now
and no longer in src/system/Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 00:27:19 +00:00
Ingo Weinhold c7b36669c2 Moved bin2h and bin2asm to src/tools/misc (no longer added to the
build). We don't really need them any longer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:34:05 +00:00
Ingo Weinhold 74f85acd35 Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:25:29 +00:00
Ingo Weinhold eb94488877 Fixed image build broken since revision 15169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:16:20 +00:00
Ingo Weinhold e3c1eb20cf Removed superfluous AddDirectoryToHaikuImage invocations.
Add{Files,Symlink}ToHaikuImage do that anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 22:58:40 +00:00
Ingo Weinhold 6724a1930d Adjusted build_cross_tools[_gcc4] scripts according to the new directory
layout in the buildtools module.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 23:34:51 +00:00
Ingo Weinhold 32bf6c0b07 LibraryFromObjects did set AR on $(1) instead of on $(_l), the latter
one being $(1:S=$(SUFLIB)). Thus the wrong AR would be used when
the name passed to LibraryFromObjects didn't have the .a suffix yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 00:57:21 +00:00
Ingo Weinhold 3843df8eba Don't use host include options with the target compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 23:23:04 +00:00
Ingo Weinhold 29306dbe81 Host platform gcc 4 fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 22:29:31 +00:00
Ingo Weinhold 63ea9a2870 Missing "using std::nothrow".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 14:20:38 +00:00
Ingo Weinhold 29ef597dc6 * Added build_cross_tools_gcc4 script which builds gcc 4 and binutils
from the sources. Added respective configure option
  --build-cross-tools-gcc4.
* Fixed running "configure --build-cross-tools" from another directory
  than the source dir. The parameter to the script was missing and thus
  the tools were created in <sources>/generated.
* Removed stdc++ lib header dir ".../debug". One is supposed to include
  <debug/...> to get the debug headers.
* The stdc++ lib header dirs are now listed one per line in the
  generated BuildConfig. This works around the 512 bytes jam line length
  limit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 14:17:04 +00:00
Ingo Weinhold 65f512e089 Fixed gcc 4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 22:53:30 +00:00
Ingo Weinhold df23b0271e Corrected the sizes of the text and data segments reported to the
kernel. They are now the sizes of the allocated areas, which might be a
bit more than the actually used size, but at least they are not
potentially less, as they were before. This could have unexpected
effects like the Tracker not finding its resources... 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 00:27:42 +00:00
Ingo Weinhold 93aeb8c3bc Added small app testing throwing/catching of exceptions beyond shared
object bounds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 21:34:32 +00:00
Ingo Weinhold 54fc29e319 gcc 4 fix. White-space after a \ character at the end of a line is
ignored and the line concatenated with the next one -- making it a
comment, too. Either a bug or a newly implemented feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 21:31:34 +00:00
Ingo Weinhold 3d5caf598e Fixed gcc 4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 20:56:35 +00:00
Ingo Weinhold aeef8a1098 Reverted to the previous version. I was too quick; the boot loader
doesn't link against libsupc++ and still needs the symbol.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 20:51:17 +00:00
Ingo Weinhold 9b2e76121b No need to define __cxa_pure_virtual. We're linking against libsupc++ anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:35:41 +00:00
Ingo Weinhold 6d865282d4 Link the kernel against libsupc++.a -- we're using RTTI after all. Added
missing symbols to kernel_cpp.cpp.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:25:54 +00:00
Ingo Weinhold 37d96a4c63 Made gcc 4 proof.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:23:54 +00:00
Ingo Weinhold 9cc1e772dc More debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:22:55 +00:00
Ingo Weinhold f3d8bb347a Default Key_map was misplaced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:11:44 +00:00
Ingo Weinhold d4637d3200 Fixed line breaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 15:48:17 +00:00
Ingo Weinhold ad512dbeac Print error code when relocation failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 15:21:54 +00:00
Ingo Weinhold 9818fa6bc3 add_variable() just threw away the freshly copied environment (makes me
wonder why things worked nevertheless with the old gcc). We now also use
realloc() instead of malloc()+memcpy(), and check add_variable()'s
return code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 15:12:19 +00:00
Ingo Weinhold d89467ed24 Fixed potential endless recursion in FBC code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:10:30 +00:00
Ingo Weinhold d28317fcba Added small RTTI test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 15:08:51 +00:00
Ingo Weinhold 9469b271e8 Typo that broke the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 14:26:14 +00:00
Ingo Weinhold c89fc8752d * More consequent handling of libsupc++. configure looks it up now and
provides it via BuildConfig. We link everything against it.
* Temporarily pass --no-undefined to the linker. Should be in the
  compiler specs, but isn't in the gcc 4 I built.
* Define _BEOS_R5_COMPATIBLE_ macro when building with gcc 2. Can be
  used in headers for instance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 13:47:52 +00:00
Ingo Weinhold 31c5d829c9 Don't mark inline what is defined in the source file, but used from
other compilation units too. gcc 4 is quite consequent and doesn't
generate non-inlined code for such a function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 13:39:02 +00:00
Ingo Weinhold c5f20ef053 Added finitef() implementation. Won't work yet, since __fpclassifyf() is
not implemented.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 12:28:21 +00:00
Ingo Weinhold ef9b2fc28b Added temporary implementation of strxfrm().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 12:07:29 +00:00
Ingo Weinhold e84b16339c Fixed loading of modules whose text and data segments have a little
space inbetween. The segments can be in inverse order now, too.
The same should be done in the kernel, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 10:24:45 +00:00
Ingo Weinhold 22671ef7cf Apparently gcc 4 aligns the input .ctors sections on 4 byte boundaries,
which could cause the __ctor_list pointer to be off.

PS: We can get rid of most of the ld scripts. ATM only kernel.ld,
boot_loader.ld, and add-on.ld are still in use. The latter one probably
unnecessarily.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 21:08:15 +00:00
Ingo Weinhold 90b6f0e5fe Replaced a few lstat()s with stat()s where symlinks to directories would
be legal. This might even fix the bug that build tools like xres or
settype couldn't find an existing file under Linux (was never able to
reproduce that one, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 17:22:25 +00:00
Ingo Weinhold 87c9daae2b _debuggerAssert() was missing for debug build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 17:17:00 +00:00
Ingo Weinhold 0b10086c24 Removed obsolete libappserver.so from the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 16:49:12 +00:00
Ingo Weinhold 758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Ingo Weinhold 8b5934c975 * Added support for compiling Haiku with GCC 4. The main difference is that
we use the libstdc++ (including it's headers) that comes with the
  compiler.
* Apparently option "-I-" has been deprecated, which is why we now treat the
  include stuff a bit differently.
* Removed avcodec from the Haiku image, since the library wouldn't build with
  gcc 4, and I'm not in the mood to fix that (declaration of an array of an
  incomplete type).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 22:58:54 +00:00
Ingo Weinhold 01eda82dbf Missing return types, illegal conversion all over the place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 21:25:31 +00:00
Ingo Weinhold 8c8e8b994e gcc 4 fix. Networking team, please check whether this preserves the intended
semantics.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 18:48:54 +00:00
Ingo Weinhold 56436a1ab8 GCC 4 fix. Might have changed the semantics, but I refuse to hurt
my brain by trying to understand code using gotos. People, learn
structured programming!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 17:49:05 +00:00
Ingo Weinhold e4a5c29b25 Missing pointer dereferencing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 15:19:42 +00:00
Ingo Weinhold 88ccb61ad5 Removed GCC headers float.h and varargs.h. Fixed limits.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 18:01:16 +00:00
Ingo Weinhold 5fdbbf2ba5 Renamed UnitTesterHelper.* to UnitTester.*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 16:23:11 +00:00
Ingo Weinhold 5cdc84cc43 No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 16:19:15 +00:00
Ingo Weinhold 155b583ac3 Fixed unit tests build for platforms libbe_test and r5. Only randomly tested
a few whether they actually work.
New pseudo target "unittests", which builds all unit tests for the currently
set TARGET_PLATFORM. They are placed in generated/tests/<platform>/unittests.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 16:17:31 +00:00
Ingo Weinhold 14998c8bd5 Zeta apparently uses a OS major version >= 6.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-08 09:29:13 +00:00
Ingo Weinhold 677aaae187 HaikuBuildCompatibility.h has been renamed to BeOSBuildCompatibility.h.
Should fix the build under Linux.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 20:42:06 +00:00
Ingo Weinhold 64c51217b2 Fixed header guard name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 18:17:21 +00:00
Ingo Weinhold ca9e5772c3 * Reintroduced third LinkAgainst parameter <mapLibs>, defaulting to true.
Library names are now mapped for all targets but "host" (not only for
  "haiku") -- added one more level of indirection to achieve that.
  (TARGET_LIBRARY_NAME_MAP -> *_LIBRARY_NAME_MAP_*).
* Renamed build/HaikuBuildCompatibility.h to BeOSBuildCompatibility.h
  (auto-included when compiling something that uses the Be API for platform
  "host" on anon-BeOS platform), and introduced build/HaikuBuildCompatibility.h,
  which can be included when compiling something that can be built for both,
  Haiku and BeOS compatible platforms.
* Introduced libhaikucompat.a, a library that adds a few functions existing
  under Haiku, but not under BeOS.
* New rule AddSubDirSupportedPlatforms.
* Renamed libopenbeos.so to libbe_haiku.so.
* Introduced new target platform "libbe_test", which is basically equivalent
  to a BeOS compatible host platform target, with the exception, that instead
  of the host platform's libbe.so a special build of Haiku's libbe.so
  (libbe_haiku.so (formerly known as libopenbeos.so)) is used. Furthermore
  Haiku's public app, interface, storage, and support kit headers are used
  when compiling. This replaces the less nice way in which the test app server
  and applications for this test environment were built.
  When building for platform "libbe_test", the library name "be" is
  autotranslated to "libbe_haiku.so". Thus most applications don't need
  special fiddling when them building them for the app server test environment;
  usually an "AddSubDirSupportedPlatforms libbe_test ;" will suffice.
* Reduced the dependencies of <syscalls.h> and fixed problems caused by this
  (e.g. source files not including the needed headers directly).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 16:07:25 +00:00
Ingo Weinhold c697d698c3 Added missing shebang. Thanks to Mathew Schofield.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 09:43:46 +00:00
Ingo Weinhold da4313d711 Fixed copy and paste oversight that led to networking files being placed in
beos/etc/Keymap/ instead of the keymap files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 23:55:39 +00:00
Ingo Weinhold c096f1e6f4 Fixed bison build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 23:24:15 +00:00
Ingo Weinhold 15694b3032 Will take over the functionality of HaikuBuildCompatiblity.h, while that one
will make a BeOS platform more Haiku compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 14:48:35 +00:00
Ingo Weinhold 54bb4f57cf Fixed build for target R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 13:41:12 +00:00
Ingo Weinhold 66d1795a86 Explicitly load symbols from libraries after loading a program. gdb
doesn't work quite well when symbols are not loaded -- e.g. stack crawls
are usually broken. Also stack crawls ending in a syscall work. gdb can
deal well enough with frameless function, which I realized, of course,
only after writing code for explicitly supporting syscall functions.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 11:48:26 +00:00
Ingo Weinhold f187f73e14 Added (currently still empty) dir headers/legacy for legacy headers and rules
UseLegacyHeaders and UseLegacyObjectHeaders to use them. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 15:14:06 +00:00
Ingo Weinhold e2bc2d6a67 * We do now filter the debug nub thread out of the list of threads.
* When being asked for a thread's CPU state, we stop the thread now. Not
  sure, if that is as it is supposed to work, but I don't see any other
  way. A side effect is that "info threads" will stop all threads.
  Another side effect is, that switching between threads should now work
  properly. Unless there is another problem, I'm not aware of, that is.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 14:46:31 +00:00
Ingo Weinhold 571bb2b2a6 Simplified the x86 syscall interface a bit. We no longer pass a pointer
to the parameters nor the number of parameters; the kernel is able to
get both without problems.

The syscall functions in libroot (_kern_*()) are now self-contained
(they don't "jmp" to separate code anymore), which at least
theoretically allows gdb to print a stack trace with the syscall
function on the top when a thread is currently performing a syscall.
Practically it doesn't work yet, though, since those functions are
frameless (i.e. create no stack frame) which needs special support
I haven't implemented yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 14:36:46 +00:00
Ingo Weinhold 37a25a6ceb * Fail, if debug_thread() is invoked for the debug nub thread.
* To always be on the safe side, thread_hit_debug_event() now checks
  whether the thread is the debug nub thread.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 00:40:36 +00:00
Ingo Weinhold 8811e46163 Fixed SimpleTest. It's basically another Executable synonym, with the
exception that it turns on debugging for the target by default (unless
NO_TEST_DEBUG is defined or DEBUG has been overridden before).

Note, that SimpleTest makes no assumptions about the supported target
platforms. So, if the target should be buildable for other platforms
than Haiku, that has to be specified.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 23:31:20 +00:00
Ingo Weinhold 551d682030 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:57:37 +00:00
Ingo Weinhold 4b2397d17b Removed obsolete header <Session.h>.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:44:33 +00:00
Ingo Weinhold 42f8a2603e Fixed last commit. Now we define HAIKU_TARGET_PLATFORM_* macros correctly
depending on the TARGET_PLATFORM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 16:24:29 +00:00
Ingo Weinhold 723a9e90c9 We define a preprocessor macro HAIKU_TARGET_PLATFORM_{BEOS,BONE,DANO,HAIKU,LINUX} for identifying the platform something is built for.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 16:18:01 +00:00
Ingo Weinhold 0755123f83 Fixed most of the problems when building the MDR package for target R5.
Some add-ons don't build, since they include non-R5 networking headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:51:46 +00:00
Ingo Weinhold 94978fa6a7 Renamed token type TYPE to RTYPE, so that the generated define won't conflict
with Dano's <Message.h> header. Reverted usage of Haiku headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:18:03 +00:00
Ingo Weinhold 24ecde09c8 Source files/headers generated by lex or yacc need to inherit the platform
from the respective object file or they are misplaced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:14:05 +00:00
Ingo Weinhold b79a08b537 Fixed ACPI build for target R5. Doesn't build for Haiku: we don't have a
<posix/va_list.h> header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 00:15:17 +00:00
Ingo Weinhold 0df3cc9c86 Re-enabled host platform BeOS version detection. Tested only under BeOS R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 00:00:27 +00:00
Ingo Weinhold 94435dfc40 Deskbar and Tracker where wrongly located. Changed default Haiku install
dir to "/Haiku" (was "/haiku").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 22:27:52 +00:00
Ingo Weinhold 338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Ingo Weinhold 4b9ec73e99 We need to override the virtual close_fd() in BFile for binary compatibility
(bug #43).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-12 09:26:59 +00:00
Ingo Weinhold 7d11acca6d Spotted by Axel: If the caller of a load_image_etc() was waiting for the new team to be loaded, but the team died before finishing loading we were notifying the caller only in case the team had already more than one thread.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-04 22:45:04 +00:00
Ingo Weinhold 2826a379d5 The app server for the BeOS test environment is now built by
src/tests/servers/app/Jamfile. This makes the original Jamfile much cleaner.
Note that you now have to maintain two Jamfiles when adding/removing sources.
The test app server is called haiku_app_server, its library
libhaikuappserver.so. I adjusted a few paths in scripts accordingly, but
I may have missed something elsewhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-29 14:44:35 +00:00
Ingo Weinhold 3436ff6e3a KMessage doesn't require the USER macro anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-29 13:16:38 +00:00
Ingo Weinhold d35f0da76d Aesthetical change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-29 13:15:39 +00:00
Ingo Weinhold 18b5424c5f * Implemented BRoster::ActivateApp().
* Added the respective case statement in AppServer::DispatchMessage().
  The code that actually activates the app is still missing.
* Removed the remnants of the old way of notifying the registrar about
  what app got activated (the activated client window did that).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-24 21:10:33 +00:00
Ingo Weinhold f3b3bb4ebd No longer build RosterShell as unit test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-24 21:05:18 +00:00
Ingo Weinhold 5e14f5dae0 Make sure the division by zero is not optimized away.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:53:57 +00:00
Ingo Weinhold 0e2218e5b9 Provide a useful window title for the debug terminal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:52:51 +00:00
Ingo Weinhold 4cbc183b53 Added option "-t" to specify the window title.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:52:06 +00:00
Ingo Weinhold 7f53c2cc96 We now make sure, that images always have absolute paths, otherwise
their path could be invalid in other contexts (e.g. the debug server might
be unabled to find them). This seems to be what BeOS does, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:51:02 +00:00
Ingo Weinhold d08379a80b * Now we deal with all x86 exceptions, i.e. we no longer panic() when a
user application performs a division by zero or causes a general
  protection fault. For some exceptions (e.g. machine check) I wasn't
  quite sure whether they can be caused by user apps at all, so we panic()
  in those cases. Wouldn't harm, if someone more knowledgable would check
  this, though.
* Removed the unused fault handling stuff, respectively moved the little
  that was used into x86/arch_int.c.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:47:08 +00:00
Ingo Weinhold 71903a151d This is the kind of small bug that takes hours to track down: The missing
grist caused bfd to be compiled using gdb's config.h. This made it think
Haiku had no fcntl() and thus assumed shared objects were opened r/w instead
of read-only, which made it write back data when closing the files. So this
fixes the problem that gdb damages the shared objects it had loaded.

Basically two questions remain:
1) Why does BFD write something into the files that makes them invalid?
2) Why was it possible to write something into the read-only opened files?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 19:37:41 +00:00
Ingo Weinhold 6ff2656c03 * We now use libdebug.so, which saves us a couple lines of code.
* Print the debugger message in case the debugged team called debugger(),
  and the description of an occurred exception respectively.
* Properly keep gdb's internal thread list up to date. This fixes the
  problem that an attached debugger always resumed all threads of the
  debugged team.
* A bit of cleanup of the attaching code.

Discovered an ugly bug: When invoking gdb with an executable -- regardless
of whether attaching gdb to a running process or just starting a debugger
session with the executable -- the executable is modified. I tested with
"crashing_app" and in the second debug session gdb fails to read the debug
info from the file and encounters a weird error when closing the file:
"No space left on device." I have the suspicion that this is another bug
in Axel's VM/file cache pet. :-P



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 23:29:04 +00:00
Ingo Weinhold a79265708d Set the members of a destroyed debug_context to invalid values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 23:14:16 +00:00
Ingo Weinhold a52d8b3391 Made the debug output more robust.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 23:12:04 +00:00
Ingo Weinhold 0c87981e3b We now also relocate the executable file in the current_sos() hook. Other
implementations (e.g. SVR4) don't do that, but I don't see how it could
work otherwise. Maybe other systems place the executable's code exactly
where specified in the executable and hence noone ever noticed...

Anyway, this makes stack traces (and probably other things that were broken
before) work with an attached gdb.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 10:48:57 +00:00
Ingo Weinhold 2ee6ee5b8c Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 10:40:23 +00:00
Ingo Weinhold c085de40db Corrected the note about static symbols.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 15:20:35 +00:00
Ingo Weinhold a93b45f00f Understood why static symbols are not found (we can't without reading the
concerned shared object's file, which probably is a bit overkill) and added
respective comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 23:44:43 +00:00
Ingo Weinhold 2fd4a0411b Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 16:37:11 +00:00
Ingo Weinhold aff60bb217 Added a crashing test app. Food for the debug server and gdb. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 00:27:10 +00:00
Ingo Weinhold 6e8834d0ee Removed forced debug output. Verified: _kern_shutdown(reboot = false) reboots too in qemu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:58:39 +00:00
Ingo Weinhold 852425d470 Also consider the kernel team a "vital system app" that deserves not to be killed. Shutdown now works under qemu, although even shutdown reboots...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:47:57 +00:00
Ingo Weinhold aeaa4a21a4 It's considered rude to try killing the kernel team.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:38:07 +00:00
Ingo Weinhold 9a323d3533 Added support for looking up symbols of other team to libdebug. The
debug_server uses this feature to print stack traces with symbols.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 21:12:32 +00:00