from .enums import (
ENUM_D_TAG, ENUM_E_VERSION, ENUM_RELOC_TYPE_i386, ENUM_RELOC_TYPE_x64
)
-from .constants import P_FLAGS, SH_FLAGS, SYMINFO_FLAGS
+from .constants import P_FLAGS, SH_FLAGS, SUNW_SYMINFO_FLAGS
from ..common.py3compat import iteritems
def describe_syminfo_flags(x):
s = ''
for flag in (
- SYMINFO_FLAGS.SYMINFO_FLG_CAP,
- SYMINFO_FLAGS.SYMINFO_FLG_DIRECT,
- SYMINFO_FLAGS.SYMINFO_FLG_FILTER,
- SYMINFO_FLAGS.SYMINFO_FLG_AUXILIARY,
- SYMINFO_FLAGS.SYMINFO_FLG_DIRECTBIND,
- SYMINFO_FLAGS.SYMINFO_FLG_COPY,
- SYMINFO_FLAGS.SYMINFO_FLG_LAZYLOAD,
- SYMINFO_FLAGS.SYMINFO_FLG_NOEXTDIRECT,
- SYMINFO_FLAGS.SYMINFO_FLG_INTERPOSE,
- SYMINFO_FLAGS.SYMINFO_FLG_DEFERRED):
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_CAP,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DIRECT,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_FILTER,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_AUXILIARY,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DIRECTBIND,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_COPY,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_LAZYLOAD,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_NOEXTDIRECT,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_INTERPOSE,
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DEFERRED):
s += _DESCR_SYMINFO_FLAGS[flag] if (x & flag) else ''
return s
)
_DESCR_SYMINFO_FLAGS = {
- SYMINFO_FLAGS.SYMINFO_FLG_DIRECT: 'D',
- SYMINFO_FLAGS.SYMINFO_FLG_DIRECTBIND: 'B',
- SYMINFO_FLAGS.SYMINFO_FLG_COPY: 'C',
- SYMINFO_FLAGS.SYMINFO_FLG_LAZYLOAD: 'L',
- SYMINFO_FLAGS.SYMINFO_FLG_NOEXTDIRECT: 'N',
- SYMINFO_FLAGS.SYMINFO_FLG_AUXILIARY: 'A',
- SYMINFO_FLAGS.SYMINFO_FLG_FILTER: 'F',
- SYMINFO_FLAGS.SYMINFO_FLG_INTERPOSE: 'I',
- SYMINFO_FLAGS.SYMINFO_FLG_CAP: 'S',
- SYMINFO_FLAGS.SYMINFO_FLG_DEFERRED: 'P',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DIRECT: 'D',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DIRECTBIND: 'B',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_COPY: 'C',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_LAZYLOAD: 'L',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_NOEXTDIRECT: 'N',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_AUXILIARY: 'A',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_FILTER: 'F',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_INTERPOSE: 'I',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_CAP: 'S',
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DEFERRED: 'P',
}
_DESCR_SYMINFO_BOUNDTO = dict(
from utils import setup_syspath; setup_syspath()
from elftools.elf.elffile import ELFFile
-from elftools.elf.constants import SYMINFO_FLAGS
+from elftools.elf.constants import SUNW_SYMINFO_FLAGS
class TestSolarisSupport(unittest.TestCase):
# libc.so.1 has the index 0 in the dynamic table
self.assertEqual(symbol['si_boundto'], 0)
self.assertEqual(symbol['si_flags'],
- SYMINFO_FLAGS.SYMINFO_FLG_DIRECT |
- SYMINFO_FLAGS.SYMINFO_FLG_DIRECTBIND)
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DIRECT |
+ SUNW_SYMINFO_FLAGS.SYMINFO_FLG_DIRECTBIND)
def test_SUNW_syminfo_section_x86(self):
self._test_SUNW_syminfo_section_generic('exe_solaris32_cc.elf')