mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-22 23:21:31 +00:00
In some cases we need to read symbols from U-Boot. At present we have a a few cases which does this via 'nm' and 'grep'. It is better to use objdump since that tells us the size of the symbols and also whether it is weak or not. Add a new module which reads ELF information from files. Update existing uses of 'nm' to use this module. Signed-off-by: Simon Glass <sjg@chromium.org>
32 lines
821 B
Python
32 lines
821 B
Python
#
|
|
# Copyright (c) 2017 Google, Inc
|
|
# Written by Simon Glass <sjg@chromium.org>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# Test for the elf module
|
|
|
|
import os
|
|
import sys
|
|
import unittest
|
|
|
|
import elf
|
|
|
|
binman_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
|
|
fname = os.path.join(binman_dir, 'test', 'u_boot_ucode_ptr')
|
|
|
|
class TestElf(unittest.TestCase):
|
|
def testAllSymbols(self):
|
|
syms = elf.GetSymbols(fname, [])
|
|
self.assertIn('.ucode', syms)
|
|
|
|
def testRegexSymbols(self):
|
|
syms = elf.GetSymbols(fname, ['ucode'])
|
|
self.assertIn('.ucode', syms)
|
|
syms = elf.GetSymbols(fname, ['missing'])
|
|
self.assertNotIn('.ucode', syms)
|
|
syms = elf.GetSymbols(fname, ['missing', 'ucode'])
|
|
self.assertIn('.ucode', syms)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|