[Pixman] [PATCH v2 2/3] build: use '-mloongson-mmi' for Loongson MMI.

Shiyou Yin yinshiyou-hf at loongson.cn
Fri Feb 21 13:46:51 UTC 2020


>1. it breaks cross building
This patch only let '-march=loongson2f' can be replaced with '-march=loongson-mmi' 
when compile locally on Loongson-3A. In other cases, nothing will be changed.

>2. qemu-user mode cannot make /proc/cpuinfo correct
>3. sometimes, some user may want to build software in a chroot env
>without /proc bind mount.
If there are no '/proc/cpuinfo', grep will return nonzero, -march=loongson2f will be
setted just like what it was setted before.

Thanks very much, Your analysis is very comprehensive,
do you have a fix to satisfy all the above cases.

This patch can let us compile locally on Loongson-3A without setting option 'LS_CFLAGS=***'.
In other cases like what you said, specify 'LS_CFLAGS=***' while compile may be the best approach.

>-----Original Message-----
>From: YunQiang Su [mailto:wzssyqa at gmail.com]
>Sent: Thursday, February 20, 2020 10:30 PM
>To: Yin Shiyou
>Cc: pixman at lists.freedesktop.org
>Subject: Re: [Pixman] [PATCH v2 2/3] build: use '-mloongson-mmi' for Loongson MMI.
>
>Yin Shiyou <yinshiyou-hf at loongson.cn> 于2020年2月20日周四 下午10:23写道:
>>
>> It's suggested to use '-mloongson-mmi' to enable MMI.
>> To keep compatible with old processor, '-mloongson-mmi' will be
>> setted for Loongson-3A only.
>
>Please resend the whole patch set.
>
>> ---
>>  configure.ac | 8 ++++++--
>>  meson.build  | 2 +-
>>  2 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 1ca3974..2548799 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -271,9 +271,13 @@ PIXMAN_CHECK_CFLAG([-xldscope=hidden], [dnl
>>
>>  dnl ===========================================================================
>>  dnl Check for Loongson Multimedia Instructions
>> -
>>  if test "x$LS_CFLAGS" = "x" ; then
>> -    LS_CFLAGS="-march=loongson2f"
>> +    IS_LOONGSON_3A=`grep "Loongson-3A" /proc/cpuinfo`
>
>It is a bad way to determine CPU from cpuinfo:
>
>1. it breaks cross building
>2. qemu-user mode cannot make /proc/cpuinfo correct
>3. sometimes, some user may want to build software in a chroot env
>without /proc bind mount.
>
>> +    if test $? -eq 0 -a -n "$IS_LOONGSON_3A" ; then
>> +        LS_CFLAGS="-mloongson-mmi"
>> +    else
>> +        LS_CFLAGS="-march=loongson2f"
>> +    fi
>>  fi
>>
>>  have_loongson_mmi=no
>> diff --git a/meson.build b/meson.build
>> index 15d3409..a45c969 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -51,7 +51,7 @@ endforeach
>>
>>  use_loongson_mmi = get_option('loongson-mmi')
>>  have_loongson_mmi = false
>> -loongson_mmi_flags = ['-march=loongson2f']
>> +loongson_mmi_flags = ['-mloongson-mmi']
>>  if not use_loongson_mmi.disabled()
>>    if host_machine.cpu_family() == 'mips64' and cc.compiles('''
>>        #ifndef __mips_loongson_vector_rev
>> --
>> 2.1.0
>>
>> _______________________________________________
>> Pixman mailing list
>> Pixman at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/pixman
>
>
>
>--
>YunQiang Su



More information about the Pixman mailing list