Re: How to manually register a symbol address in dyld?
Re: How to manually register a symbol address in dyld?
- Subject: Re: How to manually register a symbol address in dyld?
- From: Stéphane Corthésy <email@hidden>
- Date: Wed, 14 Oct 2009 15:56:19 +0200
Hello,
On Oct 13, 2009, at 4:30 PM, Peter O'Gorman wrote:
On 10/13/2009 02:55 AM, Stéphane Corthésy wrote:
Hello,
For some reason (that I'll explain later), I need to load a bundle
which
contains symbols undefined in application libraries. BUT, though
these
symbols are undefined, the actual implementations are present in
current
runtime, but under a different symbol. Thus, before loading that
bundle
I need to manually tell dyld that symbol 'my_renamed_function'
should be
bound to 'my_original_function' already present in system
libraries. Or
I need a hook that would allow me to do that while loading the
bundle.
I'm working on 10.6. I tried to look at dyld source code, but got
lost :-)
I tried to use NSInstallLinkEditErrorHandlers, but my handler wasn't
invoked.
So, is there a way to do that, and how?
Why do you need to do this? There are very likely alternative ways
of doing what you need e.g.
weak undefined external symbols,
That cannot work. As I wrote, the bundle (already weakly linked) has
symbols that are not available on 10.6 (they were on 10.5), BUT though
the symbols are not exported, the actual functions are available in
10.6, thus I'd like to create a bundle which would augment dyld symbol
table and then load the other bundle with (previously unknown)
symbols, and it would link well.
symbol aliases,
I don't know what it is. I saw no mention on 'alias' in dyld code.
using dlsym() to check at runtime what symbols are available etc etc.
Wouldn't work, like with weak symbols.
Please provide more details about the problem you're trying to solve.
I will, once I know how to do it ;-)
Thanks,
Stéphane
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden