binman: Use target-specific tools when cross-compiling
Currently, binman always runs the compile tools like cc, objcopy, strip, etc. using their literal name. Instead, this patch makes it use the target-specific versions by default, derived from the tool-specific environment variables (CC, OBJCOPY, STRIP, etc.) or from the CROSS_COMPILE environment variable. For example, the u-boot-elf etype directly uses 'strip'. Trying to run the tests with 'CROSS_COMPILE=i686-linux-gnu- binman test' on an arm64 host results in the '097_elf_strip.dts' test to fail as the arm64 version of 'strip' can't understand the format of the x86 ELF file. This also adjusts some command.Output() calls that caused test errors or failures to use the target versions of the tools they call. After this, patch, an arm64 host can run all tests with no errors or failures using a correct CROSS_COMPILE value. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Simon Glass
parent
5ac7687827
commit
1e4687aa47
@@ -234,8 +234,10 @@ SECTIONS
|
||||
# text section at the start
|
||||
# -m32: Build for 32-bit x86
|
||||
# -T...: Specifies the link script, which sets the start address
|
||||
stdout = command.Output('cc', '-static', '-nostdlib', '-Wl,--build-id=none',
|
||||
'-m32','-T', lds_file, '-o', elf_fname, s_file)
|
||||
cc, args = tools.GetTargetCompileTool('cc')
|
||||
args += ['-static', '-nostdlib', '-Wl,--build-id=none', '-m32', '-T',
|
||||
lds_file, '-o', elf_fname, s_file]
|
||||
stdout = command.Output(cc, *args)
|
||||
shutil.rmtree(outdir)
|
||||
|
||||
def DecodeElf(data, location):
|
||||
|
||||
Reference in New Issue
Block a user