Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 622192

Summary: www-client/firefox-54: Build fails with relocation error
Product: Gentoo Linux Reporter: Nick Kossifidis <mickflemm>
Component: HardenedAssignee: The Gentoo Linux Hardened Team <hardened>
Status: RESOLVED UPSTREAM    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Nick Kossifidis 2017-06-19 07:29:56 UTC
On a recent system update, firefox-54 got pulled in and it fails to compile with the following error:

/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: /var/tmp/notmpfs/portage/www-client/firefox-54.0/work/firefox-54.0/ff/toolkit/library/../../gfx/thebes/Unified_cpp_gfx_thebes1.o: requires dynamic R_X86_64_PC32 reloc against '_ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordPN7mozilla3gfx10DrawTargetEPKT_jjNS3_7unicode6ScriptEbijP18gfxTextPerfMetrics' which may overflow at runtime; recompile with -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: read-only segment has dynamic relocations
/var/tmp/notmpfs/portage/www-client/firefox-54.0/work/firefox-54.0/ff/toolkit/library/../../gfx/thebes/Unified_cpp_gfx_thebes1.o:Unified_cpp_gfx_thebes1.cpp:function gfxTextRun::SetSpaceGlyph(gfxFont*, mozilla::gfx::DrawTarget*, unsigned int, unsigned short) [clone .cold.368]: error: undefined reference to 'gfxShapedWord* gfxFont::GetShapedWord<unsigned char>(mozilla::gfx::DrawTarget*, unsigned char const*, unsigned int, unsigned int, mozilla::unicode::Script, bool, int, unsigned int, gfxTextPerfMetrics*)'
collect2: error: ld returned 1 exit status


Reproducible: Always
Comment 1 Nick Kossifidis 2017-06-19 07:32:17 UTC
Created attachment 477198 [details]
build.log
Comment 2 Nick Kossifidis 2017-06-19 08:41:48 UTC
Turns out this is a known bug upstream, related to PGO...
https://bugzilla.mozilla.org/show_bug.cgi?id=1332788

Removing the PGO use flag resolved the issue.