This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: mremap prototyp


On Wed, 2002-04-03 at 16:29, Andreas Jaeger wrote:
> 
> Andi noticed that our mremap implementation is not correct.
> 
> The Linux kernel implements mremap as:
> 
> asmlinkage unsigned long sys_mremap(unsigned long addr,
> 	unsigned long old_len, unsigned long new_len,
> 	unsigned long flags, unsigned long new_addr)
> 
> 
> But we have:
> extern void *mremap (void *__addr, size_t __old_len, size_t __new_len,
>                      int __may_move) __THROW;
> 
> What shall we do?  Add the fifth argument everywhere?  Can we just
> change the interface in glibc?

The existing implementation is correct, it just doesn't support the full
semantics that the kernel provides.  You can't change it as this will
break all existing software.  The right thing to do if people actually
want to use this extended interface would be to add some kind of new
mremap2 function that allows you to pass in "new_addr".

p.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]