[PATCH] ldso: use _dl_pagesize for library-loading addresses and offsets

Jeremy Kerr jk at ozlabs.org
Tue Nov 25 23:35:07 UTC 2008


Hi Bernhard,

> >-	maxvma = (maxvma + ADDR_ALIGN) & ~ADDR_ALIGN;
> >+	addr_align = _dl_pagesize - 1;
> >+	page_align = ~addr_align;
> >+	offs_align = page_align & ~(1 << 31);
>
> This would brake _MIPS_SIM_ABI64, wouldn't it.

Ah, yep. I was making invalid assumptions about the sign bit.

> >+
> >+	maxvma = (maxvma + addr_align) & ~addr_align;
>
> This should perhaps read
> maxvma = (maxvma + ADDR_ALIGN) & PAGE_ALIGN;
> for consistency.

Ok, will do that as a separate change.

> Please adjust the per arch dl-sysdep.h defines instead (which you
> didn't remove, btw), something like the attached, untested patchlet.

I trying for something a little less intrusive for my first uClibc 
patch, but if replacing the _ALIGN macros completely is okay, I'll do 
that.

I'm doing a new patch - since (almost) all of the arch-specific _ALIGN 
macros are identical now, we can merge them into ldso.h, and allow 
arches to override when necessary. Patches coming.

Cheers,


Jeremy



More information about the uClibc mailing list