Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: pu
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi RT, I'd like to upload a stable +deb7u2 for gcc-msp430. This is the fix for #706482 which was not closed with +deb7u1 due to short timing before the release. This revision reverts the previous doc-only change and cherry-pick the upstream fix for the IVT layout of FRAM chips. Full diff attached, diffstat as follow: changelog | 7 +++ control | 5 -- lts-patch/fram-fuse-blown.diff | 80 +++++++++++++++++++++++++++++++++++++++++ patchlist | 1 4 files changed, 88 insertions(+), 5 deletions(-) Please ACK, so that I proceed with the p-u upload. - -- System Information: Debian Release: 7.0 APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlGHjl8ACgkQRqobajv7n7P/TQCdFCPAk9hv7qfSNIGiQPWGx36V tWIAnRLkVeJVFgd3zzrezKBUjZg8g9Ab =dN8x -----END PGP SIGNATURE-----
diff -Nru gcc-msp430-4.6.3~mspgcc-20120406/debian/changelog gcc-msp430-4.6.3~mspgcc-20120406/debian/changelog --- gcc-msp430-4.6.3~mspgcc-20120406/debian/changelog 2013-05-02 14:43:37.000000000 +0200 +++ gcc-msp430-4.6.3~mspgcc-20120406/debian/changelog 2013-05-06 00:07:07.000000000 +0200 @@ -1,3 +1,10 @@ +gcc-msp430 (4.6.3~mspgcc-20120406-3+deb7u2) stable; urgency=high + + * Fix generation of wrong interrupt table for MSP430FR5xxx + targets, resulting in security fuse blown (Closes: #706482) + + -- Luca Bruno <lu...@debian.org> Sun, 05 May 2013 23:56:24 +0200 + gcc-msp430 (4.6.3~mspgcc-20120406-3+deb7u1) testing; urgency=high * Change package description to mention the incompatibility diff -Nru gcc-msp430-4.6.3~mspgcc-20120406/debian/control gcc-msp430-4.6.3~mspgcc-20120406/debian/control --- gcc-msp430-4.6.3~mspgcc-20120406/debian/control 2013-05-02 10:10:13.000000000 +0200 +++ gcc-msp430-4.6.3~mspgcc-20120406/debian/control 2013-05-06 00:05:38.000000000 +0200 @@ -20,8 +20,3 @@ This is the GNU C compiler, a fairly portable optimizing compiler for C for TI's MSP430 architecture. This package is primarily for MSP430 developers and cross-compilers and is not needed by normal users. - . - BEWARE: due to a bug in the memory layout reference of FRAM-based chips, - this package DOES NOT WORK with MSP430FR5xxx chips (eg. FraunchPad devkit). - DO NOT use gcc-msp430 on that chip series, as you will lose access to - JTAG and BSL, and permanently BRICK your chip! diff -Nru gcc-msp430-4.6.3~mspgcc-20120406/debian/lts-patch/fram-fuse-blown.diff gcc-msp430-4.6.3~mspgcc-20120406/debian/lts-patch/fram-fuse-blown.diff --- gcc-msp430-4.6.3~mspgcc-20120406/debian/lts-patch/fram-fuse-blown.diff 1970-01-01 01:00:00.000000000 +0100 +++ gcc-msp430-4.6.3~mspgcc-20120406/debian/lts-patch/fram-fuse-blown.diff 2013-05-05 23:55:35.000000000 +0200 @@ -0,0 +1,80 @@ +From 0594213396817815f584efe3257987e704b4f187 Mon Sep 17 00:00:00 2001 +From: Peter A. Bigot <pabi...@users.sourceforge.net> +Date: Thu, 12 Jul 2012 14:32:16 -0500 +Subject: [PATCH] SF 3540953 fram applications overwrite bsl/jtag passwords + +No MSP430 chip has more than 25 valid interrupts, and they are assigned from +the top down. The FRAM chips use lower words in the interrupt vector to +hold BSL and JTAG passwords, and having real addresses in those locations +has been shown to result in problems accessing BSL and JTAG. Leave the low +32 words erased; this matches as-delivered MSP430FR5739 content for those +addresses. +--- + gcc/config/msp430/crt0ivtbl.S | 44 ++++++++++++++++++++++++++++++++++++- + 1 files changed, 42 insertions(+), 2 deletions(-) + +diff --git gcc-4.6.3.orig/gcc/config/msp430/crt0ivtbl.S gcc-4.6.3/gcc/config/msp430/crt0ivtbl.S +index 46bc0c1..68dff23 100644 +--- gcc-4.6.3.orig/gcc/config/msp430/crt0ivtbl.S ++++ gcc-4.6.3/gcc/config/msp430/crt0ivtbl.S +@@ -36,6 +36,7 @@ __br_unexpected_: + + DEFINE_IVTABLE INTERRUPT_VECTOR_COUNT + ++#if 32 >= INTERRUPT_VECTOR_COUNT + INITIALIZE_ISR_SLOT 0 + INITIALIZE_ISR_SLOT 1 + INITIALIZE_ISR_SLOT 2 +@@ -69,8 +70,47 @@ DEFINE_IVTABLE INTERRUPT_VECTOR_COUNT + INITIALIZE_ISR_SLOT 29 + INITIALIZE_ISR_SLOT 30 + #endif /* 16 < INTERRUPT_VECTOR_COUNT */ +-#if 32 < INTERRUPT_VECTOR_COUNT +- INITIALIZE_ISR_SLOT 31 ++#else /* 32 >= INTERRUPT_VECTOR_COUNT */ ++/* SF 3540953 fram applications overwrite bsl/jtag passwords ++ * ++ * No MSP430 chip has more than 25 valid interrupts, and they are assigned from ++ * the top down. The FRAM chips use lower words in the interrupt vector to ++ * hold BSL and JTAG passwords, and having real addresses in those locations ++ * has been shown to result in problems accessing BSL and JTAG. Leave the low ++ * 32 words erased; this matches as-delivered MSP430FR5739 content for those ++ * addresses. */ ++ .word 0xffff ; 0 ++ .word 0xffff ; 1 ++ .word 0xffff ; 2 ++ .word 0xffff ; 3 ++ .word 0xffff ; 4 ++ .word 0xffff ; 5 ++ .word 0xffff ; 6 ++ .word 0xffff ; 7 ++ .word 0xffff ; 8 ++ .word 0xffff ; 9 ++ .word 0xffff ; 10 ++ .word 0xffff ; 11 ++ .word 0xffff ; 12 ++ .word 0xffff ; 13 ++ .word 0xffff ; 14 ++ .word 0xffff ; 15 ++ .word 0xffff ; 16 ++ .word 0xffff ; 17 ++ .word 0xffff ; 18 ++ .word 0xffff ; 19 ++ .word 0xffff ; 20 ++ .word 0xffff ; 21 ++ .word 0xffff ; 22 ++ .word 0xffff ; 23 ++ .word 0xffff ; 24 ++ .word 0xffff ; 25 ++ .word 0xffff ; 26 ++ .word 0xffff ; 27 ++ .word 0xffff ; 28 ++ .word 0xffff ; 29 ++ .word 0xffff ; 30 ++ .word 0xffff ; 31 + INITIALIZE_ISR_SLOT 32 + INITIALIZE_ISR_SLOT 33 + INITIALIZE_ISR_SLOT 34 +-- +1.7.4.1 + diff -Nru gcc-msp430-4.6.3~mspgcc-20120406/debian/patchlist gcc-msp430-4.6.3~mspgcc-20120406/debian/patchlist --- gcc-msp430-4.6.3~mspgcc-20120406/debian/patchlist 2012-05-17 08:57:46.000000000 +0200 +++ gcc-msp430-4.6.3~mspgcc-20120406/debian/patchlist 2013-05-05 23:56:13.000000000 +0200 @@ -1 +1,2 @@ ../msp430-gcc-4.6.3-20120406.patch +./lts-patch/fram-fuse-blown.diff