diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2007-06-20 18:32:10 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2007-06-20 18:32:10 +0000 |
commit | 52b572086640c9f87e7947fcb3bbd0c6b0bb9d70 (patch) | |
tree | 8db334860d919d831e4e05fd72a44ac5b257155c /gdb | |
parent | 25c909f1e284a5111024513b92cb513e7f90f763 (diff) | |
download | gdb-52b572086640c9f87e7947fcb3bbd0c6b0bb9d70.zip gdb-52b572086640c9f87e7947fcb3bbd0c6b0bb9d70.tar.gz gdb-52b572086640c9f87e7947fcb3bbd0c6b0bb9d70.tar.bz2 |
2007-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 4606
* gcore.c (gcore_command): Use bfd_make_section_anyway_with_flags
instead of bfd_make_section_anyway.
(gcore_create_callback): Likewise. Also set SEC_NEVER_LOAD
when clearing SEC_LOAD.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/gcore.c | 11 |
2 files changed, 14 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d3f42de..ef274fa 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2007-06-20 H.J. Lu <hongjiu.lu@intel.com> + + PR 4606 + * gcore.c (gcore_command): Use bfd_make_section_anyway_with_flags + instead of bfd_make_section_anyway. + (gcore_create_callback): Likewise. Also set SEC_NEVER_LOAD + when clearing SEC_LOAD. + 2007-06-19 Joseph Myers <joseph@codesourcery.com> * arm-tdep.c (arm_push_dummy_call): Correct padding of partial diff --git a/gdb/gcore.c b/gdb/gcore.c index 3ab9f96..b4c2635 100644 --- a/gdb/gcore.c +++ b/gdb/gcore.c @@ -88,14 +88,15 @@ gcore_command (char *args, int from_tty) /* Create the note section. */ if (note_data != NULL && note_size != 0) { - note_sec = bfd_make_section_anyway (obfd, "note0"); + note_sec = bfd_make_section_anyway_with_flags (obfd, "note0", + SEC_HAS_CONTENTS + | SEC_READONLY + | SEC_ALLOC); if (note_sec == NULL) error (_("Failed to create 'note' section for corefile: %s"), bfd_errmsg (bfd_get_error ())); bfd_set_section_vma (obfd, note_sec, 0); - bfd_set_section_flags (obfd, note_sec, - SEC_HAS_CONTENTS | SEC_READONLY | SEC_ALLOC); bfd_set_section_alignment (obfd, note_sec, 0); bfd_set_section_size (obfd, note_sec, note_size); } @@ -359,6 +360,7 @@ gcore_create_callback (CORE_ADDR vaddr, unsigned long size, && !(bfd_get_file_flags (abfd) & BFD_IN_MEMORY)) { flags &= ~SEC_LOAD; + flags |= SEC_NEVER_LOAD; goto keep; /* break out of two nested for loops */ } } @@ -372,7 +374,7 @@ gcore_create_callback (CORE_ADDR vaddr, unsigned long size, else flags |= SEC_DATA; - osec = bfd_make_section_anyway (obfd, "load"); + osec = bfd_make_section_anyway_with_flags (obfd, "load", flags); if (osec == NULL) { warning (_("Couldn't make gcore segment: %s"), @@ -389,7 +391,6 @@ gcore_create_callback (CORE_ADDR vaddr, unsigned long size, bfd_set_section_size (obfd, osec, size); bfd_set_section_vma (obfd, osec, vaddr); bfd_section_lma (obfd, osec) = 0; /* ??? bfd_set_section_lma? */ - bfd_set_section_flags (obfd, osec, flags); return 0; } |