[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1452792198-10718-7-git-send-email-ynorov@caviumnetworks.com>
Date: Thu, 14 Jan 2016 20:23:03 +0300
From: Yury Norov <ynorov@...iumnetworks.com>
To: <arnd@...db.de>, <catalin.marinas@....com>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>
CC: <schwidefsky@...ibm.com>, <heiko.carstens@...ibm.com>,
<ynorov@...iumnetworks.com>, <pinskia@...il.com>,
<Prasun.Kapoor@...iumnetworks.com>, <schwab@...e.de>,
<Nathan_Lynch@...tor.com>, <agraf@...e.de>,
<klimov.linux@...il.com>, <broonie@...nel.org>,
<jan.dakinevich@...il.com>, <joseph@...esourcery.com>,
<christoph.muellner@...obroma-systems.com>,
Andrew Pinski <apinski@...ium.com>,
Philipp Tomsich <philipp.tomsich@...obroma-systems.com>
Subject: [PATCH v6 06/21] arm64:uapi: set __BITS_PER_LONG correctly for ILP32 and LP64
From: Andrew Pinski <apinski@...ium.com>
Define __BITS_PER_LONG depending on the ABI used (i.e. check whether
__ILP32__ or __LP64__ is defined). This is necessary for glibc to
determine the appropriate type definitions for the system call interface.
Signed-off-by: Andrew Pinski <apinski@...ium.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@...obroma-systems.com>
Signed-off-by: Christoph Muellner <christoph.muellner@...obroma-systems.com>
Signed-off-by: Yury Norov <ynorov@...iumnetworks.com>
Reviewed-by: David Daney <ddaney@...iumnetworks.com>
---
arch/arm64/include/uapi/asm/bitsperlong.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/include/uapi/asm/bitsperlong.h b/arch/arm64/include/uapi/asm/bitsperlong.h
index fce9c29..4265243 100644
--- a/arch/arm64/include/uapi/asm/bitsperlong.h
+++ b/arch/arm64/include/uapi/asm/bitsperlong.h
@@ -16,7 +16,14 @@
#ifndef __ASM_BITSPERLONG_H
#define __ASM_BITSPERLONG_H
-#define __BITS_PER_LONG 64
+#if defined(__LP64__)
+/* Assuming __LP64__ will be defined for native ELF64's and not for ILP32. */
+# define __BITS_PER_LONG 64
+#elif defined(__ILP32__)
+# define __BITS_PER_LONG 32
+#else
+# error "Neither LP64 nor ILP32: unsupported ABI in asm/bitsperlong.h"
+#endif
#include <asm-generic/bitsperlong.h>
--
2.5.0
Powered by blists - more mailing lists