Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes)
@ 2014-12-27 18:16 Yann E. MORIN
  2014-12-27 18:16 ` [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available Yann E. MORIN
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Yann E. MORIN @ 2014-12-27 18:16 UTC (permalink / raw)
  To: buildroot

Hello All!

Two patches to fix FreeRDP because it may mis-detects the CPU, and may
enable features (Neon, SSE2) even if the CPU is missing them.

Regards,
Yann E. MORIN.


The following changes since commit 4ab89081f4d9187b9ad853eac2058fd98c6892d1:

  package/ffmpeg: update hash (2014-12-27 19:09:39 +0100)

are available in the git repository at:

  git://git.busybox.net/~ymorin/git/buildroot yem/fixes

for you to fetch changes up to d37d664e994af72e48de29bfbb2112249981b672:

  package/freerdp: do not use SSE2 extensions when not available (2014-12-27 19:13:43 +0100)

----------------------------------------------------------------
Yann E. MORIN (2):
      package/freerdp: do not use Neon extensions when not available
      package/freerdp: do not use SSE2 extensions when not available

 package/freerdp/freerdp.mk | 12 ++++++++++++
 1 file changed, 12 insertions(+)

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available
  2014-12-27 18:16 [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes) Yann E. MORIN
@ 2014-12-27 18:16 ` Yann E. MORIN
  2014-12-28 11:31   ` Peter Korsgaard
  2014-12-27 18:16 ` [Buildroot] [PATCH 2/2] package/freerdp: do not use SSE2 " Yann E. MORIN
  2014-12-27 19:00 ` [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes) Thomas Petazzoni
  2 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2014-12-27 18:16 UTC (permalink / raw)
  To: buildroot

FreeRDP mis-detects the CPU, and may enable Neon extensions when it
should not. Not all ARM processors have Neon extensions.

Heck, what's more, none non-ARM processor has Neon extensions!
The regexp to detect the CPU is borked:  'arm*'  will also match 'arc'
as well as 'arm'.

Do not let FreeRDP try to decide if it can use Neon extensions, we have
a Kconfig option for that, that we can use to force FreeRDP to use it or
not.

Should fix:
    http://autobuild.buildroot.org/results/d4a/d4a61e686cf11d993d02ece0c4e2835a926603c2/
    http://autobuild.buildroot.org/results/234/2349d40ef8d658ab1cd7332eb1b42a75afcd423f/
   ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
Note: fixing the regexp would be nice, and can be sent upstream, but now
we force use or not of Neon, we can do without further patching FreeRDP.
---
 package/freerdp/freerdp.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk
index d2e51f8..c9396b5 100644
--- a/package/freerdp/freerdp.mk
+++ b/package/freerdp/freerdp.mk
@@ -63,4 +63,10 @@ else
 FREERDP_CONF_OPTS += -DWITH_XV=OFF
 endif
 
+ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
+FREERDP_CONF_OPTS += -DWITH_NEON=ON
+else
+FREERDP_CONF_OPTS += -DWITH_NEON=OFF
+endif
+
 $(eval $(cmake-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/2] package/freerdp: do not use SSE2 extensions when not available
  2014-12-27 18:16 [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes) Yann E. MORIN
  2014-12-27 18:16 ` [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available Yann E. MORIN
@ 2014-12-27 18:16 ` Yann E. MORIN
  2014-12-27 19:00 ` [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes) Thomas Petazzoni
  2 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2014-12-27 18:16 UTC (permalink / raw)
  To: buildroot

Do not let FreeRDP decide whether it can use SE2 opcodes, it may well
fail to do so, because the heuristic is not working for
cross-compilation.

Also, we do have a Kconfig option stating whether we have SSE2 or not,
so reuse that.

Similar to the recent ARM+Neon fix.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/freerdp/freerdp.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk
index c9396b5..a703500 100644
--- a/package/freerdp/freerdp.mk
+++ b/package/freerdp/freerdp.mk
@@ -69,4 +69,10 @@ else
 FREERDP_CONF_OPTS += -DWITH_NEON=OFF
 endif
 
+ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
+FREERDP_CONF_OPTS += -DWITH_SSE2=ON
+else
+FREERDP_CONF_OPTS += -DWITH_SSE2=OFF
+endif
+
 $(eval $(cmake-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes)
  2014-12-27 18:16 [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes) Yann E. MORIN
  2014-12-27 18:16 ` [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available Yann E. MORIN
  2014-12-27 18:16 ` [Buildroot] [PATCH 2/2] package/freerdp: do not use SSE2 " Yann E. MORIN
@ 2014-12-27 19:00 ` Thomas Petazzoni
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2014-12-27 19:00 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sat, 27 Dec 2014 19:16:03 +0100, Yann E. MORIN wrote:

> Yann E. MORIN (2):
>       package/freerdp: do not use Neon extensions when not available
>       package/freerdp: do not use SSE2 extensions when not available

Applied, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available
  2014-12-27 18:16 ` [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available Yann E. MORIN
@ 2014-12-28 11:31   ` Peter Korsgaard
  2014-12-28 11:33     ` Yann E. MORIN
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Korsgaard @ 2014-12-28 11:31 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > FreeRDP mis-detects the CPU, and may enable Neon extensions when it
 > should not. Not all ARM processors have Neon extensions.

 > Heck, what's more, none non-ARM processor has Neon extensions!
 > The regexp to detect the CPU is borked:  'arm*'  will also match 'arc'
 > as well as 'arm'.

Huh, how does arm* march arc?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available
  2014-12-28 11:31   ` Peter Korsgaard
@ 2014-12-28 11:33     ` Yann E. MORIN
  2014-12-28 11:37       ` Peter Korsgaard
  0 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2014-12-28 11:33 UTC (permalink / raw)
  To: buildroot

Peter, All,

On 2014-12-28 12:31 +0100, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> 
>  > FreeRDP mis-detects the CPU, and may enable Neon extensions when it
>  > should not. Not all ARM processors have Neon extensions.
> 
>  > Heck, what's more, none non-ARM processor has Neon extensions!
>  > The regexp to detect the CPU is borked:  'arm*'  will also match 'arc'
>  > as well as 'arm'.
> 
> Huh, how does arm* march arc?

Already answered on IRC, but for the records: this is not a glob, this
is a regexp.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available
  2014-12-28 11:33     ` Yann E. MORIN
@ 2014-12-28 11:37       ` Peter Korsgaard
  0 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2014-12-28 11:37 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

Hi,

>> > Heck, what's more, none non-ARM processor has Neon extensions!
 >> > The regexp to detect the CPU is borked:  'arm*'  will also match 'arc'
 >> > as well as 'arm'.
 >> 
 >> Huh, how does arm* march arc?

 > Already answered on IRC, but for the records: this is not a glob, this
 > is a regexp.

Yes, thanks.

-- 
Bye, Peter Korsgaard 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-12-28 11:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-27 18:16 [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes) Yann E. MORIN
2014-12-27 18:16 ` [Buildroot] [PATCH 1/2] package/freerdp: do not use Neon extensions when not available Yann E. MORIN
2014-12-28 11:31   ` Peter Korsgaard
2014-12-28 11:33     ` Yann E. MORIN
2014-12-28 11:37       ` Peter Korsgaard
2014-12-27 18:16 ` [Buildroot] [PATCH 2/2] package/freerdp: do not use SSE2 " Yann E. MORIN
2014-12-27 19:00 ` [Buildroot] [PATCH 0/2] FreeRDP: misc arch-related fixes (branch yem/fixes) Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox