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

Reply via email to