aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/ldlang.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index e6c03c8..6372a53 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2004-01-13 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (IGNORE_SECTION): Don't ignore SEC_ALLOC && !SEC_LOAD
+ sections. Do ignore SEC_NEVER_LOAD sections.
+ (lang_size_sections_1): Remove test made redundant with the above.
+
2004-01-09 Alan Modra <amodra@bigpond.net.au>
* emultempl/ppc64elf.em (ppc_before_allocation): Clear cached
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 55714c9..5a832b1 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -2762,8 +2762,8 @@ size_input_section (lang_statement_union_type **this_ptr,
}
#define IGNORE_SECTION(bfd, s) \
- (((bfd_get_section_flags (bfd, s) & (SEC_ALLOC | SEC_LOAD)) \
- != (SEC_ALLOC | SEC_LOAD)) \
+ (((bfd_get_section_flags (bfd, s) & (SEC_ALLOC | SEC_NEVER_LOAD)) \
+ != SEC_ALLOC) \
|| bfd_section_size (bfd, s) == 0)
/* Check to see if any allocated sections overlap with other allocated
@@ -2930,8 +2930,6 @@ lang_size_sections_1
region, and some non default memory regions were
defined, issue an error message. */
if (!IGNORE_SECTION (output_bfd, os->bfd_section)
- && (bfd_get_section_flags (output_bfd, os->bfd_section)
- & SEC_NEVER_LOAD) == 0
&& ! link_info.relocatable
&& check_regions
&& strcmp (os->region->name, DEFAULT_MEMORY_REGION) == 0