arch/x86/gdt: Move variable assignment down

The Clang Static Analyzer warns about an unused assignment, when
building the image for the Lenovo X60.

```
src/arch/x86/gdt.c:39:6: warning: Value stored to 'num_gdt_bytes' \
        during its initialization is never read
        u16 num_gdt_bytes = (uintptr_t)&gdt_end - (uintptr_t)&gdt;
            ^~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

If `CONFIG_RELOCATABLE_RAMSTAGE` is selected, the function returns
before the assignment is used. So, move the assignment below the if
statement.

Change-Id: Ibcb8bce743d8cb3625647804816fb97f937dc429
Found-by: clang version 4.0.1-6 (tags/RELEASE_401/final), Debian Sid/unstable
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://review.coreboot.org/21957
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Paul Menzel 2017-10-11 15:41:43 +02:00 committed by Martin Roth
parent d540d740b6
commit 0187380875
1 changed files with 2 additions and 1 deletions

View File

@ -37,7 +37,7 @@ struct gdtarg {
static void move_gdt(int is_recovery) static void move_gdt(int is_recovery)
{ {
void *newgdt; void *newgdt;
u16 num_gdt_bytes = (uintptr_t)&gdt_end - (uintptr_t)&gdt; u16 num_gdt_bytes;
struct gdtarg gdtarg; struct gdtarg gdtarg;
/* ramstage is already in high memory. No need to use a new gdt. */ /* ramstage is already in high memory. No need to use a new gdt. */
@ -45,6 +45,7 @@ static void move_gdt(int is_recovery)
return; return;
newgdt = cbmem_find(CBMEM_ID_GDT); newgdt = cbmem_find(CBMEM_ID_GDT);
num_gdt_bytes = (uintptr_t)&gdt_end - (uintptr_t)&gdt;
if (!newgdt) { if (!newgdt) {
newgdt = cbmem_add(CBMEM_ID_GDT, ALIGN(num_gdt_bytes, 512)); newgdt = cbmem_add(CBMEM_ID_GDT, ALIGN(num_gdt_bytes, 512));
if (!newgdt) { if (!newgdt) {