Re: NSInstallLinkEditErrorHandlers() does not work in Tiger.
Re: NSInstallLinkEditErrorHandlers() does not work in Tiger.
- Subject: Re: NSInstallLinkEditErrorHandlers() does not work in Tiger.
- From: Leon Bottou <email@hidden>
- Date: Thu, 9 Jun 2005 10:22:47 -0400
On Wednesday 08 June 2005 06:23 pm, you wrote:
> Leon Bottou wrote:
> | In Tiger, NSInstallLinkEditErrorHandlers() does not work anymore.
> | CONCLUSION:
> | When running on Tiger,
> | the undefined handler was not called.
> File a bug at <http://bugreporter.apple.com>
I did that already.
But I do not expect an answer (from past experience)
> For a workaround, use the NSLINKMODULE_OPTION_RETURN_ON_ERROR option.
This does not work when modules have cross dependencies.
Suppose
foo.c -------------
extern int bar(int);
int foo(int x) { if (x < 1) return 1 ; else return x + bar(x-1); }
bar.c -------------
extern int foo(int);
int bar(int x) { if (x < 1) return 1 ; else return x + foo(x-1); }
Loading either foo or bar with NSLINKMODULE_OPTION_RETURN_ON_ERROR
will cause an undefined symbol error, undo the load,
and return the error code.
There is no suitable load order....
The problem is that I do not have the choice of
restructuring the code I am loading.
This is used in Lush <lush.sourceforge.net>
to load foreign code into the lisp core....
The best I can do with NSLINKMODULE_OPTION_RETURN_ON_ERROR
is damage control: make it work most of the time...
Thanks for the suggestion anyway.
- L.
_______________________________________________
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