Don't match executables with ELFOSABI_NONE against the brand list.
authorJoerg Sonnenberger <joerg@dragonflybsd.org>
Tue, 31 May 2005 17:45:20 +0000 (17:45 +0000)
committerJoerg Sonnenberger <joerg@dragonflybsd.org>
Tue, 31 May 2005 17:45:20 +0000 (17:45 +0000)
commit8d0415e1508df823a8b6f763a0bae996dc4ff935
tree0f98c63558ee36426031ff03d2d488b892104438
parentb542cd49b9692781cbe13000969cda559c42b2f6
Don't match executables with ELFOSABI_NONE against the brand list.
For binaries without matching brand, try to match PT_NOTE header
of type 1 (which is equal to .note.ABI-tag as section).

Implement matching for FreeBSD, the up-coming DragonFly and Linux
ABI tag.

This implementation has some known limitations:
- only one PT_NOTE header of type 1 is checked (the last)
- the PT_NOTE header has to be part of the first page
- ELF branding is prefered, no further matching is done (prevents multiple
  ABI emulations for the same ELF OS ABI)

Inspired-by: NetBSD
sys/emulation/linux/i386/linux_sysvec.c
sys/emulation/svr4/svr4_sysvec.c
sys/kern/imgact_elf.c
sys/sys/imgact_elf.h