Bug 12965 - unresolvable R_ARM_THM_JUMP24 relocation against symbol `memcpy@@GLIBC_2.4' while linking Chromium browser
Summary: unresolvable R_ARM_THM_JUMP24 relocation against symbol `memcpy@@GLIBC_2.4' w...
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: ld (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-06 15:05 UTC by Marcin Juszkiewicz
Modified: 2013-03-07 07:52 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Juszkiewicz 2011-07-06 15:05:09 UTC
Some time ago I saw a bug reported in Ubuntu that Chromium browser does not build on armel architecture. I took a look at it, tried few versions and got to point where I lack ideas what can be wrong.

https://bugs.launchpad.net/binutils-linaro/+bug/641126 is original bug with few duplicates providing extra information.

Linking fails:

chromium-browser 14.0.807.0~svn20110630r91077:
/usr/bin/ld.bfd.real: out/Release/obj.target/webkit/support/../../glue/webkit/plugins/ppapi/ppb_opengles_impl.o(.text._ZN6webkit5ppapi
12_GLOBAL__N_115VertexAttrib4fvEijPKf+0x44): unresolvable R_ARM_THM_JUMP24 relocation against symbol `memcpy@@GLIBC_2.4'
/usr/bin/ld.bfd.real: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[1]: *** [out/Release/chrome] Error 1

chromium-browser 12.0.742.91~r87961:
/usr/bin/ld.bfd.real: out/Release/obj.target/third_party/cacheinvalidation/../../cacheinvalidation_proto_cpp/gen/protoc_out/google/cacheinvalidation/internal.pb.o(.text._ZN12invalidation21ClientToServerMessage27MergePartialFromCodedStreamEPN6google8protobuf2io16CodedInputStreamE+0x7d2): unresolvable R_ARM_THM_CALL relocation against symbol `operator new(unsigned int)@@GLIBCXX_3.4'
/usr/bin/ld.bfd.real: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[1]: *** [out/Release/chrome] Error 1

I got both R_ARM_THM_CALL and R_ARM_THM_JUMP24 using binutils 2.21.5x snapshots. Linking of 14.x version took ~9h and 3GB of memory (920MB physical, rest was swap on slow usb hdd). 12.x one took much less time - 7h for whole build (do not remember linking time)
Comment 1 Will Newton 2013-03-07 07:52:19 UTC
A fix for this bug was applied in 2011 and the corresponding launchpad bug has been closed:

2011-10-13  Richard Sandiford  <richard.sandiford@linaro.org>

       * elf32-arm.c (elf32_arm_final_link_relocate): Mark PLT calls via
       stubs as resolved.

git commit 589342bc49be60680807fa478fc220591fb06942

Resolving as fixed.