* [PATCH 1/4] gmp: don't compile in mips16e mode
@ 2016-06-24 10:58 André Draszik
2016-06-24 10:58 ` [PATCH 2/4] uclibc: " André Draszik
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: André Draszik @ 2016-06-24 10:58 UTC (permalink / raw)
To: openembedded-core
From: André Draszik <adraszik@tycoint.com>
gmp contains hand-written assembly which is not compatible with
the MIPS16e mode.
Signed-off-by: André Draszik <adraszik@tycoint.com>
---
meta/recipes-support/gmp/gmp_6.1.0.bb | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/recipes-support/gmp/gmp_6.1.0.bb b/meta/recipes-support/gmp/gmp_6.1.0.bb
index de827f5..9acf5cf 100644
--- a/meta/recipes-support/gmp/gmp_6.1.0.bb
+++ b/meta/recipes-support/gmp/gmp_6.1.0.bb
@@ -30,4 +30,8 @@ do_install_append_class-target() {
SSTATE_SCAN_FILES += "gmp.h"
+# Doesn't compile in MIPS16e mode due to use of hand-written
+# assembly
+MIPS_INSTRUCTION_SET = "mips"
+
BBCLASSEXTEND = "native nativesdk"
--
2.8.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/4] uclibc: don't compile in mips16e mode 2016-06-24 10:58 [PATCH 1/4] gmp: don't compile in mips16e mode André Draszik @ 2016-06-24 10:58 ` André Draszik 2016-06-25 16:18 ` akuster808 2016-06-24 10:58 ` [PATCH 3/4] libffi: " André Draszik 2016-06-24 10:58 ` [PATCH 4/4] glib: disable valgrind support when compiling " André Draszik 2 siblings, 1 reply; 6+ messages in thread From: André Draszik @ 2016-06-24 10:58 UTC (permalink / raw) To: openembedded-core From: André Draszik <adraszik@tycoint.com> uClibc contains hand-written assembly which is not compatible with the MIPS16e mode. Signed-off-by: André Draszik <adraszik@tycoint.com> --- meta/recipes-core/uclibc/uclibc.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc index 57f87fa..02cd8d1 100644 --- a/meta/recipes-core/uclibc/uclibc.inc +++ b/meta/recipes-core/uclibc/uclibc.inc @@ -63,6 +63,10 @@ EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}" CFLAGS_remove_arm = "-fno-omit-frame-pointer" UCLIBC_EXTRA_CFLAGS = "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}" +# Doesn't compile in MIPS16e mode due to use of hand-written +# assembly +MIPS_INSTRUCTION_SET_pn-uclibc = "mips" + configmangle = '/^KERNEL_HEADERS/d; \ /^RUNTIME_PREFIX/d; \ /^DEVEL_PREFIX/d; \ -- 2.8.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/4] uclibc: don't compile in mips16e mode 2016-06-24 10:58 ` [PATCH 2/4] uclibc: " André Draszik @ 2016-06-25 16:18 ` akuster808 2016-06-25 17:34 ` Khem Raj 0 siblings, 1 reply; 6+ messages in thread From: akuster808 @ 2016-06-25 16:18 UTC (permalink / raw) To: André Draszik, openembedded-core Are these Krogoth worthy? - armin On 06/24/2016 03:58 AM, André Draszik wrote: > From: André Draszik <adraszik@tycoint.com> > > uClibc contains hand-written assembly which is not compatible with > the MIPS16e mode. > > Signed-off-by: André Draszik <adraszik@tycoint.com> > --- > meta/recipes-core/uclibc/uclibc.inc | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc > index 57f87fa..02cd8d1 100644 > --- a/meta/recipes-core/uclibc/uclibc.inc > +++ b/meta/recipes-core/uclibc/uclibc.inc > @@ -63,6 +63,10 @@ EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}" > CFLAGS_remove_arm = "-fno-omit-frame-pointer" > UCLIBC_EXTRA_CFLAGS = "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}" > > +# Doesn't compile in MIPS16e mode due to use of hand-written > +# assembly > +MIPS_INSTRUCTION_SET_pn-uclibc = "mips" > + > configmangle = '/^KERNEL_HEADERS/d; \ > /^RUNTIME_PREFIX/d; \ > /^DEVEL_PREFIX/d; \ > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/4] uclibc: don't compile in mips16e mode 2016-06-25 16:18 ` akuster808 @ 2016-06-25 17:34 ` Khem Raj 0 siblings, 0 replies; 6+ messages in thread From: Khem Raj @ 2016-06-25 17:34 UTC (permalink / raw) To: akuster808; +Cc: openembedded-core [-- Attachment #1: Type: text/plain, Size: 1560 bytes --] > On Jun 25, 2016, at 9:18 AM, akuster808 <akuster808@gmail.com> wrote: > > Are these Krogoth worthy? I think this is a list of patches. Not this alone. You need MIPS_INSTRUCTION_SET patch to begin with. I am not sure its safe and desired to bring mips16 feature after the release. > > - armin > > On 06/24/2016 03:58 AM, André Draszik wrote: >> From: André Draszik <adraszik@tycoint.com> >> >> uClibc contains hand-written assembly which is not compatible with >> the MIPS16e mode. >> >> Signed-off-by: André Draszik <adraszik@tycoint.com> >> --- >> meta/recipes-core/uclibc/uclibc.inc | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc >> index 57f87fa..02cd8d1 100644 >> --- a/meta/recipes-core/uclibc/uclibc.inc >> +++ b/meta/recipes-core/uclibc/uclibc.inc >> @@ -63,6 +63,10 @@ EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}" >> CFLAGS_remove_arm = "-fno-omit-frame-pointer" >> UCLIBC_EXTRA_CFLAGS = "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}" >> >> +# Doesn't compile in MIPS16e mode due to use of hand-written >> +# assembly >> +MIPS_INSTRUCTION_SET_pn-uclibc = "mips" >> + >> configmangle = '/^KERNEL_HEADERS/d; \ >> /^RUNTIME_PREFIX/d; \ >> /^DEVEL_PREFIX/d; \ >> > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core [-- Attachment #2: Message signed with OpenPGP using GPGMail --] [-- Type: application/pgp-signature, Size: 211 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/4] libffi: don't compile in mips16e mode 2016-06-24 10:58 [PATCH 1/4] gmp: don't compile in mips16e mode André Draszik 2016-06-24 10:58 ` [PATCH 2/4] uclibc: " André Draszik @ 2016-06-24 10:58 ` André Draszik 2016-06-24 10:58 ` [PATCH 4/4] glib: disable valgrind support when compiling " André Draszik 2 siblings, 0 replies; 6+ messages in thread From: André Draszik @ 2016-06-24 10:58 UTC (permalink / raw) To: openembedded-core From: André Draszik <adraszik@tycoint.com> libffi contains hand-written assembly which is not compatible with the MIPS16e mode. Signed-off-by: André Draszik <adraszik@tycoint.com> --- meta/recipes-support/libffi/libffi_3.2.1.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb index 72e25fb..42ab108 100644 --- a/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -23,4 +23,8 @@ inherit autotools texinfo FILES_${PN}-dev += "${libdir}/libffi-${PV}" +# Doesn't compile in MIPS16e mode due to use of hand-written +# assembly +MIPS_INSTRUCTION_SET = "mips16" + BBCLASSEXTEND = "native nativesdk" -- 2.8.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] glib: disable valgrind support when compiling in mips16e mode 2016-06-24 10:58 [PATCH 1/4] gmp: don't compile in mips16e mode André Draszik 2016-06-24 10:58 ` [PATCH 2/4] uclibc: " André Draszik 2016-06-24 10:58 ` [PATCH 3/4] libffi: " André Draszik @ 2016-06-24 10:58 ` André Draszik 2 siblings, 0 replies; 6+ messages in thread From: André Draszik @ 2016-06-24 10:58 UTC (permalink / raw) To: openembedded-core From: André Draszik <adraszik@tycoint.com> | mipsel-poky-linux-uclibc-gcc -mel -mabi=32 -msoft-float \ | -march=mips32r2 -mips16 -minterlink-compressed -mtune=24kec \ | -mdsp --sysroot=<sysroot> -DHAVE_CONFIG_H -I. \ | -I<glib>/glib -I.. -I.. -I../glib -I<glib>/glib -I<glib> \ | -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DGLIB_COMPILATION \ | -DPCRE_STATIC -pthread -Wall -Wstrict-prototypes \ | -Werror=declaration-after-statement -Werror=missing-prototypes \ | -Werror=implicit-function-declaration -Werror=pointer-arith \ | -Werror=init-self -Werror=format=2 -Werror=missing-include-dirs \ | -fvisibility=hidden -O2 -pipe -g -feliminate-unused-debug-types \ | -c <glib>/glib/gslice.c -fPIC -DPIC -o .libs/libglib_2_0_la-gslice.o | {standard input}: Assembler messages: | {standard input}:2485: Error: invalid operands `move $11,$8' | {standard input}:2487: Error: invalid operands `srl $0,$0,13' | {standard input}:2488: Error: invalid operands `srl $0,$0,29' | {standard input}:2489: Error: invalid operands `srl $0,$0,3' | {standard input}:2490: Error: invalid operands `srl $0,$0,19' | {standard input}:2491: Error: invalid operands `or $13,$13,$13' | Makefile:2076: recipe for target 'libglib_2_0_la-gslice.lo' failed The alternative would probably be to force compilation in normal mips mode for all of glib (as is done for armv4 and armv5). While that would retain the valgrind support, valgrind support itself shouldn't be needed on the target device, and we rather keep the mips16e mode. Signed-off-by: André Draszik <adraszik@tycoint.com> --- meta/recipes-core/glib-2.0/glib.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index c6b8e57..767492d 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -68,6 +68,9 @@ FILES_${PN}-utils = "${bindir}/*" ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" +# Valgrind runtime detection works using hand-written assembly, which +# doesn't support mips16e +CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1" USE_NLS = "yes" -- 2.8.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-06-25 17:34 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-06-24 10:58 [PATCH 1/4] gmp: don't compile in mips16e mode André Draszik 2016-06-24 10:58 ` [PATCH 2/4] uclibc: " André Draszik 2016-06-25 16:18 ` akuster808 2016-06-25 17:34 ` Khem Raj 2016-06-24 10:58 ` [PATCH 3/4] libffi: " André Draszik 2016-06-24 10:58 ` [PATCH 4/4] glib: disable valgrind support when compiling " André Draszik
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.