Martin Roth (martinroth@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17992
-gerrit
commit 357fe7ee9a9a93d6e944e7ec552ea990817ccd3d Author: Martin Roth martinroth@google.com Date: Thu Dec 29 14:03:50 2016 -0700
amdmct: Rewrite mct_ResetDataStruct_D to avoid array-bounds warning
The code was intentionally using an offset past the end of the array to get the value of the next byte when starting to clear the structure. Rewrite it to get the end of the array and then increment the starting value.
Fixes warning for GCC 6.2 toolchain update: src/northbridge/amd/amdfam10/../amdmct/mct/mct_d.c:3628:27: In function 'mct_ResetDataStruct_D': error: index 2 denotes an offset greater than size of 'u8[2][4] {aka unsigned char[2][4]}' [-Werror=array-bounds]
Change-Id: Ic81cf5e57992fc0e45f6c96b62a35742a8ef891f Signed-off-by: Martin Roth martinroth@google.com --- src/northbridge/amd/amdmct/mct/mct_d.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/northbridge/amd/amdmct/mct/mct_d.c b/src/northbridge/amd/amdmct/mct/mct_d.c index 62fc626..a856599 100644 --- a/src/northbridge/amd/amdmct/mct/mct_d.c +++ b/src/northbridge/amd/amdmct/mct/mct_d.c @@ -3625,9 +3625,9 @@ static void mct_ResetDataStruct_D(struct MCTStatStruc *pMCTstat, p[i] = 0; }
- start = (u32)(&((struct DCTStatStruc *)0)->CH_D_BC_RCVRDLY[2][4]); + start = (u32)(&((struct DCTStatStruc *)0)->CH_D_BC_RCVRDLY[1][3]); stop = sizeof(struct DCTStatStruc); - for (i = start; i < stop; i++) { + for (i = start + 1; i < stop; i++) { p[i] = 0; } pDCTstat->HostBiosSrvc1 = host_serv1;