diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2014-02-25 17:29:50 +0100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2014-04-20 10:43:30 +0200 |
commit | 72a0b544bdb129eed2f310fb8a72614d1ee5f080 (patch) | |
tree | 8ed49dbda0c726190ddd870426bb5a2b3c44b4ef /meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch | |
parent | d5836e6a0008c0d78324368a822f16a5c2f6efb8 (diff) | |
download | meta-openembedded-72a0b544bdb129eed2f310fb8a72614d1ee5f080.tar.gz |
webkit-efl: upgrade to new snapshot r164189
* update webkit-efl_svn to point to the same source and old isn't
compatible with new efl
http://sourceforge.net/p/enlightenment/mailman/message/32002633/
* restrict for armv7a, because upstream dropped support
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch')
-rw-r--r-- | meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch new file mode 100644 index 000000000..9f005bcd3 --- /dev/null +++ b/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | From e284e92da00011e55d8f79383034e0c9c1a8a106 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 27 Feb 2014 13:40:43 +0100 | ||
4 | Subject: [PATCH 2/3] ARMAssembler.h: Don't generate BKPT and BLX for armv4* | ||
5 | |||
6 | * I haven't tested it in runtime yet, but it's better than to wait for asm failure later: | ||
7 | {standard input}: Assembler messages: | ||
8 | {standard input}:35: Error: selected processor does not support ARM mode `bkpt #0' | ||
9 | {standard input}:62: Error: selected processor does not support ARM mode `blx llint_throw_stack_overflow_error' | ||
10 | ... | ||
11 | |||
12 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
13 | --- | ||
14 | Source/JavaScriptCore/assembler/ARMAssembler.h | 19 +++++++++++++++++++ | ||
15 | 1 file changed, 19 insertions(+) | ||
16 | |||
17 | diff --git a/Source/JavaScriptCore/assembler/ARMAssembler.h b/Source/JavaScriptCore/assembler/ARMAssembler.h | ||
18 | index 087d31c..1b40ded 100644 | ||
19 | --- a/Source/JavaScriptCore/assembler/ARMAssembler.h | ||
20 | +++ b/Source/JavaScriptCore/assembler/ARMAssembler.h | ||
21 | @@ -211,7 +211,9 @@ namespace JSC { | ||
22 | LDMIA = 0x08b00000, | ||
23 | B = 0x0a000000, | ||
24 | BL = 0x0b000000, | ||
25 | +#if WTF_ARM_ARCH_AT_LEAST(5) | ||
26 | BX = 0x012fff10, | ||
27 | +#endif | ||
28 | VMOV_VFP64 = 0x0c400a10, | ||
29 | VMOV_ARM64 = 0x0c500a10, | ||
30 | VMOV_VFP32 = 0x0e000a10, | ||
31 | @@ -223,8 +225,10 @@ namespace JSC { | ||
32 | VCVT_F64_F32 = 0x0eb70ac0, | ||
33 | VMRS_APSR = 0x0ef1fa10, | ||
34 | CLZ = 0x016f0f10, | ||
35 | +#if WTF_ARM_ARCH_AT_LEAST(5) | ||
36 | BKPT = 0xe1200070, | ||
37 | BLX = 0x012fff30, | ||
38 | +#endif | ||
39 | #if WTF_ARM_ARCH_AT_LEAST(7) | ||
40 | MOVW = 0x03000000, | ||
41 | MOVT = 0x03400000, | ||
42 | @@ -689,7 +693,11 @@ namespace JSC { | ||
43 | |||
44 | void bkpt(ARMWord value) | ||
45 | { | ||
46 | +#if WTF_ARM_ARCH_AT_LEAST(5) | ||
47 | m_buffer.putInt(BKPT | ((value & 0xff0) << 4) | (value & 0xf)); | ||
48 | +#else | ||
49 | + // BKPT is available in ARMv5T and above, skip it here | ||
50 | +#endif | ||
51 | } | ||
52 | |||
53 | void nop() | ||
54 | @@ -704,12 +712,23 @@ namespace JSC { | ||
55 | |||
56 | void bx(int rm, Condition cc = AL) | ||
57 | { | ||
58 | +#if WTF_ARM_ARCH_AT_LEAST(5) | ||
59 | emitInstruction(toARMWord(cc) | BX, 0, 0, RM(rm)); | ||
60 | +#else | ||
61 | + // BX is available in ARMv5T and above. | ||
62 | + emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, ARMRegisters::lr, 0); | ||
63 | +#endif | ||
64 | } | ||
65 | |||
66 | AssemblerLabel blx(int rm, Condition cc = AL) | ||
67 | { | ||
68 | +#if WTF_ARM_ARCH_AT_LEAST(5) | ||
69 | emitInstruction(toARMWord(cc) | BLX, 0, 0, RM(rm)); | ||
70 | +#else | ||
71 | + // BLX is available in ARMv5T and above. | ||
72 | + emitInstruction(toARMWord(cc) | MOV, ARMRegisters::lr, ARMRegisters::pc, 0); | ||
73 | + emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, RM(rm), 0); | ||
74 | +#endif | ||
75 | return m_buffer.label(); | ||
76 | } | ||
77 | |||
78 | -- | ||
79 | 1.9.0 | ||
80 | |||