From b81428656759ee87a5619f8495c04123ec71d582 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 19 Jan 2007 15:06:27 +0000 Subject: [PATCH] ld/ 2007-01-19 Jakub Jelinek H.J. Lu * emultempl/elf32.em (handle_option): Make sure -z max-page-size or -z common-page-size argument is a power of 2. Call bfd_emul_set_maxpagesize and bfd_emul_set_commonpagesize. 2007-01-19 H.J. Lu * ldmain.c (main): Don't call bfd_emul_set_maxpagesize nor bfd_emul_set_commonpagesize. ld/testsuite/ 2007-01-19 H.J. Lu * ld-elf/maxpage3.t: New file. * ld-elf/maxpage3a.d: Likewise. * ld-elf/maxpage3b.d: Likewise. * ld-elf/maxpage3c.d: Likewise. --- ld/ChangeLog | 12 ++++++++++++ ld/emultempl/elf32.em | 10 ++++++++-- ld/ldmain.c | 7 ------- ld/testsuite/ChangeLog | 7 +++++++ ld/testsuite/ld-elf/maxpage3.t | 7 +++++++ ld/testsuite/ld-elf/maxpage3a.d | 11 +++++++++++ ld/testsuite/ld-elf/maxpage3b.d | 10 ++++++++++ ld/testsuite/ld-elf/maxpage3c.d | 12 ++++++++++++ 8 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 ld/testsuite/ld-elf/maxpage3.t create mode 100644 ld/testsuite/ld-elf/maxpage3a.d create mode 100644 ld/testsuite/ld-elf/maxpage3b.d create mode 100644 ld/testsuite/ld-elf/maxpage3c.d diff --git a/ld/ChangeLog b/ld/ChangeLog index 8bf6eca..4fb8e55 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,15 @@ +2007-01-19 Jakub Jelinek + H.J. Lu + + * emultempl/elf32.em (handle_option): Make sure -z max-page-size + or -z common-page-size argument is a power of 2. Call + bfd_emul_set_maxpagesize and bfd_emul_set_commonpagesize. + +2007-01-19 H.J. Lu + + * ldmain.c (main): Don't call bfd_emul_set_maxpagesize nor + bfd_emul_set_commonpagesize. + 2007-01-19 H.J. Lu * NEWS: Mention --default-script/-dT. diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index 2888008..1646d2e 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1915,17 +1915,23 @@ cat >>e${EMULATION_NAME}.c < + + * ld-elf/maxpage3.t: New file. + * ld-elf/maxpage3a.d: Likewise. + * ld-elf/maxpage3b.d: Likewise. + * ld-elf/maxpage3c.d: Likewise. + 2007-01-19 H.J. Lu * ld-scripts/default-script.exp: New file. diff --git a/ld/testsuite/ld-elf/maxpage3.t b/ld/testsuite/ld-elf/maxpage3.t new file mode 100644 index 0000000..556dcd5 --- /dev/null +++ b/ld/testsuite/ld-elf/maxpage3.t @@ -0,0 +1,7 @@ +SECTIONS +{ + .text : {*(.text)} + . = ALIGN(CONSTANT (MAXPAGESIZE)); + .data : {*(.data)} + /DISCARD/ : {*(*)} +} diff --git a/ld/testsuite/ld-elf/maxpage3a.d b/ld/testsuite/ld-elf/maxpage3a.d new file mode 100644 index 0000000..0e46b6b --- /dev/null +++ b/ld/testsuite/ld-elf/maxpage3a.d @@ -0,0 +1,11 @@ +#source: maxpage1.s +#ld: -z max-page-size=0x10000000 -T maxpage3.t +#readelf: -lS --wide +#target: *-*-linux* + +#... + \[[ 0-9]+\] \.data[ \t]+PROGBITS[ \t]+0*10000000[ \t]+[ \t0-9a-f]+WA?.* +#... + LOAD+.*0x10000000 + LOAD+.*0x10000000 +#pass diff --git a/ld/testsuite/ld-elf/maxpage3b.d b/ld/testsuite/ld-elf/maxpage3b.d new file mode 100644 index 0000000..4bee0ec --- /dev/null +++ b/ld/testsuite/ld-elf/maxpage3b.d @@ -0,0 +1,10 @@ +#source: maxpage1.s +#ld: -T maxpage3.t -z max-page-size=0x10000000 +#readelf: -lS --wide +#target: x86_64-*-linux* + +#... + \[[ 0-9]+\] \.data[ \t]+PROGBITS[ \t]+0*200000[ \t]+[ \t0-9a-f]+WA?.* +#... + LOAD+.*0x10000000 +#pass diff --git a/ld/testsuite/ld-elf/maxpage3c.d b/ld/testsuite/ld-elf/maxpage3c.d new file mode 100644 index 0000000..cdc3eaf --- /dev/null +++ b/ld/testsuite/ld-elf/maxpage3c.d @@ -0,0 +1,12 @@ +#source: maxpage1.s +#as: --32 +#ld: -m elf_i386 -z max-page-size=0x10000000 -T maxpage3.t +#readelf: -lS --wide +#target: x86_64-*-linux* + +#... + \[[ 0-9]+\] \.data[ \t]+PROGBITS[ \t]+0*10000000[ \t]+[ \t0-9a-f]+WA?.* +#... + LOAD+.*0x10000000 + LOAD+.*0x10000000 +#pass -- 2.7.4