diff --git a/ld/ChangeLog b/ld/ChangeLog index e6c03c8fd4..6372a53463 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2004-01-13 Alan Modra + + * 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 * emultempl/ppc64elf.em (ppc_before_allocation): Clear cached diff --git a/ld/ldlang.c b/ld/ldlang.c index 55714c9766..5a832b1ced 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