case R_X86_64_TPOFF64:
// FIXME: assumes TLS segment comes before DYNAMIC segment
This is not the case:
See in the dump:
00000000000c8d90 <runtime.c128hash>:
c8d90: 48 8b 0d 29 72 38 00 mov 0x387229(%rip),%rcx #
44ffc0 <_DYNAMIC+0x200>
c8d97: 64 48 8b 09 mov %fs:(%rcx),%rcx
c8d9b: 48 3b 61 10 cmp 0x10(%rcx),%rsp
c8d9f: 76 60 jbe c8e01 <runtime.c128hash+0x71>
*static_cast<u64*>(addr) = t->dyn_tabs.lookup(sym)->st_value -
t->tls.size;
break;
case R_X86_64_IRELATIVE:
On Wed, Aug 31, 2016 at 4:07 PM, Benoît Canet <[email protected]>
wrote:
> This is what I saw in the code managing the flags.
>
> By anyway I think you are right and shared is an "impasse".
>
> On Wed, Aug 31, 2016 at 4:06 PM, Nadav Har'El <[email protected]> wrote:
>
>>
>> On Wed, Aug 31, 2016 at 4:26 PM, Benoît Canet <
>> [email protected]> wrote:
>>
>>>
>>> Buildmode shared alone crash.
>>>
>>>
>>>
>> the flags are |= between them.
>>>
>>
>> This is not what I see in https://golang.org/src/cmd/go/build.go
>>
>> But it seems these two options indeed have a funny interaction between
>> them - shared enables "dynlink" which gets remembered even when the build
>> mode is switched to PIE.
>>
>>
>>
>
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.