1 /* 2 * (c) 2008-2009 Alexander Warg <warg@os.inf.tu-dresden.de> 3 * economic rights: Technische Universität Dresden (Germany) 4 * This file is part of TUD:OS and distributed under the terms of the 5 * GNU Lesser General Public License 2.1. 6 * Please see the COPYING-LGPL-2.1 file for details. 7 */ 8 #include <l4/libloader/elf> 9 phdr_type() const10char const *Ldr::Elf_phdr::phdr_type() const 11 { 12 static char const *low[] = { 13 "NULL", "LOAD", "DYNAMIC", "INTERP", "NOTE", "SHLIB", "PHDR", "TLS", 14 "NUM"}; 15 16 if (type() <= PT_NUM) 17 return low[type()]; 18 19 switch (type()) 20 { 21 case PT_L4_STACK: return "L4_STACK"; 22 case PT_L4_KIP: return "L4_KIP"; 23 case PT_L4_AUX: return "L4_AUX"; 24 case PT_GNU_EH_FRAME: return "GNU_EH_FRAME"; 25 case PT_GNU_STACK: return "GNU_STACK"; 26 case PT_GNU_RELRO: return "GNU_RELRO"; 27 default: return 0; 28 } 29 } 30 31