From patchwork Sat Aug 24 13:23:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1152621 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="RbiByG+Z"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 46FzlD0XFKz9s7T for ; Sat, 24 Aug 2019 23:34:31 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 6E5DFC21C50; Sat, 24 Aug 2019 13:30:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 14D49C21E63; Sat, 24 Aug 2019 13:28:37 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B4188C21E3A; Sat, 24 Aug 2019 13:27:54 +0000 (UTC) Received: from mail-io1-f65.google.com (mail-io1-f65.google.com [209.85.166.65]) by lists.denx.de (Postfix) with ESMTPS id CE3CBC21E34 for ; Sat, 24 Aug 2019 13:27:49 +0000 (UTC) Received: by mail-io1-f65.google.com with SMTP id q22so26701395iog.4 for ; Sat, 24 Aug 2019 06:27:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=y66/fDouXttbdaZmEaxbMLTgFHEUI6GTp3ugtKt/9og=; b=RbiByG+ZM8inlpDg6AWgT//zQ5MgN48VehooZoLZFbMxvEK7Bu1UEpJnBFdkiJXCJc 7+IzaeWONPiGZfUOgrT5OyD3luAd5+Cz5J3oV8RG8H+x57Bvk/WpKstQQ0CfLGHMQ7zh cXEd9k7XI2WOynXwrY/EGpl9m2GeWbw+/haio= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y66/fDouXttbdaZmEaxbMLTgFHEUI6GTp3ugtKt/9og=; b=m2TBnPAsHQVfVvm1GBMUA+Sf2n6JzuGeGk8+d2yca0pxvDaTYH/qlnyZqB7pIdiMDe k1byIJ0NaVpp6yE2couPwkXGZ13aw5dcDs/nvg25V5KyhanLN1UKak/pmrYB/JiHDZjm McmeHIr91n81J/f94sWW4D7xSQ9AfDfVXq2Nl3+Y3+a/RnZ46wdit4KUuAg2+5S0psMj xv8I6HgScSs8831QdcDTTM4iao8x8yzJn6Ezb20RUK0FnCgoZKWJENGjWPglOvSeqOk3 hSqHeYbAABJyCtbOMumHL7r9pkkgA7jWTG+iO6nqwdOkEHWllgsSnNZCBMA5Ymc62xr2 u/Pg== X-Gm-Message-State: APjAAAV+z5HjSijZv+C7tF8hq1E5qIYwbQy8azRDzRG2X/4NzaUzlQOM HGm628SGanV6Vwddo94Rd6pHLGYOlVw= X-Google-Smtp-Source: APXvYqzI55RV09IwHYvQC2AFR6YEHKOLdv5EeyJaX9C7CwQrbpEkShZzsMPgG1ggJMVl0ZnYp9GmGg== X-Received: by 2002:a02:4881:: with SMTP id p123mr9810639jaa.69.1566653268704; Sat, 24 Aug 2019 06:27:48 -0700 (PDT) Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa]) by smtp.gmail.com with ESMTPSA id l2sm8881790ioq.83.2019.08.24.06.27.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Aug 2019 06:27:48 -0700 (PDT) From: Simon Glass To: U-Boot Mailing List Date: Sat, 24 Aug 2019 07:23:05 -0600 Message-Id: <20190824132315.53130-26-sjg@chromium.org> X-Mailer: git-send-email 2.23.0.187.g17f5b7556c-goog In-Reply-To: <20190824132315.53130-1-sjg@chromium.org> References: <20190824132315.53130-1-sjg@chromium.org> MIME-Version: 1.0 Subject: [U-Boot] [PATCH 25/34] binman: Allow support for writing a size symbol to binaries X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" It is useful to be able to access the size of an image in SPL, with something like: binman_sym_declare(unsigned long, u_boot_any, size); ... ulong u_boot_size = binman_sym(ulong, u_boot_any, size); Add support for this and update the tests. Signed-off-by: Simon Glass Signed-off-by: Simon Glass --- tools/binman/elf_test.py | 4 ++-- tools/binman/etype/section.py | 2 ++ tools/binman/ftest.py | 14 +++++++------- tools/binman/test/u_boot_binman_syms.c | 1 + 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/tools/binman/elf_test.py b/tools/binman/elf_test.py index f05545bcb1..c0c11cb340 100644 --- a/tools/binman/elf_test.py +++ b/tools/binman/elf_test.py @@ -155,11 +155,11 @@ class TestElf(unittest.TestCase): This should produce -1 values for all thress symbols, taking up the first 16 bytes of the image. """ - entry = FakeEntry(20) + entry = FakeEntry(24) section = FakeSection(sym_value=None) elf_fname = self.ElfTestFile('u_boot_binman_syms') syms = elf.LookupAndWriteSymbols(elf_fname, entry, section) - self.assertEqual(tools.GetBytes(255, 16) + tools.GetBytes(ord('a'), 4), + self.assertEqual(tools.GetBytes(255, 20) + tools.GetBytes(ord('a'), 4), entry.data) def testDebug(self): diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py index ff5d30f3fa..d39c6ad81e 100644 --- a/tools/binman/etype/section.py +++ b/tools/binman/etype/section.py @@ -344,6 +344,8 @@ class Entry_section(Entry): return entry.offset elif prop_name == 'image_pos': return entry.image_pos + if prop_name == 'size': + return entry.size else: raise ValueError("%s: No such property '%s'" % (msg, prop_name)) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 65d3ad59ea..a740c3e03d 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -1236,10 +1236,10 @@ class TestFunctional(unittest.TestCase): self._SetupSplElf('u_boot_binman_syms') data = self._DoReadFile('053_symbols.dts') - sym_values = struct.pack('