This is the mail archive of the 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]

RFA: AVR: add infrastructure for device packages

As the steering commitee still hasn't spoken on the maintainership issue,
apparently this still has to go the write-after-approval route.

The purpose of this patch is to make it possible to add support for new
devices (MCUs) to the AVR toolchain, without having to re-build the
entire toolchain.  This capability is desirable because new MCUs are added
fairly frequently.

There are multiple parts of the toolchain involved.
gcc changes multilibbing to key off the new -march option; the -mmcu option
is translated via DRIVER_SELF_SPECS into a -specs option, and the
individual spec files contain the required settings like -march, and various
more detailed settings (some of which are for new options).

binutils provides new relocation and relaxation facilities to allow referring
symbolically to symbol differences and/or I/O addresses.
avr-libc puts the device-specifc header settings in avr/io*.h, and a few
small device-specific likbale functions into a device-specific library.

The other toolchain parts are staged here: avr-mainline avr-libc-embecosm-mainline

Attached is the GCC patch for the basic device package infrastructure.
OK to apply?

I intend to send the patch sets for avrtiny support (modified for device
package support) and for libstdc++-v3 support next, each building on the
previous patch set.  The avrtiny support is also dependent on the
caller-save patch ,
as avr-libc won't build otherwise.

Attachment: avr-devpkg.diff
Description: Text document

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