- To: "gcc-help@xxxxxxxxxxx" <gcc-help@xxxxxxxxxxx>
- Subject: Building GCC for ARM and Linux/ucLibc
- From: Christophe Lyon <christophe.lyon@xxxxxx>
- Date: Tue, 31 Jul 2012 16:48:46 +0200
- Comment: DKIM? See http://www.dkim.org
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
- User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0
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!
[Linux C Programming]
[Linux Kernel]
[eCos]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[The DWARVES Debugging Tools]
[Yosemite Campsites]
[Yosemite News]
[Linux GCC]