text: # SPDX-License-Identifier: GPL-2.0+
  # Copyright (c) 2018 Google, Inc
  # Written by Simon Glass <sjg@chromium.org>
  #
  # Entry-type module for U-Boot ELF image
  #
  
  from entry import Entry
  from blob import Entry_blob
  
  import fdt_util
  import tools
  
  class Entry_u_boot_elf(Entry_blob):
      """U-Boot ELF image
  
      Properties / Entry arguments:
          - filename: Filename of u-boot (default 'u-boot')
  
      This is the U-Boot ELF image. It does not include a device tree but can be
      relocated to any address for execution.
      """
      def __init__(self, section, etype, node):
          Entry_blob.__init__(self, section, etype, node)
          self._strip = fdt_util.GetBool(self._node, 'strip')
  
      def ReadBlobContents(self):
          if self._strip:
              uniq = self.GetUniqueName()
              out_fname = tools.GetOutputFilename('%s.stripped' % uniq)
              tools.WriteFile(out_fname, tools.ReadFile(self._pathname))
              tools.Run('strip', out_fname)
              self._pathname = out_fname
          Entry_blob.ReadBlobContents(self)
          return True
  
      def GetDefaultFilename(self):
          return 'u-boot'
  