This is the mail archive of the libc-help@sourceware.org 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: Custom malloc/mmap for x86_64


Thank you guys for your quick replies. I have a separate library already 
working independently that supports my work. I was asked to migrate
 it to glibc to provide an actual implementation and deploy it on a 
real system. 

So to answer your questions: my_malloc and malloc, as well as 
my_mmap and mmap all have to be supported and may be called 
at any time. Whenever free() is called, it works perfectly since both
 malloc and my_malloc operate over the same data structures, 
so I do not have to worry about keeping track of space that way. 
Moreover, malloc and my_malloc can grow the same 
heap/virtual address space for the given process. 

So, basically, we just need to overload the above methods. I do not want 
to overwrite mmap nor malloc. I know how to do that via the -wrap flag 
as you guys mentioned. I also know about LD_PRELOAD variable.

But, back to my old question. Out of curiosity because I like to
 know how things really work. How does glibc exaclty generate
 wrappers for mmap, munmap, et al.?

I know the make-syscals.sh script creates syscall wrappers for
 the methods specified in syscalls.list. But when I looked in there
 I did not see mmap, munmap, sbrk, etc.

Thank you all!


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