On Sun, Oct 16, 2016 at 10:01:30PM +0200, thus spake
Waldemar Brodkorb:
As I
said, I used d4d4f37 and not strictly origin/master. But I
otherwise used the command line you gave me, including --libc-source.
But 17ad14e5780533db90171e16b95dbeda4e81ffb0 contains a workaround
for exactly the seen problem.
> I will re-run the tests with origin/master and my patch on top of it.
I found a few interesting things. The test binaries are compiled by
openadk with the "initial" GCC and not the "final" one. The
difference is that the implementation of the unwinder code is then
taken from libgcc.a. I get the same behavior if I explicitly add this
library to the list of objects to link into the test binary. With a
final version of GCC, the implementation is taken from libgcc_s.so as
it should and the behavior is maybe not ideal but to me it looks far
better (is that because the initial GCC doesn't really implement any
unwinder code?).
The reason why this works without my patch is that the implementation
of the unwinder code is then linked dynamically from libc.so, which,
as I've said previously, is not supposed to be used by code from
outside the lib itself.
I haven't had time yet to look into openadk in order to understand why
it's not using the final GCC to build the tests. Do you have any
idea?
Because it is compiled as part of the toolchain.
I think it is similary done in Buildroot.
I sent a proposal to the list, how we might fix these kind of issues
in the future.
best regards
Waldemar