OS-4128: programs that lack PT_PHDR are not properly loaded

Details

Issue Type:Bug
Priority:4 - Normal
Status:Resolved
Created at:2015-03-30T23:24:54.000Z
Updated at:2015-04-02T03:25:09.000Z

People

Created by:Former user
Reported by:Former user
Assigned to:Former user

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2015-03-30T23:29:12.000Z)

Related Issues

Labels

lxbrand

Description

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.

Comments

Comment by Former user
Created at 2015-03-30T23:29:05.000Z

illumos-joyent commit eb43e63 (branch master, by Bryan Cantrill)

OS-4128 programs that lack PT_PHDR are not properly loaded


Comment by Former user
Created at 2015-04-02T01:15:09.000Z

illumos-joyent commit 271935c (branch master, by Joshua M. Clulow)

backout OS-4141: needs more work
backout OS-4128: needs more work


Comment by Former user
Created at 2015-04-02T03:25:09.000Z

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()