|
From: Naveen K. <g_n...@ya...> - 2005-08-09 22:25:11
|
> > I had a similar problem(no auxv) in Solaris 8 when
> > stage1 was compiled as static. You just need to
make
> > up the remaining auxv entries with known info
about
> > the OS and stage2 exe and add it just like
> > AT_UME_PADFD or AT_UME_EXECFD.
> >
>I have tried this, and the NetBSD linker is still
>confused and crashes
>before stage 2 can be loaded.
>Anyway we are working to debug this and get a dynamic
>stage2 loaded for
>now=
.
>Regards,
>Kailash
Another thing you can check if is whether the auxv
structures are aligned correctly. In stage1 fix_auxv
if delta % sizeof(*auxv) != 0 you are going to have
problems in the current fixup. You need to do some
extra work for that.
if( delta % sizeof(*auxv) != 0 )
{
fprintf(stderr, "Fix auxv better....\n");
struct ume_auxv* temp_auxv = auxv;
while( temp_auxv->a_type != AT_NULL )
temp_auxv++;
memmove( (char*)auxv - delta % sizeof(*auxv) ,
auxv, (temp_auxv + 1 - auxv) * sizeof(*auxv) );
auxv = (char*)auxv - delta % sizeof(*auxv);
}
auxv -= delta/sizeof(*auxv);
Naveen
__________________________________
Yahoo! Mail for Mobile
Take Yahoo! Mail with you! Check email on your mobile phone.
http://mobile.yahoo.com/learn/mail
|