Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754424AbbLZQIP (ORCPT ); Sat, 26 Dec 2015 11:08:15 -0500 Received: from mail-bn1on0056.outbound.protection.outlook.com ([157.56.110.56]:46976 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752997AbbLZQIN (ORCPT ); Sat, 26 Dec 2015 11:08:13 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; From: Yury Norov To: , CC: , , Yury Norov Subject: [PATCH 2/2] 32-bit ABI: introduce ARCH_32BIT_OFF_T config option Date: Sat, 26 Dec 2015 19:06:40 +0300 Message-ID: <1451146000-5646-3-git-send-email-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1451146000-5646-1-git-send-email-ynorov@caviumnetworks.com> References: <1451146000-5646-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [95.143.213.121] X-ClientProxiedBy: AM3PR01CA031.eurprd01.prod.exchangelabs.com (10.141.191.21) To DM2PR07MB621.namprd07.prod.outlook.com (10.141.177.140) X-Microsoft-Exchange-Diagnostics: 1;DM2PR07MB621;2:ANy788URhZgvg/TOS5OWa8afKGIMGVigkxGbTG8c3aguVPkwld9nYqvio64y1AFMvCxG8urSmvOQYa9iwG97C3IeEN+38HAeaQrJep9n2Wy82cqhHlWGqVnYchWfI3BnbUokBMxCaj8BlBCK6Olosg==;3:9RfB9/xKs3yTpvFXiegEMElbO8F5ev3NG35ekRO9tfx/2tpj8PQiD8BxlkDzgr0bJTxfYccuPA/2C8wDr0wkQdW+0FEmFwon0ZULU4m8hB9Q16ynfLj7ccsG83IQbNlS;25:+Ki0hP+iI6Q4Y72pMZHi1nfpkUij4nx88voJn7RlYwfX97s4N6P2/YeBuZcc2NO/eFeODwcGOTFKTD9lnrwecLXvgtQRduT4DT3uuLrnHA/KhPgWGUop6YuVg8FkUznxiH4bP+QcKtmS6alhVW+kT9/Kdgy38qVT9AbK5Fi3uLc49mrdUEPc9+MlUwTKu5vqqIYA+KQbcWqe+X5t7TufiUWr0RKdMc5Oo6oTulnX1rpJkdGQplb/vvG3r2NjJCFqYgZZYK2tM0m8nOMvxmWtWg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR07MB621; X-Microsoft-Exchange-Diagnostics: 1;DM2PR07MB621;20:1Abhmv2sVIXLrZ2GgJGSWaNvndUYM47jhBsxGPUaRUmFJjx4Aklc7/0KPD24uxGPyt89cxmZCCxDhEDbWfQ7jf0OZpQrFbnU2khDU4rwgRFdLKhcMyqufx1zKmzU4jN1W7kRVuvS7F0EGt7pxYsB4C8NJbiL2+QDDKlNgIwMhoonI8ouR8+vXnCNgKlLHQKMw55xreRVNO/7L0N7dJTRx/Gu2e7UUBXYTy/aEqF04yC1EC+gl9/r9ZFKhUpXvqXEMVuDBfEx/R17/NB5Q/SEUtnV48Wu4b3cIqyC3Q0BvKe0+p+Ynwv1qw75u6Dxdgc0lTxU54UX2eyJhuCASUU8ImIOQl0PTnjtNQqSiGiu/1sQssmnqvnwcallXSNE+e/GTMvyBwpWqSOrH6IAf85fx9z6H98O84fPBlRWyyyMjoFidJKYYnaw1UexIhYomAJR4v+r3WJuD/tYTHX7pezG4BUgmjUHRlMkEQU35Ko0YBfl6CzzUasgONqcxOBewiqJoJSI/lTwFjBODbnLaBLIRmd+8U8XDj/JOQuPb2U/7sg95oxJtaXul3UmvHrSTQvFDiy3gUi8fNaIUJqrP0UyrvozfUTFM2zEMsB4QPqtyn8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001);SRVR:DM2PR07MB621;BCL:0;PCL:0;RULEID:;SRVR:DM2PR07MB621; X-Microsoft-Exchange-Diagnostics: 1;DM2PR07MB621;4:xu4bxoQTwDtCNuOnHCaXrtcM9hr3P7QiYzFGvLKJ9tBYTmdOKoRvUBNwwIiWdBJBQhNdLRKnLpw0kCuI3FC55RB34qsCYKs39WsCsIZbsbIHN5Jn2k1l6U421ndkISYhaq9cbUxdpqtUWdFrcFCP8wb3FBJBh0IpWUbF4XaaW2J5XbYg+78dAOfRPt7S7SGdqeeg61P+8PUETYNagMp7acLGZ1l68yVeSOsBveMRtOePFA5uFaftck912DoltLOb0v+QyIu/EIlHVrbLLjgL9qRReFTaGTrxBnX6nvtb8StIYqSrupMWukuKL9JtWPmGBxRIJGpIegr9gk53ZLzVDVHf9ePPTdnX5f20B0cCPiOCFbSDAI/gTq/mcXjILlskjWPfEjVmnflKOFp9WC9JrAF6Ddh9WtU2G653JA/vSsRG2Ig4HMH1rPxOxprkCFhV X-Forefront-PRVS: 0802ADD973 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6069001)(199003)(189002)(101416001)(50986999)(47776003)(1096002)(66066001)(19580405001)(77096005)(107886002)(5001770100001)(87976001)(122386002)(5001960100002)(3846002)(2950100001)(81156007)(40100003)(6116002)(97736004)(575784001)(586003)(5008740100001)(76506005)(105586002)(106356001)(36756003)(4001430100002)(76176999)(19580395003)(48376002)(5004730100002)(5003940100001)(50226001)(50466002)(92566002)(229853001)(33646002)(189998001)(42186005);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR07MB621;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR07MB621;23:j5sBG5kdTgTGp4tb+YxQIyrNZVrvDcvyPWnmU0UVeC?= =?us-ascii?Q?dnoL2bfwr0vwM69/eH6UBsL5DpqRuFedeREVBIEUKezXQVJnYPASBnREZIM4?= =?us-ascii?Q?na0g47P9TXQ7cQ+CEtCOBAhvApcf/ezxE9chXDImK6uBKbqir6jBYgtv7Py9?= =?us-ascii?Q?MxDleMVV+/VozdGN8ArNLc15CFtPkaOcv1YEILIG5DmUbuLmzYL0GecE0Y5y?= =?us-ascii?Q?UeAHBX9zX/ECtSEe2ghZzPGcDmLtJxzn2ZGRCyJPGrs+n5sN1NYovDGUdPbR?= =?us-ascii?Q?lDKf58vVArKwxS27EVG7PPwFriVTrp4kbXkuSkGqsSkp7DkFXNGqatJpRhCV?= =?us-ascii?Q?yP4uiVmhsgWGYIhSGo+eU/QrdJ8WjzhiJEAMgTWMQbD69+kLYY/EDwdrix52?= =?us-ascii?Q?M0SNh+29vBfqFZemVQotH81CMgyTPPfEgrm3S/qsRdSVIEguJtRqIEjL0Ut+?= =?us-ascii?Q?jpkDSTQ8vvaepshPxvYNKZplW4n0IIsZEN0mSzpy++t4FFJsefm84MBj0Lgq?= =?us-ascii?Q?AQwvfBeh7gN/6vUstWv1b6XY/sU3coR4HlXHaDk7/iQIuK/vCIzs3UUUFfPp?= =?us-ascii?Q?iUWCp0qH2r6mrmR8aqMsgGgU8YuLvq+yg7Zc7/Xjda/IScz2ZB1qO/AwWzSu?= =?us-ascii?Q?kqXKwAsZa3HOyxUL5MN4a57UgNr3Ch1v1vwNqapRfyU9m19uoppNc4FFRrIf?= =?us-ascii?Q?fVpeVSGfrGo7HawFFZTAPhrkulP0Ie2kO/PMWbEdYzPV01WZoI5dOf0pHmbH?= =?us-ascii?Q?hPQB++23jf5qolEzrjZ+Yqg5JO0Ud4zSHIUqvfDTmGlaaXtPvlSDosuKPQWM?= =?us-ascii?Q?m9seWcsveewYNvyeJPtdvcaadZPLj2psQLQE/njyRrTRDHu2+SaqdrszrSUu?= =?us-ascii?Q?DcuntaJCGZzbQkPZwRXXV5u6B3SEG7C0jFRs/UFCkRUSVmJZNACrdHAxHYi/?= =?us-ascii?Q?DTUX7/9cCZ9AxdPyAPzQi06NVOpu5IuKRfR52FC4n/FZf/Kx7DVNrBSK9Irr?= =?us-ascii?Q?5YRPw5Q1NfFMLiYJ+ZhW1MsHX+JmfriMtNRrAP/sK3vwKneDujF4zX1gfYun?= =?us-ascii?Q?S2snCoRc/P+VtqXuW7atecaMPmyULWC4PMbYF4ofp6yh12xXAalpjA+r3FUO?= =?us-ascii?Q?bdP/FHY1o=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR07MB621;5:FzomF9dEMdFcswAwAxMZU3MQN/2Tob33kj3PfR9Xpkm0hNWnpDbN+YGPXjwyHco8spfWHPoZA6qb03YoLWtcQsUhbGTtbsGFgVLqZvlxGuaqefJj/aNt5bioAw2wlEtaDzgs44UUhx6X5WtKDFfW+Q==;24:1JCC9/TCnJrcnHpZRVomsTgiz2SdzzBSMdwPr4ktGI90E7ueg2jtJzQ2sUtTjHA5zazxMH8+FDm3/JBk//1JQFD95kkoKajohhqIOL/DxEQ= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Dec 2015 16:08:09.1952 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR07MB621 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 10826 Lines: 397 All new 32-bit architectures should have 64-bit off_t type, but existing architectures has 32-bit ones. To handle it, new config option is added to arch/Kconfig that defaults ARCH_32BIT_OFF_T to be disabled by default. All existing 32-bit architectures enable it explicitly here. New option affects force_o_largefile() behaviour. Namely, if off_t is 64-bits long, we have no reason to reject user to open big files. Signed-off-by: Yury Norov --- arch/Kconfig | 4 ++++ arch/arc/Kconfig | 1 + arch/arm/Kconfig | 1 + arch/blackfin/Kconfig | 1 + arch/cris/Kconfig | 1 + arch/frv/Kconfig | 1 + arch/h8300/Kconfig | 1 + arch/hexagon/Kconfig | 1 + arch/ia64/Kconfig | 1 + arch/m32r/Kconfig | 1 + arch/m68k/Kconfig | 1 + arch/metag/Kconfig | 1 + arch/microblaze/Kconfig | 1 + arch/mips/Kconfig | 1 + arch/mn10300/Kconfig | 1 + arch/nios2/Kconfig | 1 + arch/openrisc/Kconfig | 1 + arch/parisc/Kconfig | 1 + arch/powerpc/Kconfig | 1 + arch/s390/Kconfig | 1 + arch/score/Kconfig | 1 + arch/sh/Kconfig | 1 + arch/sparc/Kconfig | 1 + arch/tile/Kconfig | 1 + arch/unicore32/Kconfig | 1 + arch/x86/Kconfig | 1 + arch/x86/um/Kconfig | 1 + arch/xtensa/Kconfig | 1 + include/linux/fcntl.h | 3 ++- 29 files changed, 33 insertions(+), 1 deletion(-) diff --git a/arch/Kconfig b/arch/Kconfig index 4e949e5..1e5e6c8 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -233,6 +233,10 @@ config ARCH_THREAD_INFO_ALLOCATOR config ARCH_WANTS_DYNAMIC_TASK_STRUCT bool +config ARCH_32BIT_OFF_T + def_bool n + depends on !64BIT + config HAVE_REGS_AND_STACK_ACCESS_API bool help diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index 6312f60..570dc39 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -9,6 +9,7 @@ config ARC def_bool y select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC + select ARCH_32BIT_OFF_T select BUILDTIME_EXTABLE_SORT select COMMON_CLK select CLONE_BACKWARDS diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 34e1569..dafdebe 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1,6 +1,7 @@ config ARM bool default y + select ARCH_32BIT_OFF_T select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_HAS_ELF_RANDOMIZE select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index af76634..9b5fc06 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig @@ -12,6 +12,7 @@ config RWSEM_XCHGADD_ALGORITHM config BLACKFIN def_bool y + select ARCH_32BIT_OFF_T select HAVE_ARCH_KGDB select HAVE_ARCH_TRACEHOOK select HAVE_DYNAMIC_FTRACE diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index e086f9e..5bc9203 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig @@ -50,6 +50,7 @@ config LOCKDEP_SUPPORT config CRIS bool default y + select ARCH_32BIT_OFF_T select HAVE_IDE select GENERIC_ATOMIC64 select HAVE_UID16 diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index 34aa193..09b82fc 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig @@ -1,6 +1,7 @@ config FRV bool default y + select ARCH_32BIT_OFF_T select HAVE_IDE select HAVE_ARCH_TRACEHOOK select HAVE_PERF_EVENTS diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index dd3ac75..7761f4a 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig @@ -1,5 +1,6 @@ config H8300 def_bool y + select ARCH_32BIT_OFF_T select GENERIC_ATOMIC64 select HAVE_UID16 select VIRT_TO_BUS diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig index 4dc89d1..29836fc 100644 --- a/arch/hexagon/Kconfig +++ b/arch/hexagon/Kconfig @@ -3,6 +3,7 @@ comment "Linux Kernel Configuration for Hexagon" config HEXAGON def_bool y + select ARCH_32BIT_OFF_T select HAVE_OPROFILE # Other pending projects/to-do items. # select HAVE_REGS_AND_STACK_ACCESS_API diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index eb0249e..370fcab 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -11,6 +11,7 @@ menu "Processor type and features" config IA64 bool + select ARCH_32BIT_OFF_T if !64BIT select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_SERIO select PCI if (!IA64_HP_SIM) diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index 9e44bbd..c6865a9 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig @@ -1,6 +1,7 @@ config M32R bool default y + select ARCH_32BIT_OFF_T select HAVE_IDE select HAVE_OPROFILE select INIT_ALL_POSSIBLE diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 498b567..e9897e4 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -1,6 +1,7 @@ config M68K bool default y + select ARCH_32BIT_OFF_T select ARCH_MIGHT_HAVE_PC_PARPORT if ISA select HAVE_IDE select HAVE_AOUT if MMU diff --git a/arch/metag/Kconfig b/arch/metag/Kconfig index 0b389a8..6b44d37 100644 --- a/arch/metag/Kconfig +++ b/arch/metag/Kconfig @@ -1,5 +1,6 @@ config METAG def_bool y + select ARCH_32BIT_OFF_T select EMBEDDED select GENERIC_ATOMIC64 select GENERIC_CLOCKEVENTS diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 0bce820..4b293e5 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -1,5 +1,6 @@ config MICROBLAZE def_bool y + select ARCH_32BIT_OFF_T select ARCH_HAS_GCOV_PROFILE_ALL select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_WANT_IPC_PARSE_VERSION diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 71683a8..2e42c26 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -1,6 +1,7 @@ config MIPS bool default y + select ARCH_32BIT_OFF_T if !64BIT select ARCH_SUPPORTS_UPROBES select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_SERIO diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index 78ae555..edf7372 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig @@ -1,5 +1,6 @@ config MN10300 def_bool y + select ARCH_32BIT_OFF_T select HAVE_OPROFILE select HAVE_UID16 select GENERIC_IRQ_SHOW diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig index 4375554..a38fc38 100644 --- a/arch/nios2/Kconfig +++ b/arch/nios2/Kconfig @@ -1,5 +1,6 @@ config NIOS2 def_bool y + select ARCH_32BIT_OFF_T select ARCH_WANT_OPTIONAL_GPIOLIB select CLKSRC_OF select GENERIC_ATOMIC64 diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index 443f44d..7bef847 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig @@ -5,6 +5,7 @@ config OPENRISC def_bool y + select ARCH_32BIT_OFF_T select OF select OF_EARLY_FLATTREE select IRQ_DOMAIN diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 729f891..8bf0fe2 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -1,5 +1,6 @@ config PARISC def_bool y + select ARCH_32BIT_OFF_T if !64BIT select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_MIGHT_HAVE_PC_PARPORT select HAVE_IDE diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index db49e0d..2026a9e 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -7,6 +7,7 @@ config PPC32 config 32BIT bool default y if PPC32 + select ARCH_32BIT_OFF_T config 64BIT bool diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 3a55f49..d05a143 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -64,6 +64,7 @@ config ARCH_SUPPORTS_UPROBES config S390 def_bool y + select ARCH_32BIT_OFF_T if !64BIT select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_HAS_ELF_RANDOMIZE diff --git a/arch/score/Kconfig b/arch/score/Kconfig index 366e1b5..bc7bc7a 100644 --- a/arch/score/Kconfig +++ b/arch/score/Kconfig @@ -2,6 +2,7 @@ menu "Machine selection" config SCORE def_bool y + select ARCH_32BIT_OFF_T select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_ATOMIC64 diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index d514df7e..1e9d63a 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -52,6 +52,7 @@ config SUPERH config SUPERH32 def_bool ARCH = "sh" + select ARCH_32BIT_OFF_T select HAVE_KPROBES select HAVE_KRETPROBES select HAVE_IOREMAP_PROT if MMU && !X2TLB diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 56442d2..1268a2a 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -46,6 +46,7 @@ config SPARC config SPARC32 def_bool !64BIT + select ARCH_32BIT_OFF_T select GENERIC_ATOMIC64 select CLZ_TAB select HAVE_UID16 diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index 106c21b..ef2e7ec 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig @@ -3,6 +3,7 @@ config TILE def_bool y + select ARCH_32BIT_OFF_T if !64BIT select HAVE_PERF_EVENTS select USE_PMC if PERF_EVENTS select HAVE_DMA_ATTRS diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index c9faddc..1a8c3c0 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig @@ -1,5 +1,6 @@ config UNICORE32 def_bool y + select ARCH_32BIT_OFF_T select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_SERIO select HAVE_MEMBLOCK diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index db3622f..cc16336 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -20,6 +20,7 @@ config X86 select ACPI_LEGACY_TABLES_LOOKUP if ACPI select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI select ANON_INODES + select ARCH_32BIT_OFF_T if X86_32 select ARCH_CLOCKSOURCE_DATA select ARCH_DISCARD_MEMBLOCK select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig index ed56a1c..8436bcd 100644 --- a/arch/x86/um/Kconfig +++ b/arch/x86/um/Kconfig @@ -21,6 +21,7 @@ config 64BIT config X86_32 def_bool !64BIT select HAVE_AOUT + select ARCH_32BIT_OFF_T select ARCH_WANT_IPC_PARSE_VERSION select MODULES_USE_ELF_REL select CLONE_BACKWARDS diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 82044f7..7ff155a 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -3,6 +3,7 @@ config ZONE_DMA config XTENSA def_bool y + select ARCH_32BIT_OFF_T select ARCH_WANT_FRAME_POINTERS select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_OPTIONAL_GPIOLIB diff --git a/include/linux/fcntl.h b/include/linux/fcntl.h index 76ce329..2e27443 100644 --- a/include/linux/fcntl.h +++ b/include/linux/fcntl.h @@ -5,7 +5,8 @@ #ifndef force_o_largefile -#define force_o_largefile() (BITS_PER_LONG != 32) +#define force_o_largefile() ((BITS_PER_LONG != 32) \ + || !IS_ENABLED(CONFIG_ARCH_32BIT_OFF_T)) #endif #if BITS_PER_LONG == 32 -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/