> In the guest directory the line that LD uses to make the final object has
> kernel:  $(OBJS)
>         $(CC) -o kernel -Wl, -Ttext, 0x100000 -nostartfiles -nostdlib
> $(OBJS)
>
> BeOS does not like the .text section at this location  Can this BE ;-)
> changed or is this critical to the operation of the test kernels?  My
> second question is does anyone have any idea why BeOS' compiler spits out
> "NOT ENOUGH ROOM FOR PROGRAM HEADERS" when  -Ttext,0x100000 is left in
the
> options list?  The objects compile successfully if the compiler is
allowed
> to place the .text section.

Don't use the BeOS version of GNU ld to produce a kernel.
Better to grab the gcc source and build a linux cross-compiler,
then build the kernel with that. The added benefit is that you'll get
the same kernel as those guys working under linux. Better yet,
get them to produce a kernel for you, so that everyone works
with the same kernel binary.

BeOS ld doesn't want to put text at 0x100000 because under BeOS,
this puts you right into kernel space. Kernel space in BeOS is
0x00000000-0x80000000, user space is above 0x80000000.
Yes, this is reversed from Windows/Linux. Kinda killed the
BeWine project, in fact ;-)

Cheers,
--Jonathan

PS: Nick: feel free to contact me directly if you have other BeOS
problems.



Reply via email to