diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2018-01-05 22:41:55 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2018-01-11 17:33:20 +0000 |
commit | b3b9f8d3e99cf46c2f85445cc5189db4c4f47407 (patch) | |
tree | 6ef8b5b71229cc38a7fe99ad971693f6f1ffac4f /ld | |
parent | 6bd0a312a4cb6803b9d6aa2f5646b610d213a1fe (diff) | |
download | binutils-gdb-b3b9f8d3e99cf46c2f85445cc5189db4c4f47407.tar.gz |
ld: In map file use '=' in PROVIDE statements
Currently when recording a PROVIDE statement in a linker map file we
display something like:
PROVIDE (SYMBOL, VALUE)
However, in a linker script we write these statements like this:
PROVIDE (SYMBOL = VALUE);
This commit changes the output in the map file to be closer to linker
script format, the map file now contains:
PROVIDE (SYMBOL = VALUE)
The ';' is still missing from the end, but map files are not intended
to be valid linker script input, so adding the ';' just seems like
clutter.
ld/ChangeLog:
* ldexp.c (exp_print_tree): Use '=' instead of ',' when printing
PROVIDE statements.
* testsuite/ld-scripts/provide-4.map: Update expected output.
* testsuite/ld-scripts/provide-5.map: Likewise.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/ldexp.c | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/provide-4-map.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/provide-5-map.d | 2 |
4 files changed, 15 insertions, 8 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index c5085b179b9..1357b89175b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2018-01-11 Andrew Burgess <andrew.burgess@embecosm.com> + + * ldexp.c (exp_print_tree): Use '=' instead of ',' when printing + PROVIDE statements. + * testsuite/ld-scripts/provide-4.map: Update expected output. + * testsuite/ld-scripts/provide-5.map: Likewise. + 2018-01-11 H.J. Lu <hongjiu.lu@intel.com> PR ld/22696 diff --git a/ld/ldexp.c b/ld/ldexp.c index 9fbc892e4b5..800c7f80859 100644 --- a/ld/ldexp.c +++ b/ld/ldexp.c @@ -1423,7 +1423,7 @@ exp_print_tree (etree_type *tree) break; case etree_provide: case etree_provided: - fprintf (config.map_file, "PROVIDE (%s, ", tree->assign.dst); + fprintf (config.map_file, "PROVIDE (%s = ", tree->assign.dst); exp_print_tree (tree->assign.src); fputc (')', config.map_file); break; diff --git a/ld/testsuite/ld-scripts/provide-4-map.d b/ld/testsuite/ld-scripts/provide-4-map.d index 189d1d04bcc..6ef936c8592 100644 --- a/ld/testsuite/ld-scripts/provide-4-map.d +++ b/ld/testsuite/ld-scripts/provide-4-map.d @@ -1,13 +1,13 @@ #... Linker script and memory map #... - \[!provide\] +PROVIDE \(foo, 0x1\) - \[!provide\] +PROVIDE \(bar, 0x2\) - 0x0+3 +PROVIDE \(baz, 0x3\) + \[!provide\] +PROVIDE \(foo = 0x1\) + \[!provide\] +PROVIDE \(bar = 0x2\) + 0x0+3 +PROVIDE \(baz = 0x3\) #... 0x0+2000 +foo - \[!provide\] +PROVIDE \(loc1, ALIGN \(\., 0x10\)\) - 0x0+2010 +PROVIDE \(loc2, ALIGN \(\., 0x10\)\) - \[!provide\] +PROVIDE \(loc3, \(loc1 \+ 0x20\)\) + \[!provide\] +PROVIDE \(loc1 = ALIGN \(\., 0x10\)\) + 0x0+2010 +PROVIDE \(loc2 = ALIGN \(\., 0x10\)\) + \[!provide\] +PROVIDE \(loc3 = \(loc1 \+ 0x20\)\) 0x0+2030 +loc4 = \(loc2 \+ 0x20\) #... diff --git a/ld/testsuite/ld-scripts/provide-5-map.d b/ld/testsuite/ld-scripts/provide-5-map.d index a75e4aa73c5..78b0bcbbdd3 100644 --- a/ld/testsuite/ld-scripts/provide-5-map.d +++ b/ld/testsuite/ld-scripts/provide-5-map.d @@ -2,5 +2,5 @@ Linker script and memory map #... 0x0+10 +foo = 0x10 - \[!provide\] +PROVIDE \(foo, bar\) + \[!provide\] +PROVIDE \(foo = bar\) #... |