From 62e6599087efba193e0156d89ee65fb74fc99cb2 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 17 Dec 2019 14:26:39 +1030 Subject: ubsan: bpf: left shift cannot be represented in type 'DI' (aka 'long') cpu/ * bpf.cpu (f-imm64): Avoid signed overflow. opcodes/ * bpf-ibld.c: Regenerate. --- cpu/ChangeLog | 4 ++++ cpu/bpf.cpu | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'cpu') diff --git a/cpu/ChangeLog b/cpu/ChangeLog index 688c596..8755ee7 100644 --- a/cpu/ChangeLog +++ b/cpu/ChangeLog @@ -1,3 +1,7 @@ +2019-12-17 Alan Modra + + * bpf.cpu (f-imm64): Avoid signed overflow. + 2019-12-16 Alan Modra * xstormy16.cpu (f-rel12a): Avoid signed overflow. diff --git a/cpu/bpf.cpu b/cpu/bpf.cpu index db2301c..d5a8eac 100644 --- a/cpu/bpf.cpu +++ b/cpu/bpf.cpu @@ -288,8 +288,8 @@ (set (ifield f-imm64-a) (and (ifield f-imm64) (const #xffffffff))))) (extract (sequence () (set (ifield f-imm64) - (or (sll DI (zext DI (ifield f-imm64-c)) (const 32)) - (zext DI (ifield f-imm64-a))))))) + (or (sll UDI (zext UDI (ifield f-imm64-c)) (const 32)) + (zext UDI (ifield f-imm64-a))))))) ;;; Operands -- cgit v1.1