diff options
author | Tristan Gingold <gingold@adacore.com> | 2015-06-05 15:09:31 +0200 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2015-06-12 11:24:36 +0200 |
commit | 3604cb1f8ca4a926039a9540d03bb224d84af3e1 (patch) | |
tree | 962d40b3cb6bd43d06960653b70af6d73a207e66 /ld/testsuite | |
parent | db7858e227f3951c665410314fca62c77349ac24 (diff) | |
download | gdb-3604cb1f8ca4a926039a9540d03bb224d84af3e1.zip gdb-3604cb1f8ca4a926039a9540d03bb224d84af3e1.tar.gz gdb-3604cb1f8ca4a926039a9540d03bb224d84af3e1.tar.bz2 |
Add new ld option: --print-memory-usage
ld/
* NEWS: Mention new option.
* lexsup.c (parse_args): Handle --print-memory-usage.
(ld_options): Add --print-memory-usage.
* ldmain.c (main): Call lang_print_memory_usage.
* ldlex.h (enum option_values): Add OPTION_PRINT_MEMORY_USAGE.
* ldlang.h: Add prototype of lang_print_memory_usage.
* ldlang.c (lang_print_memory_size, lang_print_memory_usage): New
functions.
* ld.texinfo (Options): Document --print-memory-usage.
* ld.h (args_type): Add print_memory_usage field.
ld/testsuite/
* ld-scripts/print-memory-usage-1.t,
* ld-scripts/print-memory-usage-1.s,
* ld-scripts/print-memory-usage-1.l,
* ld-scripts/print-memory-usage-2.t,
* ld-scripts/print-memory-usage-2.l,
* ld-scripts/print-memory-usage-3.s,
* ld-scripts/print-memory-usage-3.t,
* ld-scripts/print-memory-usage-3.l,
* ld-scripts/print-memory-usage.t: New tests.
* ld-scripts/print-memory-usage.exp: Run them.
Diffstat (limited to 'ld/testsuite')
-rw-r--r-- | ld/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-1.l | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-1.s | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-1.t | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-2.l | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-2.t | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-3.l | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-3.s | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage-3.t | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage.exp | 69 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/print-memory-usage.t | 14 |
11 files changed, 143 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index ab94a78..de4adbb 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2015-06-12 Tristan Gingold <gingold@adacore.com> + + * ld-scripts/print-memory-usage-1.t, + * ld-scripts/print-memory-usage-1.s, + * ld-scripts/print-memory-usage-1.l, + * ld-scripts/print-memory-usage-2.t, + * ld-scripts/print-memory-usage-2.l, + * ld-scripts/print-memory-usage-3.s, + * ld-scripts/print-memory-usage-3.t, + * ld-scripts/print-memory-usage-3.l, + * ld-scripts/print-memory-usage.t: New tests. + * ld-scripts/print-memory-usage.exp: Run them. + 2015-06-05 Nick Clifton <nickc@redhat.com> * ld-elf/compressed1d.d: Fix typo: iq200 -> iq2000. diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.l b/ld/testsuite/ld-scripts/print-memory-usage-1.l new file mode 100644 index 0000000..34bc895 --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-1.l @@ -0,0 +1,3 @@ +Memory region Used Size Region Size %age Used + ROM: 32 B 1 KB 3.12% + RAM: 32 B 256 KB 0.01% diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.s b/ld/testsuite/ld-scripts/print-memory-usage-1.s new file mode 100644 index 0000000..ccb94bf --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-1.s @@ -0,0 +1,8 @@ + .text + .globl text_symbol +text_symbol: + .space 32 + .data + .globl data_symbol +data_symbol: + .space 32 diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.t b/ld/testsuite/ld-scripts/print-memory-usage-1.t new file mode 100644 index 0000000..97065b3 --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-1.t @@ -0,0 +1,5 @@ +MEMORY +{ + ROM (RX) : ORIGIN = 0x1000, LENGTH = 1K + RAM (W) : ORIGIN = 0x100000, LENGTH = 256K +} diff --git a/ld/testsuite/ld-scripts/print-memory-usage-2.l b/ld/testsuite/ld-scripts/print-memory-usage-2.l new file mode 100644 index 0000000..8797120 --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-2.l @@ -0,0 +1 @@ +Memory region Used Size Region Size %age Used diff --git a/ld/testsuite/ld-scripts/print-memory-usage-2.t b/ld/testsuite/ld-scripts/print-memory-usage-2.t new file mode 100644 index 0000000..11ce1ba --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-2.t @@ -0,0 +1,14 @@ +SECTIONS +{ + .text 0x1000 : + { + *(.text) + *(.pr) + } + + .data : + { + *(.data) + *(.rw) + } +} diff --git a/ld/testsuite/ld-scripts/print-memory-usage-3.l b/ld/testsuite/ld-scripts/print-memory-usage-3.l new file mode 100644 index 0000000..1044101 --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-3.l @@ -0,0 +1,3 @@ +Memory region Used Size Region Size %age Used + ROM: 256 KB 1 MB 25.00% + RAM: 32 B 2 GB 0.00% diff --git a/ld/testsuite/ld-scripts/print-memory-usage-3.s b/ld/testsuite/ld-scripts/print-memory-usage-3.s new file mode 100644 index 0000000..917ff20 --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-3.s @@ -0,0 +1,8 @@ + .text + .globl text_symbol +text_symbol: + .space 256*1024 + .data + .globl data_symbol +data_symbol: + .space 32 diff --git a/ld/testsuite/ld-scripts/print-memory-usage-3.t b/ld/testsuite/ld-scripts/print-memory-usage-3.t new file mode 100644 index 0000000..eff51b6 --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage-3.t @@ -0,0 +1,5 @@ +MEMORY +{ + ROM (RX) : ORIGIN = 0x100000, LENGTH = 1M + RAM (W) : ORIGIN = 0x1000000, LENGTH = 2048M +} diff --git a/ld/testsuite/ld-scripts/print-memory-usage.exp b/ld/testsuite/ld-scripts/print-memory-usage.exp new file mode 100644 index 0000000..bbae75f --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage.exp @@ -0,0 +1,69 @@ +# Test --print-memory-usage linker functionality +# By Tristan Gingold, AdaCore +# Copyright (C) 2015 Free Software Foundation, Inc. +# +# This file is part of the GNU Binutils. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. + +# Mips adds MIPS.abiflags section. +# Spu, pdp11 memory is too small. +# Tic30 needs a special linker script. +# Tic54x interpret space values in bits. +# XCOFF has garbage collection +if { [istarget mips*-*-*] + || [istarget spu*-*-*] + || [istarget pdp11*-*-*] + || [istarget tic30*-*-*] + || [istarget tic54x*-*-*] + || [istarget *-*-aix*] + || [istarget *-*-xcoff*] } { + return +} + +run_ld_link_tests { + { + "print-memory-usage-1" + "-T print-memory-usage-1.t -T print-memory-usage.t --print-memory-usage" + "" + "" + { "print-memory-usage-1.s" } + { { ld "print-memory-usage-1.l" } } + "print-memory-usage-1" + } + + { + "print-memory-usage-2" + "-T print-memory-usage-2.t --print-memory-usage" + "" + "" + { "print-memory-usage-1.s" } + { { ld "print-memory-usage-2.l" } } + "print-memory-usage-2" + } + + { + "print-memory-usage-3" + "-T print-memory-usage-3.t -T print-memory-usage.t --print-memory-usage" + "" + "" + { "print-memory-usage-3.s" } + { { ld "print-memory-usage-3.l" } } + "print-memory-usage-3" + } + +} + diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t new file mode 100644 index 0000000..5ff057a --- /dev/null +++ b/ld/testsuite/ld-scripts/print-memory-usage.t @@ -0,0 +1,14 @@ +SECTIONS +{ + .text : + { + *(.text) + *(.pr) + } + + .data : + { + *(.data) + *(.rw) + } +} |