New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 872994 link

Starred by 2 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Feature



Sign in to add a comment

WebRTC PPC support

Reported by dftxb...@free.fr, Aug 10

Issue description

Version: webrtc master at commit 45e7281b862f16d3d29c1ae67c20705e71d2e372
OS: Linux
Architecture: ppc64 / ppc64le

$ uname -a
Linux ubuntu14 4.4.0-131-generic #157~14.04.1-Ubuntu SMP Fri Jul 13 08:53:13 UTC 2018 ppc64le ppc64le ppc64le GNU/Linux

What steps will reproduce the problem?
1. try to compile webrtc


What do you see instead?
../../third_party/webrtc/rtc_base/system/arch.h:51:2: error: #error Please add support for your architecture in typedefs.h
 #error Please add support for your architecture in typedefs.h
  ^
../../third_party/webrtc/rtc_base/system/arch.h:55:2: error: #error Define either WEBRTC_ARCH_LITTLE_ENDIAN or WEBRTC_ARCH_BIG_ENDIAN
 #error Define either WEBRTC_ARCH_LITTLE_ENDIAN or WEBRTC_ARCH_BIG_ENDIAN
  ^
[146/30472] CXX obj/mojo/core/impl_for_embedder/node_controller.o
ninja: build stopped: subcommand failed.

I have already patched webrtc with support, see attachments

Thank you
 
modules-desktop_capture-differ_block.cc-PPC.patch
856 bytes Download
rtc_base-system-arch.h-PPC.patch
517 bytes Download
Labels: Needs-Milestone
Components: Blink>WebRTC
Components: -Blink>WebRTC Internals>WebRTC
Labels: -Type-Bug Type-Feature
Cc: vamshi.kommuri@chromium.org
Labels: -Pri-3 Triaged-ET Target-70 M-70 FoundIn-70 OS-Linux OS-Mac OS-Windows Pri-2
Status: Untriaged (was: Unconfirmed)
As per comment#3, the issue seems to be Feature request hence marking it as Untriaged and requesting someone from respective team to have a look into this for further inputs.

Thanks!
Labels: -Target-70 -M-70 Target-71 M-71
The proper check for LITTLE_ENDIAN mode is
#if __BYTE_ORDER == __ORDER_LITTLE_ENDIAN__

The __ORDER_*_ENDIAN constants are both defined.
Patch for differ_block.cc looks like a good change anyway and more future proof in general.

As for the arch.h , it is better to just do:

#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#define WEBRTC_ARCH_BIG_ENDIAN
#else
#define WEBRTC_ARCH_LITTLE_ENDIAN
#endif

It works fine in both gcc and clang. Both macros are always defined on all platforms (even on little endian machines).

Sign in to add a comment