]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Extend ELF coredump to support more than 65535 segments
authorConrad Meyer <cem@FreeBSD.org>
Wed, 20 Jul 2016 16:59:36 +0000 (16:59 +0000)
committerConrad Meyer <cem@FreeBSD.org>
Wed, 20 Jul 2016 16:59:36 +0000 (16:59 +0000)
commitc17b0bd2a652a3594ddf30de03a6ac58ce1d32ab
tree3d85df6135ab53ca4b20ae03869c644dd2ecd2b3
parent9f3391243b97372aa534bac9f824eb135fa76cd9
Extend ELF coredump to support more than 65535 segments

The ELF e_phnum field is only 16 bits wide. To support more than 65535 segments
(program headers), Sun's "Linker and Libraries Guide" table 7-7 (or 12-7,
depending on document version) prescribes a special first section header where
sh_info represents the real number of program headers.

Test code to follow, when it is ready.

Reference: http://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf

Reviewed by: emaste, markj
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D7255
sys/kern/imgact_elf.c