summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2018-01-05 22:41:55 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2018-01-11 17:33:20 +0000
commitb3b9f8d3e99cf46c2f85445cc5189db4c4f47407 (patch)
tree6ef8b5b71229cc38a7fe99ad971693f6f1ffac4f /ld
parent6bd0a312a4cb6803b9d6aa2f5646b610d213a1fe (diff)
downloadbinutils-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/ChangeLog7
-rw-r--r--ld/ldexp.c2
-rw-r--r--ld/testsuite/ld-scripts/provide-4-map.d12
-rw-r--r--ld/testsuite/ld-scripts/provide-5-map.d2
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\)
#...