This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: change .got.plt in user application
- From: Yubin Ruan <ablacktshirt at gmail dot com>
- To: Vivek Das Mohapatra <vivek at collabora dot com>
- Cc: libc-help at sourceware dot org
- Date: Tue, 12 Sep 2017 10:45:43 +0800
- Subject: Re: change .got.plt in user application
- Authentication-results: sourceware.org; auth=none
- References: <CAJYFCiNZZD+R_e=6zws2s5wds-8R6vOaQkDZ88dhcJgm_wgCpQ@mail.gmail.com> <alpine.DEB.2.20.1709111444410.8316@noise.cbg.collabora.co.uk>
2017-09-11 21:47 GMT+08:00 Vivek Das Mohapatra <vivek@collabora.com>:
>> I am currently not so clear about the right way to do that. Please
>> provide some helps (references, or, warn me ;-).
>
>
> Have look here for code that uses this approach:
>
> https://git.collabora.com/cgit/user/vivek/libcapsule.git/
>
> WIP article describing the mechanism here:
>
>
> https://people.collabora.com/~vivek/dynamic-linking/segregated-dynamic-linking.pdf
>
Read and thanks. But I think the situations are different. In
segregated-dynamic-linking, you try to load a shared object into a
different namespace, while in my case I would like to inject a shared
object into an existing shared object and then "mocking" all the
potential function calls, that is, I want to dlopen/dlmopen a shared
object and make it act as if it was loaded by the LD_PRELOAD
environment variable.
Am I missing anything?
Yubin