This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AVR] Simplify adding new devices in the AVR back end


22 ÐÑÐÑ 2009 Ð. 1:33 ÐÐÐÑÐÐÐÐÑÐÐÑ Anatoly Sokolov (aesok@post.ru) ÐÐÐÐÑÐÐ:
>
> Hello.
>
> ÂThe LINK_SPEC and CRT_BINUTILS_SPECS Âmacros for in AVR target is very big
> in size and complex in maintenance. Adding new devices in AVR back end
> happening quite frequently and these macros are continuing to increase in
> size and complexity.
>
> ÂThis patch use possibility to call custom functions from *_SPEC macros. Three
> functions is used:
> - 'device_to_arch' convert device name in architecture name and pass to linker
> Âas argument of '-m xxx' switch.
> - 'device_to_data_srart' convert device name to start of data section and
> Âpass to linker as "-Tdata 0xXXXXX" switch.
> - 'device_to_startfile' convert device name to name of device 'crt' file for
> Âlinker.
>
> ÂThese function get info from 'avr_arch_types' and avr_mcu_types arrays
> which describes all the supported architectures and devices.
>
> 2008-06-21 ÂAnatoly Sokolov Â<aesok@post.ru>
>
> Â Â Â Â* config.gcc (avr-*-rtems*, avr-*-*): Set extra_gcc_objs and
> Â Â Â Âextra_objs.
> Â Â Â Â* config/avr/avr.c (avr_current_device): New variable.
> Â Â Â Â(avr_arch_types, avr_mcu_types): Move to avr-deveces.c.
> Â Â Â Â(avr_arch, mcu_type_s): Move to avr.h.
> Â Â Â Â* config/avr/avr.h (base_arch_s). Add reserved2, arch_name and
> Â Â Â Âdefault_data_section_start fields.
> Â Â Â Â(avr_arch): Moved from avr.c.
> Â Â Â Â(mcu_type_s): Moved from avr.c. Add short_sp, data_section_start and
> Â Â Â Âlibrary_name fields.
> Â Â Â Â(avr_current_device, avr_mcu_types, avr_arch_types,
> Â Â Â Âavr_device_to_arch, avr_device_to_data_start,
> Â Â Â Âavr_device_to_startfiles, avr_device_to_devicelib): Declare.
> Â Â Â Â(EXTRA_SPEC_FUNCTIONS): Define.
> Â Â Â Â(LINK_SPEC): Remove device name to '-m ...' and '-Tdata ...' linker
> Â Â Â Âoptions mapping. Use device_to_arch and device_to_data_start insted.
> Â Â Â Â(STARTFILE_SPEC): Use device_to_startfile instead of crt_binutils.
> Â Â Â Â(CRT_BINUTILS_SPECS, EXTRA_SPECS): Remove.
> Â Â Â Â* config/avr/t-avr (driver-avr.o, avr-devices.o): New rules.
> Â Â Â Â* config/avr/driver-avr.c: New file.
> Â Â Â Â* config/avr/avr-devices.c: New file.

Is it applied ?
If not then apply.

Denis.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]