The FreeBSD Ports Archive

Freebsd | Contact
Welcome to FreeBSD Software


FreeBSD devel : avr-gcc

FSF GCC 4.x for Atmel AVR 8-bit RISC cross-development

 FSF gcc-4.x for Atmel AVR cross-development

Included is the basic C++ compiler, although this is only of limited
use without a libstdc++, and it is little tested.

Supported debugging formats: -gdwarf-2 [default], -gstabs
Local patch added: recognizes 0bXXX binary constants
Local patch added: OS_main and OS_task attributes

Locally added support for the following AVR devices:

  ATtiny43U
  ATtiny48/88
  AT90PWM2B/PWM3B
  AT90PWM216/PWM316
  ATmega48P/88P/168P/328P
  ATmega32HVB
  ATmega1284
  ATmega2560/ATmega2561 

http://gcc.gnu.org/ http://www.nongnu.org/avr-libc/



avr-gcc history


v. 1.66
date: 2007/12/20 06:43:19;  author: joerg;  state: Exp;  lines: +1 -0
Add support for ATtiny88, ATmega32HVB, ATmega1284P.
Fix support for AT90USB82/162, move them into "avr35" architecture.
Add support for the OS_main and OS_task attributes.

Integrate some more bugfixes from the WinAVR patch list.

v. 1.65 date: 2007/10/28 10:01:30; author: joerg; state: Exp; lines: +1 -2 Upgrade to GCC 4.2.2
v. 1.64 date: 2007/10/17 10:12:29; author: ade; state: Exp; lines: +2 -2 Migration from bison 1.x to 2.x PR: 117086 Tested by: -exp runs
v. 1.63 date: 2007/09/08 00:55:46; author: linimon; state: Exp; lines: +0 -5 Welcome bsd.perl.mk. Add support for constructs such as USE_PERL5=5.8.0+. Drop support for antique perl. Work done by: gabor Sponsored by: Google Summer of Code 2007 Hat: portmgr
v. 1.62 date: 2007/06/23 21:30:39; author: joerg; state: Exp; lines: +1 -1 Add device support for ATmega8HVA/ATmega16HVA. Change AT90USB82 from avr5 to avr5.
v. 1.61 date: 2007/04/14 20:10:19; author: joerg; state: Exp; lines: +1 -1 Add the Russian message catalog file to pkg-plist.
v. 1.60 date: 2007/04/11 16:08:17; author: joerg; state: Exp; lines: +1 -1 Minor fix for AT90USB* devices. Submitted by: Anatoly Sokolov Also spell-fix `PORTREVISION' *blush*.
v. 1.59 date: 2007/04/09 19:29:25; author: joerg; state: Exp; lines: +1 -0 Fix pkg-plist after version upgrade. Reminded by: pointyhat.
v. 1.58 date: 2007/04/07 05:37:50; author: joerg; state: Exp; lines: +1 -2 Upgrade to GCC 4.1.2. Add support for AT90PWM1, ATmega32[59]0?P, AT90USB82/162.
v. 1.57 date: 2006/10/10 10:24:51; author: joerg; state: Exp; lines: +1 -0 OK, I bite. Implement the patch from PR ports/96407, to avoid the -mcpu=foobar braindeadness. There's a GCC bug open for this: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25672 so at least, the issue is being dealt with in its origin. Submitted by: Alex Mogilnikov PR: ports/96407
v. 1.56 date: 2006/10/06 20:43:57; author: joerg; state: Exp; lines: +23 -18 Copy over the avr-gcc-devel port to avr-gcc, so this will become the default AVR-GCC version now. No repocopy as this port used to exist before. For the history details, see the old avr-gcc-devel port (going to be moved to Attic now).
v. 1.55 date: 2006/10/05 21:56:20; author: joerg; state: dead; lines: +1 -1 devel/avr-gcc has been repocopied to devel/avr-gcc-3, so to make room for devel/avr-gcc-devel taking over the role of the default AVR-GCC port now.
v. 1.54 date: 2006/04/20 20:32:16; author: joerg; state: Exp; lines: +1 -1 Fix the link specification in the patch so ATmega*P devices will get their correct -Tdata option passed down. Submitted by: Anatoly Sokolov
v. 1.53 date: 2006/04/19 10:48:48; author: joerg; state: Exp; lines: +1 -0 Rename ATmega164/324 to ATmega164P/324P, add support for ATmega644P, ATmega165P, and ATmega169P.
v. 1.52 date: 2006/03/19 22:38:09; author: joerg; state: Exp; lines: +6 -5 Upgrade to GCC 3.4.6. Add support for ATmega406 and AT90USB646/647/1286/1286 devices. Register conflict for avr-gcc-devel port (GCC 4.1-based, to come soon).
v. 1.51 date: 2006/03/02 10:51:54; author: joerg; state: Exp; lines: +1 -1 Fix the severe bug (faulty code generation) reported in by reverting the GCC change that obviously caused it. Approved by: portmgr (krion)
v. 1.50 date: 2006/01/04 23:17:25; author: joerg; state: Exp; lines: +1 -0 Add support for ATtiny261/461/861.
v. 1.49 date: 2005/12/14 22:42:16; author: joerg; state: Exp; lines: +1 -2 Upgrade to GCC 3.4.5, and add support for ATtiny24/44/84 devices.
v. 1.48 date: 2005/11/15 06:48:35; author: ade; state: Exp; lines: +1 -1 Mass-conversion to the USE_AUTOTOOLS New World Order. The code present in bsd.autotools.mk essentially makes this a no-op given that all the old variables set a USE_AUTOTOOLS_COMPAT variable, which is parsed in exactly the same way as USE_AUTOTOOLS itself. Moreover, USE_AUTOTOOLS has already been extensively tested by the GNOME team -- all GNOME 2.12.x ports use it. Preliminary documentation can be found at: http://people.FreeBSD.org/~ade/autotools.txt which is in the process of being SGMLized before introduction into the Porters Handbook. Light blue touch-paper. Run.
v. 1.47 date: 2005/11/04 20:51:33; author: joerg; state: Exp; lines: +1 -1 Add support for the AT90CAN32/64 controllers. By the same time, also drag in the patch for catching misspelled interrupt vector names from the 4.x branch of GCC.
v. 1.46 date: 2005/09/12 22:03:43; author: joerg; state: Exp; lines: +1 -1 Add support for the ATmega640/1280/1281 family.
v. 1.45 date: 2005/09/01 20:52:38; author: joerg; state: Exp; lines: +1 -1 Oops, a double slash sneaked into the linker spec, causing GCC to recurse infinitely, until it hit an abort().
v. 1.44 date: 2005/09/01 05:22:23; author: joerg; state: Exp; lines: +1 -1 Add back support for the ATmega165.
v. 1.43 date: 2005/08/17 14:41:01; author: joerg; state: Exp; lines: +1 -0 Fix the linker command (in GCC's specs file) for the AT90PWM2/3 controllers. Approved by: portmgr (linimon)
v. 1.42 date: 2005/07/30 21:28:49; author: joerg; state: Exp; lines: +1 -2 Upgrade AVR-GCC to GCC-3.4.4. By the same time, combine all the patches that add support for new AVR devices into a single patch, as they all touch the same three source files. In total, add support for the following AVR devices that were not supported by the stock GCC 3.4.x: ATtiny13/ATtiny2313 ATtiny25/ATtiny45/ATtiny85 ATmega48/ATmega88/ATmega168 AT90PWM2/AT90PWM3 ATmega164/ATmega324/ATmega644 ATmega325/ATmega3250/ATmega645/ATmega6450 ATmega329/ATmega3290/ATmega649/ATmega6490 AT90CAN128 (This is now documented in pkg-descr as well.)
v. 1.41 date: 2005/04/12 03:25:05; author: obrien; state: Exp; lines: +1 -1 At Kris's request, back out the MACHINE_ARCH spelling correction until after 5.4-RELEASE.
v. 1.40 date: 2005/04/11 08:01:45; author: obrien; state: Exp; lines: +1 -1 Assist getting more ports working on AMD64 by obeying the Ports Collection documentation and use 'ARCH' rather than 'MACHINE_ARCH'.
v. 1.39 date: 2005/03/10 21:14:44; author: joerg; state: Exp; lines: +1 -0 Bring in some patches from the head of GCC's CVS back to the latest released version, 3.4.3. This mainly adds support for new AVR devices that appeared on the market recently, and fixes a bug related to the order of assignments for volatile uint16_t * objects (in the assumption they might point to IO space where the order of two 8-bit operations can be important).
v. 1.38 date: 2005/01/27 22:56:11; author: joerg; state: Exp; lines: +1 -0 Do also set IGNORE when running against a too old version of Perl where we can't build the docs. Hinted by: kris
v. 1.37 date: 2005/01/27 14:50:57; author: joerg; state: Exp; lines: +1 -1 Require a sufficiently current Perl to be installed, as opposed to a sufficiently current version of FreeBSD. Submitted by: vs
v. 1.36 date: 2005/01/27 09:51:36; author: joerg; state: Exp; lines: +11 -14 Upgrade to GCC version 3.4.3. Note that I do not longer support FreeBSD 4.x at this point, as their system-provided Pod::Man is way too old, and I'm tired of rolling that extra man page tarball. Software developers can IMHO reasonably be expected to run some version of FreeBSD 5.x these days.
v. 1.35 date: 2004/07/07 19:49:07; author: joerg; state: Exp; lines: +2 -2 Switch from MASTER_SITE_GNU to MASTER_SITE_GCC; it seems the GNU mirrors aren't up-to-date for GCC these days. Also, document the 0b binary constants hack committed a few hours ago.
v. 1.34 date: 2004/07/07 11:29:23; author: joerg; state: Exp; lines: +1 -1 Upgrade AVR-GCC to GCC 3.4.1. Also included is a local hack to allow for 0bXXX binary constants, since this appears to be a frequently requested item in the AVR developers community. The GCC configuration is tuned to allow for both, -gstabs [the default if only -g is given], and -gdwarf-2 debugging options. ELF/DWARF-2 is the emerging format as promoted by Atmel, and is intented to be directly usable in their AVR Studio simulator in future. Eventually, AVR-GDB will fully support DWARF-2 debugging as well some day.
v. 1.33 date: 2004/06/04 17:29:12; author: ade; state: Exp; lines: +1 -1 Sync with new bsd.autotools.mk
v. 1.32 date: 2004/04/28 20:53:33; author: joerg; state: Exp; lines: +6 -11 Upgrade to GCC 3.4.0. This also makes the port compile (again) under all 64-bit archs. For amd64, patch-ad modifies config.guess to match GCC's expectation of x86_64.
v. 1.31 date: 2004/03/29 07:04:47; author: kris; state: Exp; lines: +7 -1 BROKEN on !i386 and !alpha: Does not build
v. 1.30 date: 2004/03/03 21:23:29; author: joerg; state: Exp; lines: +6 -9 Upgrade to version 3.3.2.
v. 1.29 date: 2004/02/04 04:35:50; author: marcus; state: Exp; lines: +3 -2 Add USE_GETTEXT and bump PORTREVISION. Submitted by: trevor Tested by: bento
v. 1.28 date: 2004/01/23 18:11:48; author: trevor; state: Exp; lines: +1 -1 Now gettext 0.12.1 is gettext-old.
v. 1.27 date: 2003/09/09 21:16:21; author: joerg; state: Exp; lines: +12 -11 Update this port to the released version 3.3.1 of gcc. Utilize INFO while i was at it. Some minor cosmetic issues are still open with this port, but i won't be able to catch that before the ports freeze.
v. 1.26 date: 2003/08/24 16:46:06; author: gerald; state: Exp; lines: +1 -1 Fix COMMENT. Approved by: joerg (maintainer)
v. 1.25 date: 2003/07/20 19:35:27; author: joerg; state: Exp; lines: +2 -2 Update to a recent snapshot. Some AVR-related bugs have been fixed since.
v. 1.24 date: 2003/05/11 19:32:20; author: joerg; state: Exp; lines: +3 -3 Update this suite to a current snapshot of gcc 3.3. Quite a few AVR-related fixes have been made to gcc recently.
v. 1.23 date: 2003/03/07 06:00:08; author: ade; state: Exp; lines: +1 -0 Clear moonlight beckons. Requiem mors pacem pkg-comment, And be calm ports tree. E Nomini Patri, E Fili, E Spiritu Sancti.
v. 1.22 date: 2003/01/20 09:32:48; author: joerg; state: Exp; lines: +1 -0 Replace my old 16 bit IO register assignment hack by an authoritative patch by the avr-gcc maintainers. Bump portv. for that.
v. 1.21 date: 2003/01/08 22:44:41; author: joerg; state: Exp; lines: +2 -2 Update to a more recent snapshot, now taken from gcc's 3.3 branch instead of the head of CVS.
v. 1.20 date: 2002/11/28 18:05:48; author: sobomax; state: Exp; lines: +1 -1 Use USE_PERL5_BUILD where appropriate, instead of hardcoding ${PORTSDIR}/lang/perl5 as a dependency. Sponsored by: Porta Software Ltd Approved by: portmgr
v. 1.19 date: 2002/10/10 10:47:27; author: joerg; state: Exp; lines: +2 -1 Add the forgotten dependency to gettext. This fixes the complaint about the incorrect pkg-plist made in rev 1.17.
v. 1.18 date: 2002/10/06 18:21:33; author: joerg; state: Exp; lines: +4 -4 Update to a recent snapshot. Among others, this fixes an issue with the generation of code that fed up recent versions of gas. The pseudo-symbol _PC_ is now completely eliminated from the generated code, and replaced by the location counter `.'.
v. 1.17 date: 2002/10/05 22:35:01; author: kris; state: Exp; lines: +2 -0 BROKEN: pkg-plist is incorrect
v. 1.16 date: 2002/09/01 19:46:49; author: joerg; state: Exp; lines: +17 -2 Fix the documentation build process. We need to depend it on perl. Since the system's perl in -stable is too old (pod2man), we supply pregenerated man pages in a separate distfile to help them out.
v. 1.15 date: 2002/09/01 12:13:53; author: joerg; state: Exp; lines: +3 -4 Update to version 2002.09.01. Included are a couple of private patches that were floating through the avr-gcc and avr-libc mailinglists, just for the time being until they might have been integrated into gcc's CVS. Portname changed from dashes in the snap date to dots so portupgrade doesn't get confused about it. Thanks to Brian Dean for the hint.
v. 1.14 date: 2002/08/12 14:04:05; author: joerg; state: Exp; lines: +1 -1 Now that gcc renamed the head of their CVS from 3.2 to 3.3, update this port since avr-libc-current has avr-gcc 3.3 as their prerequisite.
v. 1.13 date: 2002/07/03 19:20:55; author: joerg; state: Exp; lines: +10 -7 Mega-upgrade of the AVR GNU toolchain, step #2: Upgrade to a development version of GCC 3.2. New AVR microcontrollers are introduced with faster pace than new versions of GCC :), so we need the development version to support recent AVR chips (like the ATmega 128). Alas, official GCC snapshot tarballs still track the 3.1.x branch, so i got to CVS checkout and roll my own tarball.
v. 1.12 date: 2002/06/04 15:50:32; author: joerg; state: Exp; lines: +2 -2 Fix packaging list.
v. 1.11 date: 2001/10/10 17:18:53; author: joerg; state: Exp; lines: +2 -2 Update to gcc 3.0.1.
v. 1.10 date: 2001/08/12 20:18:16; author: joerg; state: Exp; lines: +4 -3 Include the C++ compiler. Certainly of limited use for a microcontroller, but i got interested to get a complex FFT working. No stdlibc++ support at this time.
v. 1.9 date: 2001/08/12 16:33:45; author: joerg; state: Exp; lines: +2 -1 Ooops, the PKGNAMEPREFIX got accidentally dropped.
v. 1.8 date: 2001/08/12 15:15:16; author: joerg; state: Exp; lines: +4 -14 Upgrade to the released version of gcc 3.0.
v. 1.7 date: 2001/04/29 11:20:05; author: joerg; state: Exp; lines: +2 -1 This gcc snapshot requires bison in order to build. Submitted by: bsd
v. 1.6 date: 2001/04/20 20:40:14; author: joerg; state: Exp; lines: +13 -4 I forgot to update the master sites accordingly for the gcc snapshot location. Current list stolen from lang/gcc-devel.
v. 1.5 date: 2001/04/20 13:52:23; author: joerg; state: Exp; lines: +3 -8 Upgrade to a development snapshot of gcc-3. Target `avr' is now supported natively, so no external patches needed anymore. Note that this port requires up-to-date avr-binutils, since a few things in the assembler syntax have been changed. Not yet tested on the alpha platform.
v. 1.4 date: 2001/03/16 13:26:27; author: joerg; state: Exp; lines: +2 -1 Finally get the avr-gcc port really compile on the alpha architecture, by forcing the CFLAGS to -O -pipe. Somehow, the alpha build always tries to enforce a particular -mcpu=ev4 flag which of course cannot be understood by the (AVR) xgcc later on. This looks to me like a bug in the cross-compilation environment of gcc, but i'm tired of actually finding the bug. The compiled result of avr-gcc MD5 compares equal to something build from an IA32 host platform.
v. 1.3 date: 2001/03/11 08:37:18; author: joerg; state: Exp; lines: +3 -3 Argl. USE_AUTOCONF wasn't quite what i actually intented... Instead, manually add the dependency for autoheader(1), but don't have the ports infrastructure run `autoconf' (which clobbered the top-level configure script).
v. 1.2 date: 2001/03/10 20:45:38; author: joerg; state: Exp; lines: +2 -1 Didn't notice before that this port actually uses GNU autoconf... This should fix the port build on bento. Still doesn't want to be built on the alpha arch, i'm not sure whether i'll be able to fix that or whether i'll have to exclude it from the alpha build. In theory, since it's a cross-compiler already anyway, it should be possible to build it on non-i386 platforms as well.
v. 1.1 date: 2000/12/05 15:21:02; author: joerg; state: Exp; Atmel AVR cross-development, part #2: the C compiler. =============================================================================



Main menu

FreeBSD

Program categories

Freebsd accessibility
Freebsd archivers
Freebsd astro
Freebsd audio
Freebsd benchmarks
Freebsd biology
Freebsd cad
Freebsd chinese
Freebsd comms
Freebsd converters
Freebsd databases
Freebsd deskutils
Freebsd devel
Freebsd dns
Freebsd editors
Freebsd emulators
Freebsd finance
Freebsd french
Freebsd ftp
Freebsd games
Freebsd german
Freebsd graphics
Freebsd hebrew
Freebsd hungarian
Freebsd irc
Freebsd japanese
Freebsd java
Freebsd korean
Freebsd lang
Freebsd mail
Freebsd math
Freebsd mbone
Freebsd misc
Freebsd multimedia
Freebsd net
Freebsd net-im
Freebsd net-mgmt
Freebsd net-p2p
Freebsd news
Freebsd palm
Freebsd polish
Freebsd ports-mgmt
Freebsd portuguese
Freebsd print
Freebsd russian
Freebsd science
Freebsd security
Freebsd shells
Freebsd sysutils
Freebsd textproc
Freebsd ukrainian
Freebsd vietnamese
Freebsd www
Freebsd x11
Freebsd x11-clocks
Freebsd x11-drivers
Freebsd x11-fm
Freebsd x11-fonts
Freebsd x11-servers
Freebsd x11-themes
Freebsd x11-toolkits
Freebsd x11-wm