Hi Ignacy, Ignacy Gawędzki wrote,
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