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.
This commit is contained in:
Alan Modra
2019-12-17 14:26:39 +10:30
parent 45d735237b
commit 62e6599087
4 changed files with 11 additions and 3 deletions

View File

@@ -1,3 +1,7 @@
2019-12-17 Alan Modra <amodra@gmail.com>
* bpf.cpu (f-imm64): Avoid signed overflow.
2019-12-16 Alan Modra <amodra@gmail.com>
* xstormy16.cpu (f-rel12a): Avoid signed overflow.

View File

@@ -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