aboutsummaryrefslogtreecommitdiff
path: root/devel/avr-binutils
diff options
context:
space:
mode:
authorJoerg Wunsch <joerg@FreeBSD.org>2007-12-20 06:41:48 +0000
committerJoerg Wunsch <joerg@FreeBSD.org>2007-12-20 06:41:48 +0000
commitba6acc8112d597260bfa9ab5cc935ae8aca54c40 (patch)
tree65dd2ea9c3fea6d607d51cc4788ca4e66cfa90f6 /devel/avr-binutils
parent8bf0971371b9957d332f27aeaef8095e6c3215ab (diff)
downloadports-ba6acc8112d597260bfa9ab5cc935ae8aca54c40.tar.gz
ports-ba6acc8112d597260bfa9ab5cc935ae8aca54c40.zip
Notes
Diffstat (limited to 'devel/avr-binutils')
-rw-r--r--devel/avr-binutils/Makefile2
-rw-r--r--devel/avr-binutils/files/patch-newdevices71
-rw-r--r--devel/avr-binutils/files/patch-newsections43
-rw-r--r--devel/avr-binutils/pkg-descr4
4 files changed, 103 insertions, 17 deletions
diff --git a/devel/avr-binutils/Makefile b/devel/avr-binutils/Makefile
index 97c847a2442c..3dea391f5c10 100644
--- a/devel/avr-binutils/Makefile
+++ b/devel/avr-binutils/Makefile
@@ -7,7 +7,7 @@
PORTNAME= binutils
PORTVERSION= 2.18
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_SOURCEWARE}
MASTER_SITE_SUBDIR= binutils/releases
diff --git a/devel/avr-binutils/files/patch-newdevices b/devel/avr-binutils/files/patch-newdevices
index 117dd9349167..4fd65f592205 100644
--- a/devel/avr-binutils/files/patch-newdevices
+++ b/devel/avr-binutils/files/patch-newdevices
@@ -1,16 +1,28 @@
---- gas/config/tc-avr.c~ Mon Aug 6 21:59:55 2007
-+++ gas/config/tc-avr.c Sat Oct 27 16:30:54 2007
-@@ -97,22 +97,28 @@
+--- gas/config/tc-avr.c.orig Mon Aug 6 21:59:55 2007
++++ gas/config/tc-avr.c Wed Dec 19 12:08:45 2007
+@@ -63,7 +63,7 @@
+ {
+ {"avr1", AVR_ISA_TINY1, bfd_mach_avr1},
+ {"avr2", AVR_ISA_TINY2, bfd_mach_avr2},
+- {"avr3", AVR_ISA_M103, bfd_mach_avr3},
++ {"avr3", AVR_ISA_USB162, bfd_mach_avr3},
+ {"avr4", AVR_ISA_M8, bfd_mach_avr4},
+ {"avr5", AVR_ISA_ALL, bfd_mach_avr5},
+ {"avr6", AVR_ISA_ALL, bfd_mach_avr6},
+@@ -97,22 +97,31 @@
{"attiny25", AVR_ISA_TINY2, bfd_mach_avr2},
{"attiny45", AVR_ISA_TINY2, bfd_mach_avr2},
{"attiny85", AVR_ISA_TINY2, bfd_mach_avr2},
+ {"attiny43u", AVR_ISA_TINY2, bfd_mach_avr2},
+ {"attiny48", AVR_ISA_TINY2, bfd_mach_avr2},
++ {"attiny88", AVR_ISA_TINY2, bfd_mach_avr2},
{"atmega603", AVR_ISA_M603, bfd_mach_avr3}, /* XXX -> m103 */
{"atmega103", AVR_ISA_M103, bfd_mach_avr3},
{"at43usb320", AVR_ISA_M103, bfd_mach_avr3},
{"at43usb355", AVR_ISA_M603, bfd_mach_avr3},
{"at76c711", AVR_ISA_M603, bfd_mach_avr3},
++ {"at90usb82", AVR_ISA_USB162, bfd_mach_avr3},
++ {"at90usb162", AVR_ISA_USB162, bfd_mach_avr3},
{"atmega48", AVR_ISA_PWMx, bfd_mach_avr4},
+ {"atmega48p", AVR_ISA_PWMx, bfd_mach_avr4},
{"atmega8", AVR_ISA_M8, bfd_mach_avr4},
@@ -29,7 +41,7 @@
{"atmega16", AVR_ISA_M323, bfd_mach_avr5},
{"atmega161", AVR_ISA_M161, bfd_mach_avr5},
{"atmega162", AVR_ISA_M323, bfd_mach_avr5},
-@@ -121,6 +127,7 @@
+@@ -121,6 +130,7 @@
{"atmega165", AVR_ISA_M323, bfd_mach_avr5},
{"atmega165p", AVR_ISA_M323, bfd_mach_avr5},
{"atmega168", AVR_ISA_M323, bfd_mach_avr5},
@@ -37,7 +49,7 @@
{"atmega169", AVR_ISA_M323, bfd_mach_avr5},
{"atmega169p", AVR_ISA_M323, bfd_mach_avr5},
{"atmega32", AVR_ISA_M323, bfd_mach_avr5},
-@@ -128,6 +135,7 @@
+@@ -128,12 +138,14 @@
{"atmega324p", AVR_ISA_M323, bfd_mach_avr5},
{"atmega325", AVR_ISA_M323, bfd_mach_avr5},
{"atmega325p", AVR_ISA_M323, bfd_mach_avr5},
@@ -45,27 +57,45 @@
{"atmega329", AVR_ISA_M323, bfd_mach_avr5},
{"atmega329p", AVR_ISA_M323, bfd_mach_avr5},
{"atmega3250", AVR_ISA_M323, bfd_mach_avr5},
-@@ -150,6 +158,8 @@
+ {"atmega3250p",AVR_ISA_M323, bfd_mach_avr5},
+ {"atmega3290", AVR_ISA_M323, bfd_mach_avr5},
+ {"atmega3290p",AVR_ISA_M323, bfd_mach_avr5},
++ {"atmega32hvb",AVR_ISA_M323, bfd_mach_avr5},
+ {"atmega406", AVR_ISA_M323, bfd_mach_avr5},
+ {"atmega64", AVR_ISA_M323, bfd_mach_avr5},
+ {"atmega640", AVR_ISA_M323, bfd_mach_avr5},
+@@ -142,6 +154,7 @@
+ {"atmega128", AVR_ISA_M128, bfd_mach_avr5},
+ {"atmega1280", AVR_ISA_M128, bfd_mach_avr5},
+ {"atmega1281", AVR_ISA_M128, bfd_mach_avr5},
++ {"atmega1284p",AVR_ISA_M128, bfd_mach_avr5},
+ {"atmega645", AVR_ISA_M323, bfd_mach_avr5},
+ {"atmega649", AVR_ISA_M323, bfd_mach_avr5},
+ {"atmega6450", AVR_ISA_M323, bfd_mach_avr5},
+@@ -150,8 +163,8 @@
{"at90can32" , AVR_ISA_M323, bfd_mach_avr5},
{"at90can64" , AVR_ISA_M323, bfd_mach_avr5},
{"at90can128", AVR_ISA_M128, bfd_mach_avr5},
+- {"at90usb82", AVR_ISA_M323, bfd_mach_avr5},
+- {"at90usb162", AVR_ISA_M323, bfd_mach_avr5},
+ {"at90pwm216", AVR_ISA_M323, bfd_mach_avr5},
+ {"at90pwm316", AVR_ISA_M323, bfd_mach_avr5},
- {"at90usb82", AVR_ISA_M323, bfd_mach_avr5},
- {"at90usb162", AVR_ISA_M323, bfd_mach_avr5},
{"at90usb646", AVR_ISA_M323, bfd_mach_avr5},
---- gas/doc/c-avr.texi~ Mon Aug 6 22:00:08 2007
-+++ gas/doc/c-avr.texi Sat Oct 27 16:30:52 2007
+ {"at90usb647", AVR_ISA_M323, bfd_mach_avr5},
+ {"at90usb1286",AVR_ISA_M128, bfd_mach_avr5},
+--- gas/doc/c-avr.texi.orig Mon Aug 6 22:00:08 2007
++++ gas/doc/c-avr.texi Wed Dec 19 12:07:54 2007
@@ -41,24 +41,26 @@
attiny26, at90s2333, at90s2343, at90s4414, at90s4433, at90s4434,
at90s8515, at90c8534, at90s8535, at86rf401, attiny13, attiny2313,
attiny261, attiny461, attiny861, attiny24, attiny44, attiny84, attiny25,
-attiny45, attiny85).
-+attiny45, attiny85, attiny43u, attiny48).
++attiny45, attiny85, attiny43u, attiny48, attiny88).
Instruction set avr3 is for the classic AVR core with up to 128K program
memory space (MCU types: atmega103, atmega603, at43usb320, at43usb355,
- at76c711).
+-at76c711).
++at76c711, at90usb82, at90usb162).
-Instruction set avr4 is for the enhanced AVR core with up to 8K program
-memory space (MCU types: atmega48, atmega8, atmega83, atmega85, atmega88,
@@ -86,12 +116,23 @@
+Instruction set avr5 is for the enhanced AVR core with up to 128K
+program memory space (MCU types: atmega16, atmega161, atmega162,
+atmega163, atmega164p, atmega165, atmega165p, atmega168, atmega168p,
-+atmega169, atmega169p, atmega32, atmega323, atmega324p, atmega325,
++atmega169, atmega169p, atmega32, atmega32hvb, atmega323, atmega324p, atmega325,
+atmega325p, atmega328p, atmega329, atmega329p, atmega3250,
+atmega3250p, atmega3290, atmega3290p, atmega406, atmega64, atmega640,
-+atmega644, atmega644p, atmega128, atmega1280, atmega1281, atmega645,
++atmega644, atmega644p, atmega128, atmega1280, atmega1281, atmega1284p, atmega645,
+atmega649, atmega6450, atmega6490, atmega16hva, at90can32, at90can64,
-+at90can128, at90pwm216, at90pwm316, at90usb82, at90usb162, at90usb646,
++at90can128, at90pwm216, at90pwm316, at90usb646,
at90usb647, at90usb1286, at90usb1287, at94k).
Instruction set avr6 is for the enhanced AVR core with 256K program
+--- include/opcode/avr.h.orig Fri Apr 7 17:18:08 2006
++++ include/opcode/avr.h Wed Dec 19 12:10:04 2007
+@@ -40,6 +40,8 @@
+ AVR_ISA_LPMX | AVR_ISA_SPM)
+ #define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA)
+ #define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM)
++#define AVR_ISA_USB162 (AVR_ISA_M603 | AVR_ISA_MOVW | \
++ AVR_ISA_LPMX | AVR_ISA_SPM)
+ #define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \
+ AVR_ISA_LPMX | AVR_ISA_SPM)
+ #define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX)
diff --git a/devel/avr-binutils/files/patch-newsections b/devel/avr-binutils/files/patch-newsections
new file mode 100644
index 000000000000..bfbb691a4a8d
--- /dev/null
+++ b/devel/avr-binutils/files/patch-newsections
@@ -0,0 +1,43 @@
+--- ld/scripttempl/avr.sc.old 2007-09-14 06:32:02.437500000 -0600
++++ ld/scripttempl/avr.sc 2007-09-14 06:50:28.854125000 -0600
+@@ -4,9 +4,12 @@ OUTPUT_ARCH(${ARCH})
+
+ MEMORY
+ {
+- text (rx) : ORIGIN = 0, LENGTH = $TEXT_LENGTH
+- data (rw!x) : ORIGIN = 0x800060, LENGTH = $DATA_LENGTH
+- eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
++ text (rx) : ORIGIN = 0, LENGTH = $TEXT_LENGTH
++ data (rw!x) : ORIGIN = 0x800060, LENGTH = $DATA_LENGTH
++ eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
++ fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K
++ lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K
++ signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K
+ }
+
+ SECTIONS
+@@ -196,6 +199,24 @@ SECTIONS
+ ${RELOCATING+ __eeprom_end = . ; }
+ } ${RELOCATING+ > eeprom}
+
++ .fuse ${RELOCATING-0}:
++ {
++ KEEP(*(.fuse))
++ KEEP(*(.lfuse))
++ KEEP(*(.hfuse))
++ KEEP(*(.efuse))
++ } ${RELOCATING+ > fuse}
++
++ .lock ${RELOCATING-0}:
++ {
++ KEEP(*(.lock*))
++ } ${RELOCATING+ > lock}
++
++ .signature ${RELOCATING-0}:
++ {
++ KEEP(*(.signature*))
++ } ${RELOCATING+ > signature}
++
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
diff --git a/devel/avr-binutils/pkg-descr b/devel/avr-binutils/pkg-descr
index 4f41b6ac4c28..b275ea71ba7f 100644
--- a/devel/avr-binutils/pkg-descr
+++ b/devel/avr-binutils/pkg-descr
@@ -11,9 +11,11 @@ In addition to the stock binutils-2.18 distribution, support for the
following AVR devices has been added by a private patch:
ATtiny43U
- ATtiny48
+ ATtiny48/88
AT90PWM2B/PWM3B
AT90PWM216/PWM316
ATmega48P/88P/168P/328P
+ ATmega32HVB
+ ATmega1284P
WWW: http://www.sourceware.org/binutils/