Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold 44c11fdbc1 Added console support functions required for the generic textual boot
menu. The menu basically works, but has a couple of problems. The
harmless ones are graphical: we get cursor artifacts when the colors
are changed, and the item selection doesn't quite look as it should.
More serious is the lack of Home/End, Page Up/Down keys. All I read from
the console is a '\0' byte when such a key is pressed. The cursor keys
work fortunately. I mapped the functionality of Page Up/Down
additionally to the Left/Right cursor keys. So the menu should be usable
at least. I guess, I'll leave it in that state; Axel wants a graphical
menu anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:49:45 +00:00
Ingo Weinhold b821cecc36 Added of_interpret for interpreting arbitrary Forth code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:40:15 +00:00
Ingo Weinhold 4c62b0919f Pulled platform independent part of the BIOS boot menu out into
platform/generic/...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:35:01 +00:00
Ingo Weinhold 59d0807e01 Missing newline in output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:31:19 +00:00
Ingo Weinhold ccf56c61be Fixed PPC boot loader linker script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-18 14:37:34 +00:00
Ingo Weinhold 8f75497433 Fixed endless loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-18 14:35:31 +00:00
Ingo Weinhold 2a1f9fe07a Rewrote KernelAddon. We were using Addon before, with the undesired side
effect that we were linking not only against the complete glue code, but
also against libroot.so. Now we explicitly link against
crtbegin.o/crtend.o only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 13:01:25 +00:00
Ingo Weinhold cc094b2cb8 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:31:02 +00:00
Ingo Weinhold 210c204d16 Do I miss something? Why explicitly use headers/cpp?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:26:54 +00:00
Ingo Weinhold 4612b9835c Directly use the atomic.S from libroot. This avoids needing to have a
file per architecture here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:25:02 +00:00
Ingo Weinhold cbe35e2031 GCC 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:22:51 +00:00
Ingo Weinhold bedeb04ec8 Forgot to check this in. GCC 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 15:44:03 +00:00
Ingo Weinhold 998eb12d97 Ouch! Sometimes one simply doesn't find words... I wonder whether the
author ever checked the documentation for the function he was trying to
use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 14:09:30 +00:00
Ingo Weinhold fad6687c9a Fixed PPC build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 14:01:46 +00:00
Ingo Weinhold 2fee50849c GCC 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:53:26 +00:00
Ingo Weinhold 711f8274f3 BlankLogo is also needed on PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:50:20 +00:00
Ingo Weinhold d0769921ab Use atomic_set() instead of hard-coded x86 inline asm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:44:40 +00:00
Ingo Weinhold c6745ed536 Fix build for PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:34:28 +00:00
Ingo Weinhold 6e040d83ea Added __swap_{float,double} for PPC. They are probably horribly
suboptimal (if working at all) -- review is appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:26:50 +00:00
Ingo Weinhold d85fe0ec25 Compatibility functions. Actually not needed for PPC Haiku, but it's
easier to define them for now, since they are used unconditionally e.g.
in the Tracker sources.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:25:00 +00:00
Ingo Weinhold ff29286ffd Ouch, those should have been gone since the activation of new build
system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 23:39:30 +00:00
Ingo Weinhold de69ef37bb Added a good deal of "#ifdef __INTEL__"s to allow compilation on PPC. As
one of the TODOs already says, the architecture specific parts should be
factored out into separate source files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 23:12:49 +00:00
Ingo Weinhold fe14a904a8 * Implemented [sig]{set,long}jmp() for PPC. No idea, if it is any good,
but it compiles at least. :-)
* Pulled the architecture specific part out of <posix/setjmp.h> into
  <posix/arch/<arch>/arch_setjmp.h>.
* Moved setjmp_save_sigs.c from the x86 specific implementation into a
  "generic" sibling directory, since it is reusable (and actually used
  by the PPC implementation).
* Added generic/longjmp_return.c containing a function __longjmp_return,
  which is invoked at the end of siglongjmp(), resetting the signal mask
  and validating the return value. It is used by the PPC implementation,
  and should also be used by the x86 implementation, but I'll leave that
  to someone who's motivated enough to also test it. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 22:56:52 +00:00
Ingo Weinhold 901f399036 * Removed libroot/posix/math completely and added the respective
functions from glibc 2.3.2. Adding those one by one is extremely
  boring and time-consuming work. We should probably just remove the
  math stuff again, add a verbatim copy of the glibc directories, and
  shuffle things around afterwards.
* Note that for x86 holds sizeof(long double) == 96. I removed the
  generic 128 bit long double functions that were in use before and
  added respective 96 bit versions to arch/x86 (or left them out, if
  they weren't used). For PPC the System V ABI spec supplement specifies
  sizeof(long double) == 128, but I had trouble configuring gcc to
  actually use that setting (looks like there simply is no support for
  TI mode for PPC 32). So we have to live with sizeof(long double) ==
  sizeof(double) == 64 for the time being.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:39:04 +00:00
Ingo Weinhold 27de84142b Empty implementations of PPC stack trace functions to make the build
system happy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:17:49 +00:00
Ingo Weinhold b4add623a4 Fixed gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:16:41 +00:00
Ingo Weinhold a41a0db6f2 Solved linkage problems. Virtual destructors apparently shouldn't be defined
inline. Commented undefined virtual methods. BBitmapBuffer is still used, so
is ViewHWInterface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 17:48:00 +00:00
Ingo Weinhold e695fe845d Removed atan.c. For PPC we're using the glibc implementation, for
x86 the Haiku image still builds, so it is apparently not used. I
guess it would be best to abandon our posix_math.o completely and
use the glibc math implementations instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:23:30 +00:00
Ingo Weinhold 379f146735 Added more missing math functions for PPC from glibc 2.3.2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:16:39 +00:00
Ingo Weinhold 7c360a1007 Removed the x86 specific __compare_and_swap() implementation and
added a generic implementation using atomic_test_and_set().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:11:44 +00:00
Ingo Weinhold 0799002097 Added an unimplemented __arch_init_time() for PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:09:42 +00:00
Ingo Weinhold 5d9789688d Remove eabi.o from the libgcc objects. It's in the static libgcc for PPC
(would not be in the dynamic one though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:08:20 +00:00
Ingo Weinhold 8e17108ffa Add some more PPC math functions from glibc 2.3.2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 00:27:03 +00:00
Ingo Weinhold c1437015dd Moved architecture independent sources into new subdirectory "generic".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 23:14:51 +00:00
Ingo Weinhold c729b01278 The <arch_config.h> header is needed in <syscalls.h>, since we're using
the atomic functions related macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 23:11:02 +00:00
Ingo Weinhold e616992242 Fixed compilation with our PPC compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:42:57 +00:00
Ingo Weinhold 8b150d6067 Added PPC specific and some generic glibc headers. Taken from
glibc 2.3.2, which seems to be the version used in other places,
though I also found older files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:41:39 +00:00
Ingo Weinhold 2034e20826 Added building of an empty posix_arch_ppc.o to make the build
system happy for the time being. We need real setjmp()/longjmp()
implementations for PPC eventually, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:37:25 +00:00
Ingo Weinhold 98d294ceb6 Added dummy makebootable for boot platform Open Firmware. Just
to make the build system happy for now. We'll see later what we
have to do.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:34:01 +00:00
Ingo Weinhold 817656943f Updated ReadMe to reflect the build system changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 22:47:56 +00:00
Ingo Weinhold 365eac1bea Support PPC as target architecture.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 22:47:04 +00:00
Ingo Weinhold 20ab75e64c Adjusted build_cross_tools_gcc4 and configure to be able to build PPC
build tools as well. The configure option --build-cross-tools-gcc4 has a
new parameter to specify the architecture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 22:45:11 +00:00
Ingo Weinhold 9743fe8729 When building the gcc 4 cross tools we now configure for machine
i586-pc-haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-05 15:01:20 +00:00
Ingo Weinhold b22fc00fa8 Fixed invalid use of STL vector. I wonder, why I always involuntarily
shudder when looking into MDR code (and happily use Beam). Error
checking, anyone?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 23:55:02 +00:00
Ingo Weinhold 9a8ef58959 Build fixes for gcc 4 by Ilzu Siiteri. Small changes by myself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 23:41:40 +00:00
Ingo Weinhold 2ae568931f Reworked the way how the gensyscalls stuff finds out about
the sizes and alignments of syscall parameters. It no longer
generates and compiles functions with the same signature as the
syscalls. This simply doesn't generally work for cross-compilation.
Instead we provide a bit of architecture-specific code that knows
how things work for the target architecture.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 12:53:55 +00:00
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