aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-09-08 11:04:28 +0000
committerAlan Modra <amodra@gmail.com>2007-09-08 11:04:28 +0000
commitc4e9ac527d6914f6b2486d6d60967c119a1f57c8 (patch)
tree26e640c972441da98553035055ceab24c1c27c20
parent98ece1b3139c38659c7016f41964663b3698b696 (diff)
downloadgdb-c4e9ac527d6914f6b2486d6d60967c119a1f57c8.zip
gdb-c4e9ac527d6914f6b2486d6d60967c119a1f57c8.tar.gz
gdb-c4e9ac527d6914f6b2486d6d60967c119a1f57c8.tar.bz2
* ldwrite.c (build_link_order <lang_padding_statement_enum>): Correct
condition under which we build a bfd_data_link_order.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldwrite.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 1579bec..2ffe397 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ldwrite.c (build_link_order <lang_padding_statement_enum>): Correct
+ condition under which we build a bfd_data_link_order.
+
2007-08-31 Tristan Gingold <gingold@adacore.com>
* ldlang.c (lang_map): Increment lang_statement_iteration so that
diff --git a/ld/ldwrite.c b/ld/ldwrite.c
index 47e8f64..0f45a91 100644
--- a/ld/ldwrite.c
+++ b/ld/ldwrite.c
@@ -270,7 +270,10 @@ build_link_order (lang_statement_union_type *statement)
output_section = statement->padding_statement.output_section;
ASSERT (statement->padding_statement.output_section->owner
== output_bfd);
- if ((output_section->flags & SEC_HAS_CONTENTS) != 0)
+ if (((output_section->flags & SEC_HAS_CONTENTS) != 0
+ || ((output_section->flags & SEC_LOAD) != 0
+ && (output_section->flags & SEC_THREAD_LOCAL)))
+ && (output_section->flags & SEC_NEVER_LOAD) == 0)
{
link_order = bfd_new_link_order (output_bfd, output_section);
link_order->type = bfd_data_link_order;