[Patch,AVR] Fix PR51409: error linking lto1 for target avr
Georg-Johann Lay
avr@gjlay.de
Sun Dec 4 16:00:00 GMT 2011
Georg-Johann Lay wrote:
>
> http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02574.html
>
> As this is a blocker and I am blocked myself by a collect2 issue:
>
> Eric, Denis, could one of you test the patch and apply it if it is okay?
> It is PR51409.
In addition, please add PR49868 to the ChangeLog. Thanks.
Johann
> Applying is to issue for me, but running the tests with LTO enabled
> breaks anything that involves -flto because collect2 calls wrong linker,
> see link to gcc-help@ below.
>
> As it appears I will have to debug/fix collect2 by myself which will
> take quite some time because I am not familiar with LTO/collect2.
>
>> I now switched back to --disable-lto as I could not resolve the
>> problems that
>> appear to be a collect2 issue, see
>>
>> http://gcc.gnu.org/ml/gcc-help/2011-12/msg00016.html
>>
>> What I can do is:
>>
>> * build the compiler with the patch and with LTO enabled and without
>> getting a linker error for c_addr_space_name.
>>
>> * I cannot get usable results from testsuite because of collect2 breakage
>>
>> * Testsuite passes fine with the patch and --disable-lto [...]
>>
>> Ok for trunk?
>>
>> Johann
>>
>> * config/avr/avr.h (ADDR_SPACE_PGM, ADDR_SPACE_PGM1,
>> ADDR_SPACE_PGM2, ADDR_SPACE_PGM3, ADDR_SPACE_PGM4,
>> ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): Write as enum.
>> (avr_addrspace_t): New typedef.
>> (avr_addrspace): New declaration.
>> * config/avr/avr-c.c (avr_toupper): New static function.
>> (avr_register_target_pragmas, avr_cpu_cpp_builtins): Use
>> avr_addrspace to get address space information.
>> * config/avr/avr.c (avr_addrspace): New variable.
>> (avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes,
>> avr_asm_named_section, avr_section_type_flags,
>> avr_asm_select_section, avr_addr_space_address_mode,
>> avr_addr_space_convert, avr_emit_movmemhi): Use it.
>> (avr_addr_space_pointer_mode): Forward to
>> avr_addr_space_address_mode.
>> (avr_pgm_segment): Remove.
More information about the Gcc-patches
mailing list