mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
Warn if value of SEGMENT_START isn't multiple of maximum page size.
ld/ 2010-05-26 H.J. Lu <hongjiu.lu@intel.com> PR ld/11628 * ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't multiple of maximum page size. ld/testsuite/ 2010-05-26 H.J. Lu <hongjiu.lu@intel.com> PR ld/11628 * ld-elf/textaddr3.d: New. * ld-elf/textaddr4.d: Likewise. * ld-elf/textaddr5.d: Likewise. * ld-elf/textaddr6.d: Likewise. * ld-elf/textaddr7.d: Likewise.
This commit is contained in:
parent
f79e2745b2
commit
c8ce57109c
@ -1,3 +1,9 @@
|
||||
2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/11628
|
||||
* ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't
|
||||
multiple of maximum page size.
|
||||
|
||||
2010-05-25 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* Makefile.am: Fix typo.
|
||||
|
@ -299,6 +299,11 @@ fold_binary (etree_type *tree)
|
||||
for (seg = segments; seg; seg = seg->next)
|
||||
if (strcmp (seg->name, segment_name) == 0)
|
||||
{
|
||||
if (!seg->used
|
||||
&& config.magic_demand_paged
|
||||
&& (seg->value % config.maxpagesize) != 0)
|
||||
einfo (_("%P: warning: address of `%s' isn't multiple of maximum page size\n"),
|
||||
segment_name);
|
||||
seg->used = TRUE;
|
||||
expld.result.value = seg->value;
|
||||
expld.result.str = NULL;
|
||||
|
@ -1,3 +1,12 @@
|
||||
2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/11628
|
||||
* ld-elf/textaddr3.d: New.
|
||||
* ld-elf/textaddr4.d: Likewise.
|
||||
* ld-elf/textaddr5.d: Likewise.
|
||||
* ld-elf/textaddr6.d: Likewise.
|
||||
* ld-elf/textaddr7.d: Likewise.
|
||||
|
||||
2010-05-25 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
Andrew Stubbs <ams@codesourcery.com>
|
||||
|
4
ld/testsuite/ld-elf/textaddr3.d
Normal file
4
ld/testsuite/ld-elf/textaddr3.d
Normal file
@ -0,0 +1,4 @@
|
||||
#source: maxpage1.s
|
||||
#ld: -Ttext-segment 0x10000 -z max-page-size=0x200000
|
||||
#target: *-*-linux-gnu
|
||||
#warning: .*address of `text-segment' isn't multiple of maximum page size
|
8
ld/testsuite/ld-elf/textaddr4.d
Normal file
8
ld/testsuite/ld-elf/textaddr4.d
Normal file
@ -0,0 +1,8 @@
|
||||
#source: maxpage1.s
|
||||
#ld: -z max-page-size=0x10000 -Ttext-segment 0x10000
|
||||
#readelf: -l --wide
|
||||
#target: *-*-linux-gnu
|
||||
|
||||
#...
|
||||
LOAD +0x0+ 0x0*10000 0x0*10000 0x0*[0-9a-f][0-9a-f][0-9a-f] 0x0*[0-9a-f][0-9a-f][0-9a-f] R E 0x10000
|
||||
#pass
|
4
ld/testsuite/ld-elf/textaddr5.d
Normal file
4
ld/testsuite/ld-elf/textaddr5.d
Normal file
@ -0,0 +1,4 @@
|
||||
#source: maxpage1.s
|
||||
#ld: -shared -z max-page-size=0x200000 -Ttext-segment 0x10000
|
||||
#target: *-*-linux-gnu
|
||||
#warning: .*address of `text-segment' isn't multiple of maximum page size
|
8
ld/testsuite/ld-elf/textaddr6.d
Normal file
8
ld/testsuite/ld-elf/textaddr6.d
Normal file
@ -0,0 +1,8 @@
|
||||
#source: maxpage1.s
|
||||
#ld: -shared -z max-page-size=0x10000 -Ttext-segment 0x10000
|
||||
#readelf: -l --wide
|
||||
#target: *-*-linux-gnu
|
||||
|
||||
#...
|
||||
LOAD +0x0+ 0x0*10000 0x0*10000 0x0*[0-9a-f][0-9a-f][0-9a-f] 0x0*[0-9a-f][0-9a-f][0-9a-f] R E 0x10000
|
||||
#pass
|
8
ld/testsuite/ld-elf/textaddr7.d
Normal file
8
ld/testsuite/ld-elf/textaddr7.d
Normal file
@ -0,0 +1,8 @@
|
||||
#source: maxpage1.s
|
||||
#ld: -n -z max-page-size=0x200000 -Ttext-segment 0x10000
|
||||
#readelf: -l --wide
|
||||
#target: *-*-linux-gnu
|
||||
|
||||
#...
|
||||
LOAD .*
|
||||
#pass
|
Loading…
Reference in New Issue
Block a user