c05b575a8d
When creating a linker mapfile (using -Map=MAPFILE), we previously would always try to evaluate the expression from a PROVIDE statement. However, this is not always safe, consider: PROVIDE (foo = 0x10); PROVIDE (bar = foo); In this example, if neither 'foo' or 'bar' is needed, then while generating the linker mapfile evaluating the expression for 'foo' is harmless (just the value 0x10). However, evaluating the expression for 'bar' requires the symbol 'foo', which is undefined. This used to cause a fatal error. This patch changes the behaviour, so that when the destination of the PROVIDE is not defined (that is the PROVIDE is not going to provide anything) the expression is not evaluated, and instead a special string is displayed to indicate that the linker is discarding the PROVIDE statement. This change not only fixes the spurious undefined symbol error, but also means that a user can now tell if a PROVIDE statement has provided anything by inspecting the linker mapfile, something that could not be done before. ld/ChangeLog: * ldlang.c (print_assignment): Only evaluate the expression for a PROVIDE'd assignment when the destination is being defined. Display a special message for PROVIDE'd symbols that are not being provided. ld/testsuite/ChangeLog: * ld-scripts/provide-4.d: New file. * ld-scripts/provide-4-map.d: New file. * ld-scripts/provide-4.t: New file. * ld-scripts/provide-5.d: New file. * ld-scripts/provide-5.s: New file. * ld-scripts/provide-5-map.d: New file. * ld-scripts/provide-5.t: New file. * ld-scripts/provide.exp: Run the provide-4.d and provide-5.d tests.
125 lines
3.3 KiB
Text
125 lines
3.3 KiB
Text
2015-01-20 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* ld-scripts/provide-4.d: New file.
|
||
* ld-scripts/provide-4-map.d: New file.
|
||
* ld-scripts/provide-4.t: New file.
|
||
* ld-scripts/provide-5.d: New file.
|
||
* ld-scripts/provide-5.s: New file.
|
||
* ld-scripts/provide-5-map.d: New file.
|
||
* ld-scripts/provide-5.t: New file.
|
||
* ld-scripts/provide.exp: Run the provide-4.d and provide-5.d
|
||
tests.
|
||
|
||
2015-01-20 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* ld-scripts/overlay-size.d: Add 'map' option.
|
||
* ld-scripts/overlay-size.exp: Remove manual check of mapfile.
|
||
* lib/ld-lib.exp (run_dump_test): Add support for new 'map'
|
||
option, checking linker mapfile output.
|
||
|
||
2015-01-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* ld-powerpc/ambiguousv1.d,
|
||
* ld-powerpc/ambiguousv1b.d,
|
||
* ld-powerpc/ambiguousv2.d,
|
||
* ld-powerpc/ambiguousv2b.d,
|
||
* ld-powerpc/elfv2exe.d,
|
||
* ld-powerpc/elfv2so.d,
|
||
* ld-powerpc/tlsexe.r,
|
||
* ld-powerpc/tlsexetoc.r,
|
||
* ld-powerpc/tlsso.r,
|
||
* ld-powerpc/tlstocso.r: Update.
|
||
|
||
2015-01-20 Alan Modra <amodra@gmail.com>
|
||
|
||
PR ld/17615
|
||
* ld-elf/pr17615.d: Match .sbss too.
|
||
|
||
2015-01-19 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/17615
|
||
* ld-elf/pr17615.d: New file.
|
||
* ld-elf/pr17615.s: Likewise.
|
||
|
||
2015-01-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* ld-gc/pr14265.d,
|
||
* ld-cris/tls-gc-68.d,
|
||
* ld-cris/tls-gc-69.d,
|
||
* ld-cris/tls-gc-70.d,
|
||
* ld-cris/tls-gc-71.d,
|
||
* ld-cris/tls-gc-75.d,
|
||
* ld-cris/tls-gc-76.d,
|
||
* ld-cris/tls-gc-79.d,
|
||
* ld-mmix/bpo-10.d,
|
||
* ld-mmix/bpo-11.d: Update.
|
||
|
||
2015-01-16 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* ld-s390/tlsbin.dd: The nopr register operand is optional and not
|
||
printed if 0 anymore.
|
||
|
||
2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/17847
|
||
* ld-x86-64/pie1.d: New file.
|
||
* ld-x86-64/pie1.s: Likwise.
|
||
* ld-x86-64/x86-64.exp: Run pie1.
|
||
|
||
2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* ld-aarch64/aarch64-elf.exp: Added relocs-257-symbolic-func test.
|
||
* ld-aarch64/relocs-257-symbolic-func.d: New file.
|
||
* ld-aarch64/relocs-257-symbolic-func.s: Likewise.
|
||
|
||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* ld-aarch64/tprel_g2_overflow.s: New testcase.
|
||
* ld-aarch64/tprel_g2_overflow.d: New expectation file.
|
||
* ld-aarch64/aarch64-elf.exp: Run new testcase.
|
||
|
||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
PR ld/17415
|
||
* ld-aarch64/pr17415.s: Source file for new test.
|
||
* ld-aarch64/pr17415.d: Expect file for new test.
|
||
* ld-aarch64/aarch64-elf.exp: Run the new test.
|
||
|
||
2015-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/17827
|
||
* ld-x86-64/pr17689.out: Updated.
|
||
* ld-x86-64/pr17689b.S: Likewise.
|
||
|
||
* ld-x86-64/pr17827.rd: New file.
|
||
|
||
* ld-x86-64/x86-64.exp: Run PR ld/17827 test.
|
||
|
||
2015-01-08 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* ld-x86-64/pr14207.d: Adjust expecations to cover the
|
||
enable_initfini_array=no case.
|
||
|
||
2015-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* lib/ld-lib.exp (run_dump_test): Extend comment to mention
|
||
readelf.
|
||
|
||
2015-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2014
|
||
|
||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|