Issue Type: | Bug |
---|---|
Priority: | 4 - Normal |
Status: | Resolved |
Created at: | 2015-03-30T23:24:54.000Z |
Updated at: | 2015-04-02T03:25:09.000Z |
Created by: | Former user |
---|---|
Reported by: | Former user |
Assigned to: | Former user |
Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2015-03-30T23:29:12.000Z)
Apparently, on some conditions (yet to be determined), Linux (or Ubuntu 14.10 or some version of gcc or something else in the toolchain) will generate a binary that lacks the PT_PHDR program header. According to ELF, this is an optional program header, but our binaries have always had it. When this program header is not found, the system annoyingly stops further loading but otherwise returns success -- practically fating the program to die a horrible death in the linker. These binaries are peculiar but they aren't corrupt; we should be able to accommodate them.
illumos-joyent commit eb43e63 (branch master, by Bryan Cantrill)
OS-4128 programs that lack PT_PHDR are not properly loaded
illumos-joyent commit 271935c (branch master, by Joshua M. Clulow)
backout OS-4141: needs more work
backout OS-4128: needs more work
illumos-joyent commit e609ab4 (branch master, by Bryan Cantrill)
OS-4128 programs that lack PT_PHDR are not properly loaded
OS-4141 freeing phdrs induces bad kmem_free() in elfexec()