Building cross-toolchain for microblaze
Adhemerval Zanella
adhemerval.zanella@linaro.org
Fri Nov 4 12:12:00 GMT 2016
On 04/11/2016 00:48, Joseph Myers wrote:
> Continuing the issues shown up by writing a script to build glibc for all
> ABIs, I find that MicroBlaze glibc does not build using the final compiler
> because MicroBlaze GCC always uses SJLJ exceptions (see
> gcc/common/config/microblaze/microblaze-common.c defining
> TARGET_EXCEPT_UNWIND_INFO to sjlj_except_unwind_info), which is not
> supported in glibc, resulting in undefined references to _Unwind_SjLj_*
> (glibc deliberately links with libgcc.a and *not* libgcc_eh.a and gets EH
> functionality via loading libgcc_s as needed, which is not implemented for
> the SJLJ case; in the static-only case there isn't a separate libgcc_eh so
> a build with the initial static-only compiler works accidentally).
>
> How is building MicroBlaze glibc meant to work? Is there some GCC patch
> missing upstream to use DWARF2 exceptions?
>
I could build a workable toolchain, at least for glibc building, by
configuring GCC with both '--disable-sjlj-exceptions' and
'--disable-shared'. I did not dig into the issue, but it was already
reported on maillist this same issue.
More information about the Libc-alpha
mailing list