Re: glibc and egcs....
[ actually Christopher, you do not need to answer this e-mail because
I just tried to details the same thing that in my private message ]
Christopher C Chimelis writes:
>
> Yes, you're right about that, but the logic introduced in the 19990115
> patch should add regular 'if' conditionals (not preprocessor directives)
> to test whether or not the weak is supported or not and calls
> __(de)register_frame_info depending on that. Prior to the 19990115 patch
> (which is currently NOT in our binary egcs package on Alpha, therefore
> missing the "if"s that I'm talking about), it just calls it since it
> assumes it should be there regardless. What I was saying was that the
> patch adds the needed checks (from what I can tell) to work around the
> call should it not be there.
What I have tried to explain is that the check cannot be done because
ld-linux.so aborts execution with undefined symbol, before the "if
tests" are done (of course that happens only if the symbol is not in
the libc).
Maybe I do not understand you clearly, but look at my example in my
previous mail: I just print the value of the foo symbol, I do not try
to call it, which is exactly the same as trying to test the symbol
register_frame_info. You will be put out before you have a chance to
do the if (for the "if test" to work, the dynamic linker
_would_ have to bind a value to it, maybe a zero, because it does not
find a definition, but what it _does_ do is to abort with "undefined
symbol").
>
> Could be. I'll look into this as well after we figure out whether or not
> the existing patch is workable or not. I'm hugely busy today...is there
> any way you could look at the 19990115 patch and code a quick testcase
> that would behave similarly? That would solve the argument right there.
I will try to set up this experiment (altough I think I have already
tried it at some point this W.E. and it failed), you do mean the
19990115 patch together with hjl-12, don't you?
Regards,
Loic
Reply to: