All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* [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

* 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

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.