LD: Avoid a division by zero page size with SEGMENT_START handling

Avoid a division by zero and thus a linker crash in SEGMENT_START script
builtin function handling, by not checking the value supplied with a
`-T' command-line override against the maximum page size if that has not
been set.

	ld/
	* ldexp.c (fold_binary): Check that `config.maxpagesize' is
	non-zero before using it as a divisor.
This commit is contained in:
Maciej W. Rozycki 2018-09-14 20:22:56 +01:00
parent 606cc04085
commit a000f8817b
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2018-09-14 Maciej W. Rozycki <macro@linux-mips.org>
* ldexp.c (fold_binary): Check that `config.maxpagesize' is
non-zero before using it as a divisor.
2018-09-03 Nick Clifton <nickc@redhat.com>
* po/fi.po: Updated Finnish translation.

View File

@ -545,6 +545,7 @@ fold_binary (etree_type *tree)
{
if (!seg->used
&& config.magic_demand_paged
&& config.maxpagesize != 0
&& (seg->value % config.maxpagesize) != 0)
einfo (_("%P: warning: address of `%s' "
"isn't multiple of maximum page size\n"),