LTO with cross compiler and static linking

Sebastian Huber sebastian.huber@embedded-brains.de
Wed Mar 20 09:22:00 GMT 2013


On 03/19/2013 05:42 PM, Andrew Pinski wrote:
> On Tue, Mar 19, 2013 at 9:28 AM, Sebastian Huber
> <sebastian.huber@embedded-brains.de> wrote:
>> On 03/19/2013 04:50 PM, Andrew Pinski wrote:
>>>
>>> On Tue, Mar 19, 2013 at 3:30 AM, Sebastian Huber
>>> <sebastian.huber@embedded-brains.de>  wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I test currently the GCC 4.8 release candidate.  Some GCC LTO tests fail
>>>>> for
>>>>> me since the introduction of LTO in GCC.  I use Binutils 2.23.1 for
>>>>> PowerPC
>>>>> EABI (powerpc-rtems4.11 target) configured with:
>>>>>
>>>>> /scratch/archive/binutils-2.23.1/configure --target=powerpc-rtems4.11
>>>>> --prefix=/scratch/install-4.8.0-RC-20130316 --disable-werror
>>>>> --enable-lto
>>>>>
>>>>> For GCC I use:
>>>>>
>>>>> /scratch/archive/gcc-4.8.0-RC-20130316/configure --disable-werror
>>>>> --enable-threads=rtems --with-gnu-as --disable-multilib --enable-lto
>>>>> --enable-newlib-mb --enable-newlib-iconv --with-gnu-ld --with-newlib
>>>>> --verbose --with-system-zlib --disable-nls
>>>>> --enable-version-specific-runtime-libs --enable-languages=c,c++
>>>>> --target=powerpc-rtems4.11 --prefix=/scratch/install-4.8.0-RC-20130316
>>>
>>>
>>> The easiest fix is inside the GCC testsuite itself.  In
>>> testsuite/gcc.c-torture/execute/builtins/builtins.exp change:
>>> if { [istarget *-*-eabi*]
>>>        || [istarget *-*-elf] } {
>>>      lappend additional_flags "-Wl,--allow-multiple-definition"
>>> }
>>> To:
>>> if { [istarget *-*-eabi*]
>>>        || [istarget *-*-elf]
>>>        || [istarget *-*-rtems*]} {
>>>      lappend additional_flags "-Wl,--allow-multiple-definition"
>>> }
>>
>>
>> Ok, so you say that this multiple definition with LTO is intentional for
>> statically linked applications?
>
> For this set of testcases yes.  They are explicitly having multiple
> defined symbols.

Just for reference there is also a GCC PR for this topic:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55994

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Binutils mailing list