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

Issue 706779 link

Starred by 0 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue webrtc:7024



Sign in to add a comment

protobuf tries to use an unsupported CPU instruction on ARM64 (__thread)

Project Member Reported by oprypin@chromium.org, Mar 30 2017

Issue description

I thought to report this upstream, but I cannot reproduce this with their build system.

To reproduce: in a WebRTC checkout:
gn gen out/linux-arm64-debug --args='target_cpu="arm64" is_debug=true'
ninja -C out/linux-arm64-debug

Although the build succeeds, towards the end it keeps repeating this worrisome line:
/usr/bin/aarch64-linux-gnu-ld: obj/third_party/protobuf/libprotobuf_lite.a(arena.o)(.debug_info+0x3f): R_AARCH64_ABS64 used with TLS symbol _ZN6google8protobuf5Arena13thread_cache_E

To me it seems like protobuf attempts to use some processor instruction which is not available on ARM64. I traced this to GOOGLE_PROTOBUF_NO_THREADLOCAL - if I force this macro to be defined unconditionally here then the error disappears:
https://chromium.googlesource.com/chromium/src/third_party/+/1be414c149bd29dc8e4be4b7db7efa459327fd68/protobuf/src/google/protobuf/stubs/platform_macros.h#117

I guess that some investigation has been done regarding a similar error https://github.com/google/protobuf/issues/347 but the root cause is probably not that the OS is IPHONE or ANDROID but the CPU architecture.

Reference: https://bugs.chromium.org/p/webrtc/issues/detail?id=7024
 

Comment 1 by oprypin@webrtc.org, Mar 30 2017

Blocking: webrtc:7024

Comment 2 by guidou@chromium.org, Mar 30 2017

Components: -Blink>WebRTC Infra>Client>WebRTC
Components: -Infra>Client>WebRTC
Let's only track this in Build, since there's nothing WebRTC infra can do about the problem.
Cc: -thomasandersson@chromium.org thomasanderson@chromium.org
Can you try locally reverting https://codereview.chromium.org/2759423004/ to see if that fixes the issue?

Sign in to add a comment