[prev in list] [next in list] [prev in thread] [next in thread]
List: haiku-bugs
Subject: [haiku-bugs] Re: [Haiku] #15432: runtime_loader doesn't support R_X86_64_TPOFF64 relocation
From: "Haiku" <trac () haiku-os ! org>
Date: 2019-10-27 14:19:18
Message-ID: 056.101aa88ff9c897243081f998c08a7e56 () haiku-os ! org
[Download RAW message or body]
--==============E11594907947574855=MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
#15432: runtime_loader doesn't support R_X86_64_TPOFF64 relocation
-------------------------------------+----------------------------
Reporter: KapiX | Owner: nobody
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: System/runtime_loader | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
-------------------------------------+----------------------------
Comment (by KapiX):
After some more investigation, it turns out it's a result of tls-model
=initial-exec.
My understanding is that this is Static TLS and Haiku doesn't support it
at all.
For files compiled with -fPIC tls-model is set to global-dynamic, but as
soon as any file in compiled executable doesn't have it global-dynamic is
overridden.
WebKit has CMAKE_POSITION_INDEPENDENT_CODE ON, which adds -fPIC to shared
libraries and -fPIE to executables. For example jsc.cpp got PIE flag,
which caused the executable to be built with initial-exec TLS. When CMake
flag gets disabled and -fPIC is added manually, resulting executables have
R_X86_64_DTPOFF64 relocation, which is supported, and everything works
fine.
--
Ticket URL: <https://dev.haiku-os.org/ticket/15432#comment:1>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.
--==============E11594907947574855==--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic