I am sorry I forgot to say my opinion and attach sample program. I think the solution of this problem is which following them - __getpagesize function should returns the real pagesize - It needs to prepare the another function that returns real pagesize for malloc instead. I have confirmed this problem, the Kernel version is 2.4.7 and the libc version is 2.2.4. This is a sample program. > > > Hello all. > > If this problem has already known, I am sorry. > > I am investigating the problem that calloc returns no > cleared area. > It was made on IA32 system and executes on IA64. > I think calloc expects to clear the memories sbrk > returned. But When the program made on IA32 is > executing on IA64 system, sbrk sometimes returns no > cleared area. > Because the Kernel on IA64 alignes the memories 16K > bytes. However, when the progmam made on IA32 is > executing on IA64, the function __getpagesize returns > 4Kbytes. At this case, if the memories that calloc > requests to return sbrk(-xxx) is smaller than > 16Kbytes, the kernel do not unmap this memory. > (I think that the time that the memories clears 0 by > the kernel is when the kernel maps memories by the signal) > > How do you think? > > -- > Regards, > Hideki Yamamoto (V).v.(V) # Empowered by Innovation >
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:05 EST