mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 02:31:27 +00:00
luajit: remove fsl ppc specfic patch
Will add this patch in meta-fsl-ppc layer via bbappend. Signed-off-by: Ting Liu <b28495@freescale.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
@@ -1,105 +0,0 @@
|
|||||||
Upstream-Status: Unknown
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
|
|
||||||
libluajit is having symbols that can't be
|
|
||||||
resolved the reloc cannot accommodate an offset greater than 24 bits.
|
|
||||||
|
|
||||||
Looking at libluajit with readelf -r, you see a bunch of entries that look like:
|
|
||||||
000082f0 00003c0a R_PPC_REL24 00000000 sqrt + 0
|
|
||||||
|
|
||||||
These should not occur when the code is compiled and linked with -fPIC.
|
|
||||||
|
|
||||||
It turns out that libluajit *is* compiled and linked with -fPIC, however...
|
|
||||||
There is one assembler file called lj_vm.s which is generated during the build.
|
|
||||||
This file is missing the `@plt' qualifier from external references.
|
|
||||||
|
|
||||||
This file is generated by a program called buildvm. This in turn uses tables
|
|
||||||
in a file called buildvm_arch.h which is generated by dynasm.lua.
|
|
||||||
|
|
||||||
Index: LuaJIT-2.0.1/src/host/buildvm.c
|
|
||||||
===================================================================
|
|
||||||
--- LuaJIT-2.0.1.orig/src/host/buildvm.c 2013-02-19 12:15:00.000000000 -0800
|
|
||||||
+++ LuaJIT-2.0.1/src/host/buildvm.c 2013-05-14 20:26:05.933444512 -0700
|
|
||||||
@@ -107,12 +107,14 @@
|
|
||||||
#endif
|
|
||||||
sprintf(name, "%s%s%s", symprefix, prefix, suffix);
|
|
||||||
p = strchr(name, '@');
|
|
||||||
+#if 0
|
|
||||||
if (p) {
|
|
||||||
if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj))
|
|
||||||
name[0] = '@';
|
|
||||||
else
|
|
||||||
*p = '\0';
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */
|
|
||||||
strcpy(p, name);
|
|
||||||
return p;
|
|
||||||
Index: LuaJIT-2.0.1/src/vm_ppcspe.dasc
|
|
||||||
===================================================================
|
|
||||||
--- LuaJIT-2.0.1.orig/src/vm_ppcspe.dasc 2013-02-19 12:15:00.000000000 -0800
|
|
||||||
+++ LuaJIT-2.0.1/src/vm_ppcspe.dasc 2013-05-14 20:26:05.937444512 -0700
|
|
||||||
@@ -1390,7 +1390,7 @@
|
|
||||||
| checknum CARG2
|
|
||||||
| evmergehi CARG1, CARG2, CARG2
|
|
||||||
| checkfail ->fff_fallback
|
|
||||||
- | bl extern func
|
|
||||||
+ | bl extern func@plt
|
|
||||||
| evmergelo CRET1, CRET1, CRET2
|
|
||||||
| b ->fff_restv
|
|
||||||
|.endmacro
|
|
||||||
@@ -1405,7 +1405,7 @@
|
|
||||||
| checknum CARG1
|
|
||||||
| evmergehi CARG3, CARG4, CARG4
|
|
||||||
| checkanyfail ->fff_fallback
|
|
||||||
- | bl extern func
|
|
||||||
+ | bl extern func@plt
|
|
||||||
| evmergelo CRET1, CRET1, CRET2
|
|
||||||
| b ->fff_restv
|
|
||||||
|.endmacro
|
|
||||||
@@ -1437,7 +1437,7 @@
|
|
||||||
| checknum CARG2
|
|
||||||
| evmergehi CARG1, CARG2, CARG2
|
|
||||||
| checkfail ->fff_fallback
|
|
||||||
- | bl extern log
|
|
||||||
+ | bl extern log@plt
|
|
||||||
| evmergelo CRET1, CRET1, CRET2
|
|
||||||
| b ->fff_restv
|
|
||||||
|
|
|
||||||
@@ -1471,7 +1471,7 @@
|
|
||||||
| checknum CARG1
|
|
||||||
| checkanyfail ->fff_fallback
|
|
||||||
| efdctsi CARG3, CARG4
|
|
||||||
- | bl extern ldexp
|
|
||||||
+ | bl extern ldexp@plt
|
|
||||||
| evmergelo CRET1, CRET1, CRET2
|
|
||||||
| b ->fff_restv
|
|
||||||
|
|
|
||||||
@@ -1484,7 +1484,7 @@
|
|
||||||
| checkfail ->fff_fallback
|
|
||||||
| la CARG3, DISPATCH_GL(tmptv)(DISPATCH)
|
|
||||||
| lwz PC, FRAME_PC(BASE)
|
|
||||||
- | bl extern frexp
|
|
||||||
+ | bl extern frexp@plt
|
|
||||||
| lwz TMP1, DISPATCH_GL(tmptv)(DISPATCH)
|
|
||||||
| evmergelo CRET1, CRET1, CRET2
|
|
||||||
| efdcfsi CRET2, TMP1
|
|
||||||
@@ -1503,7 +1503,7 @@
|
|
||||||
| checkfail ->fff_fallback
|
|
||||||
| la CARG3, -8(BASE)
|
|
||||||
| lwz PC, FRAME_PC(BASE)
|
|
||||||
- | bl extern modf
|
|
||||||
+ | bl extern modf@plt
|
|
||||||
| evmergelo CRET1, CRET1, CRET2
|
|
||||||
| la RA, -8(BASE)
|
|
||||||
| evstdd CRET1, 0(BASE)
|
|
||||||
@@ -2399,7 +2399,7 @@
|
|
||||||
| checknum CARG1
|
|
||||||
| evmergehi CARG3, CARG4, CARG4
|
|
||||||
| checkanyfail ->vmeta_arith_vv
|
|
||||||
- | bl extern pow
|
|
||||||
+ | bl extern pow@plt
|
|
||||||
| evmergelo CRET2, CRET1, CRET2
|
|
||||||
| evstddx CRET2, BASE, RA
|
|
||||||
| ins_next
|
|
||||||
@@ -9,8 +9,6 @@ SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \
|
|||||||
SRC_URI[md5sum] = "f14e9104be513913810cd59c8c658dc0"
|
SRC_URI[md5sum] = "f14e9104be513913810cd59c8c658dc0"
|
||||||
SRC_URI[sha256sum] = "55be6cb2d101ed38acca32c5b1f99ae345904b365b642203194c585d27bebd79"
|
SRC_URI[sha256sum] = "55be6cb2d101ed38acca32c5b1f99ae345904b365b642203194c585d27bebd79"
|
||||||
|
|
||||||
SRC_URI_append_fslmachine = " file://ppc-fixplt.patch "
|
|
||||||
|
|
||||||
S = "${WORKDIR}/LuaJIT-${PV}"
|
S = "${WORKDIR}/LuaJIT-${PV}"
|
||||||
|
|
||||||
inherit pkgconfig binconfig
|
inherit pkgconfig binconfig
|
||||||
|
|||||||
Reference in New Issue
Block a user