diff options
author | Tudor Florea <tudor.florea@enea.com> | 2014-10-10 03:20:04 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2014-10-10 03:20:04 +0200 |
commit | 1b8dfe266937a37a4c642f96ceb2347bf4c00a17 (patch) | |
tree | 0c6aab146bb3c82efd9c7846a9a4e70dcb0ec84f /meta-oe/recipes-devtools/luajit | |
download | meta-openembedded-daisy-140929.tar.gz |
initial commit for Enea Linux 4.0-140929daisy-140929
Migrated from the internal git server on the daisy-enea-point-release branch
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-devtools/luajit')
3 files changed, 192 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch b/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch new file mode 100644 index 0000000000..f123b3f55a --- /dev/null +++ b/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 528009f5ca0685c95ef27f6c8957160499c0576a Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 10 May 2013 10:42:45 -0700 | ||
4 | Subject: [PATCH] Do not strip automatically, this leaves the stripping | ||
5 | busines to OE | ||
6 | |||
7 | Upstream-Status: Inappropriate [OE-Specific] | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | src/Makefile | 2 -- | ||
12 | 1 file changed, 2 deletions(-) | ||
13 | |||
14 | diff --git a/src/Makefile b/src/Makefile | ||
15 | index 278324a..5ecd6d5 100644 | ||
16 | --- a/src/Makefile | ||
17 | +++ b/src/Makefile | ||
18 | @@ -665,12 +665,10 @@ $(LUAJIT_A): $(LJVMCORE_O) | ||
19 | $(LUAJIT_SO): $(LJVMCORE_O) | ||
20 | $(E) "DYNLINK $@" | ||
21 | $(Q)$(TARGET_LD) $(TARGET_ASHLDFLAGS) -o $@ $(LJVMCORE_DYNO) $(TARGET_ALIBS) | ||
22 | - $(Q)$(TARGET_STRIP) $@ | ||
23 | |||
24 | $(LUAJIT_T): $(TARGET_O) $(LUAJIT_O) $(TARGET_DEP) | ||
25 | $(E) "LINK $@" | ||
26 | $(Q)$(TARGET_LD) $(TARGET_ALDFLAGS) -o $@ $(LUAJIT_O) $(TARGET_O) $(TARGET_ALIBS) | ||
27 | - $(Q)$(TARGET_STRIP) $@ | ||
28 | $(E) "OK Successfully built LuaJIT" | ||
29 | |||
30 | ############################################################################## | ||
31 | -- | ||
32 | 1.7.9.5 | ||
33 | |||
diff --git a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch b/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch new file mode 100644 index 0000000000..b9f17f4e31 --- /dev/null +++ b/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch | |||
@@ -0,0 +1,105 @@ | |||
1 | Upstream-Status: Unknown | ||
2 | |||
3 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
4 | |||
5 | libluajit is having symbols that can't be | ||
6 | resolved the reloc cannot accommodate an offset greater than 24 bits. | ||
7 | |||
8 | Looking at libluajit with readelf -r, you see a bunch of entries that look like: | ||
9 | 000082f0 00003c0a R_PPC_REL24 00000000 sqrt + 0 | ||
10 | |||
11 | These should not occur when the code is compiled and linked with -fPIC. | ||
12 | |||
13 | It turns out that libluajit *is* compiled and linked with -fPIC, however... | ||
14 | There is one assembler file called lj_vm.s which is generated during the build. | ||
15 | This file is missing the `@plt' qualifier from external references. | ||
16 | |||
17 | This file is generated by a program called buildvm. This in turn uses tables | ||
18 | in a file called buildvm_arch.h which is generated by dynasm.lua. | ||
19 | |||
20 | Index: LuaJIT-2.0.1/src/host/buildvm.c | ||
21 | =================================================================== | ||
22 | --- LuaJIT-2.0.1.orig/src/host/buildvm.c 2013-02-19 12:15:00.000000000 -0800 | ||
23 | +++ LuaJIT-2.0.1/src/host/buildvm.c 2013-05-14 20:26:05.933444512 -0700 | ||
24 | @@ -107,12 +107,14 @@ | ||
25 | #endif | ||
26 | sprintf(name, "%s%s%s", symprefix, prefix, suffix); | ||
27 | p = strchr(name, '@'); | ||
28 | +#if 0 | ||
29 | if (p) { | ||
30 | if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj)) | ||
31 | name[0] = '@'; | ||
32 | else | ||
33 | *p = '\0'; | ||
34 | } | ||
35 | +#endif | ||
36 | p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */ | ||
37 | strcpy(p, name); | ||
38 | return p; | ||
39 | Index: LuaJIT-2.0.1/src/vm_ppcspe.dasc | ||
40 | =================================================================== | ||
41 | --- LuaJIT-2.0.1.orig/src/vm_ppcspe.dasc 2013-02-19 12:15:00.000000000 -0800 | ||
42 | +++ LuaJIT-2.0.1/src/vm_ppcspe.dasc 2013-05-14 20:26:05.937444512 -0700 | ||
43 | @@ -1390,7 +1390,7 @@ | ||
44 | | checknum CARG2 | ||
45 | | evmergehi CARG1, CARG2, CARG2 | ||
46 | | checkfail ->fff_fallback | ||
47 | - | bl extern func | ||
48 | + | bl extern func@plt | ||
49 | | evmergelo CRET1, CRET1, CRET2 | ||
50 | | b ->fff_restv | ||
51 | |.endmacro | ||
52 | @@ -1405,7 +1405,7 @@ | ||
53 | | checknum CARG1 | ||
54 | | evmergehi CARG3, CARG4, CARG4 | ||
55 | | checkanyfail ->fff_fallback | ||
56 | - | bl extern func | ||
57 | + | bl extern func@plt | ||
58 | | evmergelo CRET1, CRET1, CRET2 | ||
59 | | b ->fff_restv | ||
60 | |.endmacro | ||
61 | @@ -1437,7 +1437,7 @@ | ||
62 | | checknum CARG2 | ||
63 | | evmergehi CARG1, CARG2, CARG2 | ||
64 | | checkfail ->fff_fallback | ||
65 | - | bl extern log | ||
66 | + | bl extern log@plt | ||
67 | | evmergelo CRET1, CRET1, CRET2 | ||
68 | | b ->fff_restv | ||
69 | | | ||
70 | @@ -1471,7 +1471,7 @@ | ||
71 | | checknum CARG1 | ||
72 | | checkanyfail ->fff_fallback | ||
73 | | efdctsi CARG3, CARG4 | ||
74 | - | bl extern ldexp | ||
75 | + | bl extern ldexp@plt | ||
76 | | evmergelo CRET1, CRET1, CRET2 | ||
77 | | b ->fff_restv | ||
78 | | | ||
79 | @@ -1484,7 +1484,7 @@ | ||
80 | | checkfail ->fff_fallback | ||
81 | | la CARG3, DISPATCH_GL(tmptv)(DISPATCH) | ||
82 | | lwz PC, FRAME_PC(BASE) | ||
83 | - | bl extern frexp | ||
84 | + | bl extern frexp@plt | ||
85 | | lwz TMP1, DISPATCH_GL(tmptv)(DISPATCH) | ||
86 | | evmergelo CRET1, CRET1, CRET2 | ||
87 | | efdcfsi CRET2, TMP1 | ||
88 | @@ -1503,7 +1503,7 @@ | ||
89 | | checkfail ->fff_fallback | ||
90 | | la CARG3, -8(BASE) | ||
91 | | lwz PC, FRAME_PC(BASE) | ||
92 | - | bl extern modf | ||
93 | + | bl extern modf@plt | ||
94 | | evmergelo CRET1, CRET1, CRET2 | ||
95 | | la RA, -8(BASE) | ||
96 | | evstdd CRET1, 0(BASE) | ||
97 | @@ -2399,7 +2399,7 @@ | ||
98 | | checknum CARG1 | ||
99 | | evmergehi CARG3, CARG4, CARG4 | ||
100 | | checkanyfail ->vmeta_arith_vv | ||
101 | - | bl extern pow | ||
102 | + | bl extern pow@plt | ||
103 | | evmergelo CRET2, CRET1, CRET2 | ||
104 | | evstddx CRET2, BASE, RA | ||
105 | | ins_next | ||
diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb new file mode 100644 index 0000000000..b719b48e09 --- /dev/null +++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb | |||
@@ -0,0 +1,54 @@ | |||
1 | SUMMARY = "Just-In-Time Compiler for Lua" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1793ef52a5d577794cd886a501a7f861" | ||
4 | HOMEPAGE = "http://luajit.org" | ||
5 | |||
6 | DEPENDS += "lua5.1" | ||
7 | SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz;name=tarball \ | ||
8 | file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \ | ||
9 | " | ||
10 | SRC_URI[tarball.md5sum] = "112dfb82548b03377fbefbba2e0e3a5b" | ||
11 | SRC_URI[tarball.sha256sum] = "c05202974a5890e777b181908ac237625b499aece026654d7cc33607e3f46c38" | ||
12 | |||
13 | SRC_URI_append_fslmachine = " file://ppc-fixplt.patch " | ||
14 | |||
15 | S = "${WORKDIR}/LuaJIT-${PV}" | ||
16 | |||
17 | inherit pkgconfig binconfig | ||
18 | |||
19 | do_configure_prepend() { | ||
20 | sed -i -e s:/usr/local:${prefix}:g ${S}/Makefile | ||
21 | sed -i -e s:/lib$:${base_libdir}:g ${S}/Makefile | ||
22 | } | ||
23 | |||
24 | EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} TARGET_CFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"' | ||
25 | EXTRA_OEMAKE_append_powerpc = ' HOST_CC="${BUILD_CC} -m32"' | ||
26 | EXTRA_OEMAKE_append_x86-64 = ' HOST_CC="${BUILD_CC}"' | ||
27 | EXTRA_OEMAKE_append_i586 = ' HOST_CC="${BUILD_CC} -m32"' | ||
28 | EXTRA_OEMAKE_append_powerpc64 = ' HOST_CC="${BUILD_CC}"' | ||
29 | EXTRA_OEMAKE_append_arm = ' HOST_CC="${BUILD_CC} -m32"' | ||
30 | EXTRA_OEMAKE_append_mips64 = ' HOST_CC="${BUILD_CC} -m32"' | ||
31 | |||
32 | do_compile () { | ||
33 | oe_runmake | ||
34 | } | ||
35 | |||
36 | do_install () { | ||
37 | oe_runmake 'DESTDIR=${D}' install | ||
38 | rmdir ${D}${datadir}/lua/5.1 \ | ||
39 | ${D}${datadir}/lua \ | ||
40 | ${D}${libdir}/lua/5.1 \ | ||
41 | ${D}${libdir}/lua | ||
42 | } | ||
43 | |||
44 | PACKAGES += 'luajit-common' | ||
45 | |||
46 | FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \ | ||
47 | ${libdir}/libluajit-5.1.so.${PV} \ | ||
48 | " | ||
49 | FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \ | ||
50 | ${libdir}/libluajit-5.1.so \ | ||
51 | ${libdir}/pkgconfig/luajit.pc \ | ||
52 | " | ||
53 | FILES_luajit-common = "${datadir}/${BPN}-${PV}" | ||
54 | |||