[Pixman] [PATCH v2 2/3] build: use '-mloongson-mmi' for Loongson MMI.
YunQiang Su
wzssyqa at gmail.com
Fri Feb 21 14:11:56 UTC 2020
Shiyou Yin <yinshiyou-hf at loongson.cn> 于2020年2月21日周五 下午9:47写道:
>
> >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.
The generic use case is like:
if not-defined LS_CFLAGS;then
reuslt=do_some_guess(compiler)
if not result;then
reuslt=do_some_guess(cpuinfo)
fi
if yes result;then
use_3a()
fi
else
use_2f()
fi
Since as I know, some of your internal toolchains are configured:
--with-cpu=longson3a
If you don't determine compiler, you will override the default
configuration of gcc.
>
> >-----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
>
--
YunQiang Su
More information about the Pixman
mailing list