summaryrefslogtreecommitdiff
path: root/include/plat/common
diff options
context:
space:
mode:
authorDavid Cunado <david.cunado@arm.com>2017-01-19 10:26:16 +0000
committerDavid Cunado <david.cunado@arm.com>2017-01-26 13:47:37 +0000
commit9edac0479d562a5cb62b57961ad6288d0537e9f1 (patch)
tree22d7922f26fc9888d6dc6517edd4cbb22f585b12 /include/plat/common
parentd7aa7b44d6c73f84a8913b010e850e0322063d91 (diff)
Resolve build errors flagged by GCC 6.2
With GCC 6.2 compiler, more C undefined behaviour is being flagged as warnings, which result in build errors in ARM TF build. The specific issue that this patch resolves is the use of (1 << 31), which is predominantly used in case statements, where 1 is represented as a signed int. When shifted to msb the behaviour is undefined. The resolution is to specify 1 as an unsigned int using a convenience macro ULL(). A duplicate macro MAKE_ULL() is replaced. Fixes ARM-software/tf-issues#438 Change-Id: I08e3053bbcf4c022ee2be33a75bd0056da4073e1 Signed-off-by: David Cunado <david.cunado@arm.com>
Diffstat (limited to 'include/plat/common')
-rw-r--r--include/plat/common/common_def.h22
1 files changed, 1 insertions, 21 deletions
diff --git a/include/plat/common/common_def.h b/include/plat/common/common_def.h
index 65f31e7f..05588c13 100644
--- a/include/plat/common/common_def.h
+++ b/include/plat/common/common_def.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -54,26 +54,6 @@
*/
#define FIRMWARE_WELCOME_STR "Booting Trusted Firmware\n"
-/*
- * Some of the platform porting definitions use the 'ull' suffix in order to
- * avoid subtle integer overflow errors due to implicit integer type promotion
- * when working with 32-bit values.
- *
- * The TSP linker script includes some of these definitions to define the BL32
- * memory map, but the GNU LD does not support the 'ull' suffix, causing the
- * build process to fail. To solve this problem, the auxiliary macro MAKE_ULL(x)
- * will add the 'ull' suffix only when the macro __LINKER__ is not defined
- * (__LINKER__ is defined in the command line to preprocess the linker script).
- * Constants in the linker script will not have the 'ull' suffix, but this is
- * not a problem since the linker evaluates all constant expressions to 64 bit
- * (assuming the target architecture is 64 bit).
- */
-#ifndef __LINKER__
- #define MAKE_ULL(x) x##ull
-#else
- #define MAKE_ULL(x) x
-#endif
-
#if LOAD_IMAGE_V2
#define BL2_IMAGE_DESC { \
.image_id = BL2_IMAGE_ID, \