Custom made haiku64 target issues

Nathan Mentley nathanmentley@gmail.com
Tue Jun 15 03:56:00 GMT 2010


> > For example. in this code segment:
> >
> > if (address < KERNEL_BASE || address + size > sNextVirtualAddress) {
> >         panic("mmu_free: asked to unmap out of range region (%p, size %
> > lx)\n",
> > (void *)address, size);
> > }
> >
> > (address + size > sNextVirtualAddress) always returns true... no matter
> > what size (address + size) actually is.
> 
> What are the types of these variables?  Perhaps something is a signed
> type when it should be an unsigned type.

I figured out this issue. It basically fixed itself when I the multilib
variable was setup correctly. Since the multilib wasn't set up correctly
the address variable of type addr_t was a 64bit int while the other
variables were 32bit size_t.

> > Secondly, While building gcc it outputs a x86_64 gcclib, but it doesn't
> > output the x86 gcclib. Is there an option or setting in the build script
> > that will output the gcclib for both architectures?
> 
> You have to set up a multilib.  See, e.g., gcc/config/i386/t-linux64.
> 
> Ian

Thanks for the assistance.



More information about the Gcc-help mailing list