diff options
author | Alan Modra <amodra@gmail.com> | 2023-03-22 09:02:57 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2023-03-22 09:02:57 +1030 |
commit | 6634b215662aa856c8df9ee0e56c0a2f7ad3684e (patch) | |
tree | 18efcb641d4219448872fad32860db655fc4167a | |
parent | 509ab0875d598dc36edb80d4d6a957b41540d992 (diff) | |
download | gdb-6634b215662aa856c8df9ee0e56c0a2f7ad3684e.zip gdb-6634b215662aa856c8df9ee0e56c0a2f7ad3684e.tar.gz gdb-6634b215662aa856c8df9ee0e56c0a2f7ad3684e.tar.bz2 |
PE fake section for C_SECTION syms
It's an odd thing to have objdump -x show a different section table
to objdump -h, but that can happen if swapping in symbols leads to
creating sections. Setting SEC_LINKER_CREATED stops the display of
these sections, so that you get shown what is in the object file.
* peXXigen.c (_bfd_XXi_swap_sym_in): Set SEC_LINKER_CREATED on
fake section created for C_SECTION syms. Don't zero asection
fields that are already zero.
-rw-r--r-- | bfd/peXXigen.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index d59a97f..42f2d21 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -189,7 +189,8 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void * ext1, void * in1) } memcpy (sec_name, name, name_len); - flags = SEC_HAS_CONTENTS | SEC_ALLOC | SEC_DATA | SEC_LOAD; + flags = (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_DATA | SEC_LOAD + | SEC_LINKER_CREATED); sec = bfd_make_section_anyway_with_flags (abfd, sec_name, flags); if (sec == NULL) { @@ -198,18 +199,7 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void * ext1, void * in1) return; } - sec->vma = 0; - sec->lma = 0; - sec->size = 0; - sec->filepos = 0; - sec->rel_filepos = 0; - sec->reloc_count = 0; - sec->line_filepos = 0; - sec->lineno_count = 0; - sec->userdata = NULL; - sec->next = NULL; sec->alignment_power = 2; - sec->target_index = unused_section_number; in->n_scnum = unused_section_number; |