|
From: Naveen K. <g_n...@ya...> - 2005-01-16 15:07:58
|
--- Jeremy Fitzhardinge <je...@go...> wrote: > On Sat, 2005-01-15 at 21:38 -0800, Naveen Kumar > wrote: > > Fixed it. I changed the interpreter for stage2 to > > libc.so instead of ld.so. All executables by > default > > use ld.so and they work fine but the gcc exe > itself > > uses libc for some reason. So I decided to give > that a > > try and it worked. Dont know why hey stage2 is > > starting. Now I get a > > Excellent! > > > The address 0x601DFB80 is the stage2 elf brkbase. > Due > > to this(brk-ENOMEM) any malloc calls or other > calls > > that depend on it fail. Any pointers ??? > > stage1.c deliberately sets the RLIMIT_DATA limit to > 0 so that all brk > calls fail. glibc's malloc() falls back to using > mmap, which is what we > want because brk() will put stuff in the wrong > place, but we've padded > the address space so that mmap goes in the right > place. Perhaps you > could try overriding malloc &c with versions that > use mmap, or perhaps > there's another malloc library which comes with > Solaris which does this > (or maybe a mode switch for libc malloc). > > BTW, what address-space layout are you using? > > J What address-space layout ? You mean what kickstart_base etc ? G __________________________________ Do you Yahoo!? All your favorites on one personal page Try My Yahoo! http://my.yahoo.com |