Re: [PATCH] mm: add pmd_t initializer __pmd() to work around a GCC bug.

From: David Miller
Date: Thu Aug 10 2017 - 18:05:03 EST


From: Zi Yan <zi.yan@xxxxxxxx>
Date: Thu, 3 Aug 2017 09:17:21 -0400

> From: Zi Yan <zi.yan@xxxxxxxxxxxxxx>
>
> THP migration is added but only supports x86_64 at the moment. For all
> other architectures, swp_entry_to_pmd() only returns a zero pmd_t.
>
> Due to a GCC zero initializer bug #53119, the standard (pmd_t){0}
> initializer is not accepted by all GCC versions. __pmd() is a feasible
> workaround. In addition, sparc32's pmd_t is an array instead of a single
> value, so we need (pmd_t){ {0}, } instead of (pmd_t){0}. Thus,
> a different __pmd() definition is needed in sparc32.
>
> Signed-off-by: Zi Yan <zi.yan@xxxxxxxxxxxxxx>

Applied.