On Mon, Jul 17, 2017 at 3:29 PM, Avi Kivity <[email protected]> wrote:

>
>
> On 07/17/2017 10:10 AM, Nadav Har'El wrote:
>
> Oops, this is bad, and unfortunately I committed too many patches
> yesterday to understand which one brought this bug...
>
>
>
> On Sun, Jul 16, 2017 at 7:57 PM, <[email protected]> wrote:
>
>>   TEST tst-elf-permissions.so             OSv v0.24-399-ge6fadac
>> eth0: 192.168.122.15
>> Assertion failed: (phdr.p_flags & (PF_R | PF_W | PF_X)) == PF_R
>> (core/elf.cc: fix_permissions: 475)
>>
>>
> We've seen Jenkins doing two runs and both of them failed at exactly the
> same place. Moreover, on my Fedora 25 installation, I ran this test 1000
> times, and it didn't fail once....
>
> Note how the failure is while *loading* the test object, not even when
> running it, where we discover that the GNU_RELRO section is not marked
> read-only. This can either be memory corruption (oops) or a linker bug
> (this particular test does funky monkey-business on the linker).
>
> It turns out to be the latter: The test fails if the "gold" linker is used
> to build it. If I add "-fuse-ld=gold" in COMMON in modules/tests/Makefile,
> running this test fails with the exact same assertion, and it's clear why:
>
> $ readelf -a build/release/tests/tst-elf-permissions.so
> Program Headers:
>   Type           Offset             VirtAddr           PhysAddr
>                  FileSiz            MemSiz              Flags  Align
> ...
>   GNU_RELRO      0x0000000000001da0 0x0000000000002da0 0x0000000000002da0
>                  0x0000000000000260 0x0000000000000260  RW     8
>
> Note how GNU_RELRO is marked read-write, but it should have been read-only.
>
> I am guessing that recently, our Jenkins machine was modified to change
> the default BFD linker to the GOLD one. Is this possible?
>
>
> It is, and I did that to speed up Scylla links.
>

Ok, thanks.

If scylla is known to work well with gold, would it not make sense to just
add "-fuse-ld=bfd" in its compilation line instead of assume that everyone
compiling it remembers to switch the default?

-- 
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.

Reply via email to