public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: "Torbjörn SVENSSON" <torbjorn.svensson@foss.st.com>
To: <binutils@sourceware.org>
Cc: "Torbjörn SVENSSON" <torbjorn.svensson@foss.st.com>
Subject: [PATCH] ld: Print 0 size in B and not in GB
Date: Sun, 17 Dec 2023 22:16:08 +0100	[thread overview]
Message-ID: <20231217211607.270091-1-torbjorn.svensson@foss.st.com> (raw)

When using --print-memory-usage, the printed size can be zero and in
that case, the unit should be B and not GB.

ld/
	* ldlang.c (lang_print_memory_size) Print 0 B instead of 0 GB.
	* testsuite/ld-scripts/print-memory-usage-1.l: Validate emplty region.
	* testsuite/ld-scripts/print-memory-usage-1.t: Define empty region.

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
---
 ld/ldlang.c                                    | 4 +++-
 ld/testsuite/ld-scripts/print-memory-usage-1.l | 1 +
 ld/testsuite/ld-scripts/print-memory-usage-1.t | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ld/ldlang.c b/ld/ldlang.c
index 566c2b8326f..105404adcfb 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -9921,7 +9921,9 @@ lang_ld_feature (char *str)
 static void
 lang_print_memory_size (uint64_t sz)
 {
-  if ((sz & 0x3fffffff) == 0)
+  if (sz == 0)
+    printf (" %10" PRIu64 " B", sz);
+  else if ((sz & 0x3fffffff) == 0)
     printf ("%10" PRIu64 " GB", sz >> 30);
   else if ((sz & 0xfffff) == 0)
     printf ("%10" PRIu64 " MB", sz >> 20);
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.l b/ld/testsuite/ld-scripts/print-memory-usage-1.l
index e666a632c96..c59722059fd 100644
--- a/ld/testsuite/ld-scripts/print-memory-usage-1.l
+++ b/ld/testsuite/ld-scripts/print-memory-usage-1.l
@@ -1,3 +1,4 @@
 Memory region         Used Size  Region Size  %age Used
              ROM:          32 B         1 KB      3.1[23]%
              RAM:          32 B       256 KB      0.01%
+             FOO:           0 B         1 KB      0.00%
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.t b/ld/testsuite/ld-scripts/print-memory-usage-1.t
index 97065b30c52..56484f451c5 100644
--- a/ld/testsuite/ld-scripts/print-memory-usage-1.t
+++ b/ld/testsuite/ld-scripts/print-memory-usage-1.t
@@ -2,4 +2,5 @@ MEMORY
 {
   ROM (RX) : ORIGIN = 0x1000, LENGTH = 1K
   RAM (W)  : ORIGIN = 0x100000, LENGTH = 256K
+  FOO (RX) : ORIGIN = 0x100, LENGTH = 1K
 }
-- 
2.25.1


             reply	other threads:[~2023-12-17 21:16 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-17 21:16 Torbjörn SVENSSON [this message]
2023-12-18 12:33 ` Nick Clifton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231217211607.270091-1-torbjorn.svensson@foss.st.com \
    --to=torbjorn.svensson@foss.st.com \
    --cc=binutils@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).