You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not sure exactly where; but somewhere in rust there seems to be an assumption about the ELF format and when I break it (which I'm trying to do to make elfhack work on lld: https://bugzilla.mozilla.org/show_bug.cgi?id=1423822 ) I get segfaults.
I'm compiling with clang, using lld as the linker. Here's a simple reproducer that occurs because I offset the second segment 0xF0 bytes from the first PHDR segment.
And the crash happens at 0x5555555c05c0, which is the address of the jemalloc lock per the symbol table, which is in the second LOAD, but what's actually loaded makes it an error.
So this is actually a ld.so bug because it's not really mapping as it's supposed to, but there's also a lld bug because there's an overlap between the 2 LOADs that would need to be writable and executable at the same time.
I'm not sure exactly where; but somewhere in rust there seems to be an assumption about the ELF format and when I break it (which I'm trying to do to make elfhack work on lld: https://bugzilla.mozilla.org/show_bug.cgi?id=1423822 ) I get segfaults.
I'm compiling with clang, using lld as the linker. Here's a simple reproducer that occurs because I offset the second segment 0xF0 bytes from the first PHDR segment.
I have a second reproducer that's considerably more difficult to reproduce, it involves patching clang to not output the PHDR segment.
The text was updated successfully, but these errors were encountered: