On Mon, 11 Feb 2019 10:07:18 -0800
Laura Abbott <labbott(a)redhat.com> wrote:
On 2/11/19 1:57 PM, Dan Horák wrote:
> Hi,
>
> the root cause of
https://marc.info/?t=154824821000001&r=1&w=2 was
> fixed in gcc trunk (only) and it's now available in
> gcc-9.0.1-0.4.fc30.
>
> Something like the patch bellow is needed, but things get
> complicated, because the new constraint won't be available in gcc <
> 9 (afaik). A scratch build succeeded -
>
https://koji.fedoraproject.org/koji/taskinfo?taskID=32736584
>
> What I changed
> - updated 0001-s390-jump_label-Correct-asm-contraint.patch and
> added as Patch5xx
> - reverted the *config* part of 1b48caa (Disable CONFIG_JUMP_LABEL
> on s390x)
>
>
> diff --git a/arch/s390/include/asm/jump_label.h
> b/arch/s390/include/asm/jump_label.h index
> e2d3e6c43395..41dabfd8518d 100644
> --- a/arch/s390/include/asm/jump_label.h
> +++ b/arch/s390/include/asm/jump_label.h
> @@ -22,7 +22,7 @@ static inline bool arch_static_branch(struct
> static_key *key, bool branch) ".long 0b-.,%l[label]-.\n"
> ".quad %0-.\n"
> ".popsection\n"
> - : : "X" (&((char *)key)[branch]) : :
> label);
> + : : "jdd" (&((char *)key)[branch]) : :
> label); return false;
> label:
> return true;
> @@ -36,7 +36,7 @@ static inline bool arch_static_branch_jump(struct
> static_key *key, bool branch) ".long 0b-.,%l[label]-.\n"
> ".quad %0-.\n"
> ".popsection\n"
> - : : "X" (&((char *)key)[branch]) : :
> label);
> + : : "jdd" (&((char *)key)[branch]) : :
> label); return false;
> label:
> return true;
>
>
>
> With regards,
>
> Dan
Thanks for following up. I committed the proposal from
https://marc.info/?l=linux-kernel&m=154937077018072&w=2 and reenabled
CONIFG_JUMP_LABEL on today's -rc6 build. I'm guessing that patch
will get committed so I suggest we watch that and continue to follow
up upstream.