diff options
-rw-r--r-- | gold/ChangeLog | 7 | ||||
-rw-r--r-- | gold/script-sections.cc | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index fea0a34..ed774ac 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,4 +1,9 @@ -2009-06-22 Ian Lance Taylor <ian@airs.com> +2009-06-22 Ian Lance Taylor <iant@google.com> + + * script-sections.cc (Script_sections::create_segments): Don't put + program headers in a PT_LOAD segment if -n or -N. + +2009-06-22 Ian Lance Taylor <iant@google.com> PR 10141 * options.h (class General_options): Add -z lazy and -z now. Sort diff --git a/gold/script-sections.cc b/gold/script-sections.cc index 9daf9ec..23610ac 100644 --- a/gold/script-sections.cc +++ b/gold/script-sections.cc @@ -2981,6 +2981,11 @@ Script_sections::create_segments(Layout* layout) if (first_seg == NULL) return NULL; + // -n or -N mean that the program is not demand paged and there is + // no need to put the program headers in a PT_LOAD segment. + if (parameters->options().nmagic() || parameters->options().omagic()) + return NULL; + size_t sizeof_headers = this->total_header_size(layout); uint64_t vma = first_seg->vaddr(); |