RE: [PATCH 1/2] mm: Fix struct page layout on 32-bit systems
From: David Laight <hidden>
Date: 2021-04-21 08:43:10
Also in:
linux-mips, linux-mm, linuxppc-dev, lkml, netdev
From: David Laight <hidden>
Date: 2021-04-21 08:43:10
Also in:
linux-mips, linux-mm, linuxppc-dev, lkml, netdev
From: Arnd Bergmann
Sent: 20 April 2021 22:20 On Tue, Apr 20, 2021 at 11:14 PM Vineet Gupta [off-list ref] wrote:quoted
On 4/20/21 12:07 AM, Arnd Bergmann wrote:quoted
quoted
which means that half the 32-bit architectures do this. This may cause more problems when arc and/or microblaze want to support 64-bit kernels and compat mode in the future on their latest hardware, as that means duplicating the x86 specific hacks we have for compat. What is alignof(u64) on 64-bit arc?$ echo 'int a = __alignof__(long long);' | arc64-linux-gnu-gcc -xc - -Wall -S -o - | grep -A1 a: | tail -n 1 | cut -f 3 8Ok, good.
That test doesn't prove anything.
Try running on x86:
$ echo 'int a = __alignof__(long long);' | gcc -xc - -Wall -S -o - -m32
.file ""
.globl a
.data
.align 4
.type a, @object
.size a, 4
a:
.long 8
.ident "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609"
.section .note.GNU-stack,"",@progbits
Using '__alignof__(struct {long long x;})' does give the expected 4.
__alignof__() returns the preferred alignment, not the enforced
alignmnet - go figure.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel