This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Nios II build_id fix


On 04/04/2014 07:31 PM, Alan Modra wrote:
On Fri, Apr 04, 2014 at 10:52:22AM -0700, Cesar Philippidis wrote:
@@ -2016,6 +2016,10 @@ nios2_elf32_build_stubs (struct bfd_link
      {
        bfd_size_type size;

+      /* Ignore non-stub sections.  */
+      if (!strstr (stub_sec->name, STUB_SUFFIX))
+	continue;

Um, how do you manage to get non-stub sections in the stub bfd?  Hmm,
via dynobj being set to the stub bfd, I expect.  If so, you could
probably test (stub_sec->flags & SEC_LINKER_CREATED) == 0 instead.

I had the same question when looking at this code. I think this also suffers from the same bug (PR 13049) mentioned in the comment on STUB_SUFFIX in elf32-arm.c.

Hmmmm. I see that stub sections are being created without SEC_LINKER_CREATED (ld/emultempl/nios2elf.em), while dynamic sections created in dynobj do have that flag by default (from ELF_DYNAMIC_SEC_FLAGS). Other sections that end up in dynobj maybe do, maybe don't -- it doesn't seem like a reliable way to distinguish stub sections from anything else, at least.

Maybe we could define a new section flag for actual stub sections? That's a target-independent change (bfd/section.c) and I couldn't approve it. Alan, WDYT?

Otherwise, I suppose we're stuck with the same band-aid in the ARM backend....

-Sandra


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]