diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 56b35ea376b..00c68af6a40 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2005-06-10 Alan Modra + + * ld-scripts/empty-aligned.t: Adjust alignment expressions so + that no .text? section is kept. Also check setting vma and + lma. + * ld-scripts/empty-aligned.d: Update. + 2005-06-09 Alan Modra * ld-scripts/empty-aligned.d: Adjust. diff --git a/ld/testsuite/ld-scripts/empty-aligned.d b/ld/testsuite/ld-scripts/empty-aligned.d index c3c6b16a8ca..493a40c6a21 100644 --- a/ld/testsuite/ld-scripts/empty-aligned.d +++ b/ld/testsuite/ld-scripts/empty-aligned.d @@ -6,9 +6,7 @@ Program Headers: +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+ - +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+ Section to Segment mapping: +Segment Sections\.\.\. - +00.*\.text.*\.text2.* - +01.*.data.* + +00.*\.text.*\.data.* diff --git a/ld/testsuite/ld-scripts/empty-aligned.t b/ld/testsuite/ld-scripts/empty-aligned.t index d3036be28c9..4deb240f7bc 100644 --- a/ld/testsuite/ld-scripts/empty-aligned.t +++ b/ld/testsuite/ld-scripts/empty-aligned.t @@ -1,15 +1,29 @@ SECTIONS { .text : { *(.text) } - .text2 : + /* Alignment at beginning shouldn't result in empty section being kept. */ + .text1 ALIGN (4096) : { - . = ALIGN(4096); - *(.text2) + *(.text1) } + /* Same for alignment at beginning and end. */ + .text2 ALIGN (4096) : + { + *(.text2) + . = ALIGN (4096); + } + /* Same for alignment just at end, although we need to be careful in + the expression used to align. */ .text3 : { *(.text3) - . = ALIGN(4096); + . = ALIGN (. != 0 ? 4096 : 1); + } + /* Same when setting vma and lma. This also shouldn't result in + .text3 being kept. */ + .text4 ADDR (.text3) + SIZEOF (.text3) + 8192 : AT (LOADADDR (.text3)) + { + *(.text4) } .data : { *(.data) } .bss : { *(.bss) }