Browse Source
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.gdb-7.10-branch
20 changed files with 226 additions and 0 deletions
@ -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% |
|||
@ -0,0 +1,8 @@ |
|||
.text |
|||
.globl text_symbol |
|||
text_symbol: |
|||
.space 32 |
|||
.data |
|||
.globl data_symbol |
|||
data_symbol: |
|||
.space 32 |
|||
@ -0,0 +1,5 @@ |
|||
MEMORY |
|||
{ |
|||
ROM (RX) : ORIGIN = 0x1000, LENGTH = 1K |
|||
RAM (W) : ORIGIN = 0x100000, LENGTH = 256K |
|||
} |
|||
@ -0,0 +1 @@ |
|||
Memory region Used Size Region Size %age Used |
|||
@ -0,0 +1,14 @@ |
|||
SECTIONS |
|||
{ |
|||
.text 0x1000 : |
|||
{ |
|||
*(.text) |
|||
*(.pr) |
|||
} |
|||
|
|||
.data : |
|||
{ |
|||
*(.data) |
|||
*(.rw) |
|||
} |
|||
} |
|||
@ -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% |
|||
@ -0,0 +1,8 @@ |
|||
.text |
|||
.globl text_symbol |
|||
text_symbol: |
|||
.space 256*1024 |
|||
.data |
|||
.globl data_symbol |
|||
data_symbol: |
|||
.space 32 |
|||
@ -0,0 +1,5 @@ |
|||
MEMORY |
|||
{ |
|||
ROM (RX) : ORIGIN = 0x100000, LENGTH = 1M |
|||
RAM (W) : ORIGIN = 0x1000000, LENGTH = 2048M |
|||
} |
|||
@ -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" |
|||
} |
|||
|
|||
} |
|||
|
|||
@ -0,0 +1,14 @@ |
|||
SECTIONS |
|||
{ |
|||
.text : |
|||
{ |
|||
*(.text) |
|||
*(.pr) |
|||
} |
|||
|
|||
.data : |
|||
{ |
|||
*(.data) |
|||
*(.rw) |
|||
} |
|||
} |
|||
Loading…
Reference in new issue