1. 15 10月, 2019 5 次提交
    • S
      binman: Use the Makefile for u_boot_binman_syms · 1542c8b5
      Simon Glass 提交于
      Remove this file from git and instead build it using the Makefile.
      
      With this change a few things need to be adjusted:
      
      1. The 'notes' section no-longer appears at the start of the ELF file
      (before the code), so update testSymbols to adjust the offsets.
      
      2. The dynamic linker is disabled to avoid errors like:
      
          "Not enough room for program headers, try linking with -N"
      
      3. The interpreter note is moved to the end of the image, so that the
      binman symbols appear first.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      1542c8b5
    • S
      binman: Use the Makefile for u_boot_no_ucode_ptr · bccd91da
      Simon Glass 提交于
      Remove this file from git and instead build it using the Makefile.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      bccd91da
    • S
      binman: Use the Makefile for u_boot_ucode_ptr · f514d8f2
      Simon Glass 提交于
      Remove this file from git and instead build it using the Makefile.
      
      Update tools.GetInputFilename() to support reading files from an absolute
      path, so that we can read the Elf test files easily. Also make sure that
      the temp directory is report in ELF tests as this was commented out.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      f514d8f2
    • S
      binman: Use the Makefile to build ELF test files · 53e22bf3
      Simon Glass 提交于
      At present the ELF test files are checked into the U-Boot tree. This is
      covenient since the files never change and can be used on non-x86
      platforms. However it is not good practice to check in binaries and in
      this case it does not seem essential.
      
      Update the binman test-file Makefile to support having source in a
      different directory. Adjust binman to run it to build bss_data, as a
      start. We can add other files as needed.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      53e22bf3
    • S
      binman: Drop .note section from ELF · 9d44a7e6
      Simon Glass 提交于
      Recent versions of binutils add a '.note.gnu.property' into the ELF file.
      This is not required and interferes with the expected output. Drop it.
      
      Also fix testMakeElf() to use a different file for input and output.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      9d44a7e6
  2. 29 7月, 2019 1 次提交
  3. 24 7月, 2019 2 次提交
  4. 11 7月, 2019 2 次提交
  5. 08 10月, 2018 1 次提交
  6. 02 8月, 2018 1 次提交
  7. 09 7月, 2018 1 次提交
  8. 08 6月, 2018 1 次提交
  9. 07 5月, 2018 1 次提交
    • T
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini 提交于
      When U-Boot started using SPDX tags we were among the early adopters and
      there weren't a lot of other examples to borrow from.  So we picked the
      area of the file that usually had a full license text and replaced it
      with an appropriate SPDX-License-Identifier: entry.  Since then, the
      Linux Kernel has adopted SPDX tags and they place it as the very first
      line in a file (except where shebangs are used, then it's second line)
      and with slightly different comment styles than us.
      
      In part due to community overlap, in part due to better tag visibility
      and in part for other minor reasons, switch over to that style.
      
      This commit changes all instances where we have a single declared
      license in the tag as both the before and after are identical in tag
      contents.  There's also a few places where I found we did not have a tag
      and have introduced one.
      Signed-off-by: NTom Rini <trini@konsulko.com>
      83d290c5
  10. 13 12月, 2017 2 次提交
    • S
      binman: Support accessing binman tables at run time · 19790632
      Simon Glass 提交于
      Binman construct images consisting of multiple binary files. These files
      sometimes need to know (at run timme) where their peers are located. For
      example, SPL may want to know where U-Boot is located in the image, so
      that it can jump to U-Boot correctly on boot.
      
      In general the positions where the binaries end up after binman has
      finished packing them cannot be known at compile time. One reason for
      this is that binman does not know the size of the binaries until
      everything is compiled, linked and converted to binaries with objcopy.
      
      To make this work, we add a feature to binman which checks each binary
      for symbol names starting with '_binman'. These are then decoded to figure
      out which entry and property they refer to. Then binman writes the value
      of this symbol into the appropriate binary. With this, the symbol will
      have the correct value at run time.
      
      Macros are used to make this easier to use. As an example, this declares
      a symbol that will access the 'u-boot-spl' entry to find the 'pos' value
      (i.e. the position of SPL in the image):
      
         binman_sym_declare(unsigned long, u_boot_spl, pos);
      
      This converts to a symbol called '_binman_u_boot_spl_prop_pos' in any
      binary that includes it. Binman then updates the value in that binary,
      ensuring that it can be accessed at runtime with:
      
         ulong u_boot_pos = binman_sym(ulong, u_boot_spl, pos);
      
      This assigns the variable u_boot_pos to the position of SPL in the image.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      19790632
    • S
      binman: Add a function to read ELF symbols · b50e5611
      Simon Glass 提交于
      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: NSimon Glass <sjg@chromium.org>
      b50e5611