Building GCC for ARM and Linux/ucLibc

Christophe Lyon christophe.lyon@st.com
Tue Jul 31 14:49:00 GMT 2012


Hello,

I have some trouble to build the right cross-GCC for ARM running Linux and ucLibc, which I want to support -fstack-protector.

Indeed, if I use arm-uclinuxeabi or arm-unknown-uclinux-uclibcgnueabi as --target triplet, GCC's configure says:
checking __stack_chk_fail in target C library... no

but this function is actually provided by ucLibc. I need this test to succeed such that -fstack-protector does not imply -lssp_non_shared -lssp.

Given that configure's test is based upon the $target value, I am wondering which triplet I should be using, since this test uses:
     case "$target" in
        *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
[...]
        *-*-gnu*)
[...]

I have also looked at config.gcc, and I think the triplet should also match
arm*-*-uclinux* to get the right configuration.

What triplet should I use?

For the record, I forced the __stack_chk_fail to succeed (using --target=arm-linux-uclinuxgnueabi and hacking configure by hand), but later ran into troubles when continuing the build of ucLibc, where some parts use the GCC -rdynamic flag, which is rejected in this configuration.

Thanks!





More information about the Gcc-help mailing list