From: Craig H. <cr...@gu...> - 2006-11-29 08:06:45
|
I've checked in a number of updates to the buildroot trunk, bringing it up to using gcc 4.1.1, as well as turning on the ARM EABI mode, and changing the compiler optimization flags to use iWMMXt instructions as well. The EABI thing seems to have modified the mmap () call, such that it now has the semantics of mmap2() instead -- that is, the final argument is a page number, not a byte offset. I'm not sure if this is "correct", or if the uclibc patch I applied did it wrong. It strikes me that if the call semantics are mmap2() then it should darn well be called mmap2() and not mmap(). I just spent most of today trying to figure out why pxaregs wasn't working right until I figured this out. So in any case, until this settles down, if you are using mmap() in your code, be aware of this, and check the file package/pxaregs/ pxaregs-arm-eabi-mmap.patch to see how I dealt with this in the pxaregs case. Ultimately, I think that uclibc ought to be defining mmap() with the old semantics and mmap2() with the new semantics to avoid confusion... C |