mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 21:37:15 +02:00
fixes #8193 CVE-2017-13783, CVE-2017-13784, CVE-2017-13785, CVE-2017-13788, CVE-2017-13791, CVE-2017-13792, CVE-2017-13793, CVE-2017-13794, CVE-2017-13795, CVE-2017-13796, CVE-2017-13798, CVE-2017-13802, CVE-2017-13803
24 lines
1.1 KiB
Diff
24 lines
1.1 KiB
Diff
Fix code emitted for armv6l to not use movw/movt but ldr.
|
|
See https://bugs.webkit.org/show_bug.cgi?id=131612
|
|
and https://bugs.webkit.org/show_bug.cgi?id=141288
|
|
|
|
--- a/Source/JavaScriptCore/offlineasm/arm.rb 2015-07-22 14:37:57.000000000 +0200
|
|
+++ b/Source/JavaScriptCore/offlineasm/arm.rb 2015-08-08 00:31:21.011824644 +0200
|
|
@@ -473,8 +473,16 @@
|
|
$asm.puts "mov #{armFlippedOperands(operands)}"
|
|
end
|
|
when "mvlbl"
|
|
+ if isARMv7 or isARMv7Traditional
|
|
$asm.puts "movw #{operands[1].armOperand}, \#:lower16:#{operands[0].value}"
|
|
$asm.puts "movt #{operands[1].armOperand}, \#:upper16:#{operands[0].value}"
|
|
+ else
|
|
+ $mvlbl_counter ||= 0
|
|
+ $mvlbl_counter += 1
|
|
+ const_label = "_mvlbl_const_label#{$mvlbl_counter}"
|
|
+ $asm.puts ".equ #{const_label}, (#{operands[0].value})"
|
|
+ $asm.puts "ldr #{operands[1].armOperand}, =#{const_label}"
|
|
+ end
|
|
when "nop"
|
|
$asm.puts "nop"
|
|
when "bieq", "bpeq", "bbeq"
|