Early expression evaluation
authorAlan Modra <amodra@gmail.com>
Wed, 20 Jul 2016 00:14:46 +0000 (09:44 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 20 Jul 2016 01:25:45 +0000 (10:55 +0930)
commitb751e639fcc69ba6e1d8ccc0fef2be1522802a33
treeb1c2df529604c99bbc812f79918b50243f770d8a
parent3ce512885ba76da53fae84cd1a555bc721fdd25e
Early expression evaluation

Folding a constant expression early can lead to loss of tokens, eg.
ABSOLUTE, that are significant in ld's horrible context sensitive
expression evaluation.  Also, MAXPAGESIZE and other "constants" may
not have taken values specified on the command line, leading to the
wrong value being cached.

* ldexp.c (exp_unop, exp_binop, exp_trinop, exp_nameop): Don't
fold expression.
* testsuite/ld-elf/maxpage3b.d: Expect correct maxpagesize.
ld/ChangeLog
ld/ldexp.c
ld/testsuite/ld-elf/maxpage3b.d