This is the mail archive of the libc-alpha@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: fopen() calls __open()


Derrell.Lipman@UnwiredUniverse.com wrote:
> John Reiser <jreiser@BitWagon.com> writes:
>>For many particular cases, it is feasible to rewrite (patch) glibc
>>at runtime. ...

> This is an interesting option to consider.  Can you point me to any
> open-source applications that actually do this?

The runtime loader itself (rtld, part of glibc) does patching when a module
is marked with DT_TEXTREL in its ElfXX_Dyn.  So look in the glibc source
for TEXTREL.  Of course one of the important ideas is that the relocation
entries ElfXX_Rel specify exactly _where_ do to the patching, whereas
your case might need a disassembler to find the locations.  The objcopy
module of the binutils project has disassemblers; there are others.

Two other projects which use runtime patching are:
  http://bitwagon.com/rtldi/rtldi.html  indirect runtime loader
  http://bitwagon.com/tub/tub.html      address-space manager

-- 


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