summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2006-11-08 11:29:16 +0000
committerAlan Modra <amodra@bigpond.net.au>2006-11-08 11:29:16 +0000
commit390a1432f0832236ae7bcb71c493755c93997088 (patch)
tree98ebbd61be94538a63821b2499c674baaed1a15b
parent18a68931888edb37bcd92110dd5a725a375446f3 (diff)
downloadbinutils-redhat-390a1432f0832236ae7bcb71c493755c93997088.tar.gz
ld/
* emultempl/elf32.em (gld*_before_allocation): Adjust output section size for warning sections. ld/testsuite/ * ld-elf/group.ld: Handle .rodata.brlt for powerpc64.
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/emultempl/elf32.em15
-rw-r--r--ld/testsuite/ChangeLog8
-rw-r--r--ld/testsuite/ld-elf/group.ld2
4 files changed, 25 insertions, 9 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f3e1383834..7f838f627f 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,7 +1,12 @@
+2006-11-08 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld*_before_allocation): Adjust output section
+ size for warning sections.
+
2006-11-06 Vladimir Prus <vladimir@codesourcery.com>
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
- Don't prepend "warning" to the message.
+ * emultempl/elf32.em (gld*_before_allocation): Don't prepend
+ "warning" to the message.
2006-10-31 Pedro Alves <pedro_alves@portugalmail.pt>
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index ff48c56687..03d9d8d5ae 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1204,12 +1204,19 @@ ${ELF_INTERPRETER_SET_DEFAULT}
ASSERT (ret);
free (msg);
- /* Clobber the section size, so that we don't waste copying the
- warning into the output file. */
+ /* Clobber the section size, so that we don't waste space
+ copying the warning into the output file. If we've already
+ sized the output section, adjust its size. The adjustment
+ is on rawsize because targets that size sections early will
+ have called lang_reset_memory_regions after sizing. */
+ if (s->output_section != NULL
+ && s->output_section->rawsize >= s->size)
+ s->output_section->rawsize -= s->size;
+
s->size = 0;
- /* Also set SEC_EXCLUDE, so that symbols defined in the warning
- section don't get copied to the output. */
+ /* Also set SEC_EXCLUDE, so that local symbols defined in the
+ warning section don't get copied to the output. */
s->flags |= SEC_EXCLUDE | SEC_KEEP;
}
}
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 86b084e6dd..397caa11e3 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,7 +1,11 @@
+2006-11-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-elf/group.ld: Handle .rodata.brlt for powerpc64.
+
2006-11-07 Vladimir Prus <vladimir@codesourcery.com>
- * testsuite/ld-elf/symbol2w.s: Use "%" instead
- of "@" to avoid breakage on ARM.
+ * testsuite/ld-elf/symbol2w.s: Use "%" instead of "@" to avoid
+ breakage on ARM.
2006-11-06 Vladimir Prus <vladimir@codesourcery.com>
diff --git a/ld/testsuite/ld-elf/group.ld b/ld/testsuite/ld-elf/group.ld
index d6b27d0494..71852745b6 100644
--- a/ld/testsuite/ld-elf/group.ld
+++ b/ld/testsuite/ld-elf/group.ld
@@ -1,5 +1,5 @@
SECTIONS
{
. = 0x1000;
- .text : { *(.text) }
+ .text : { *(.text) *(.rodata.brlt) }
}