On 3/25/13 12:02 PM, Phil Blundell wrote:
On Mon, 2013-03-25 at 12:19 -0500, Mark Hatle wrote:
+Sections 23 and 24 (.plt and .bss) which are NOBITS have a loaded data address
+of 0, but a size != 0.

That doesn't seem like totally unreasonable behaviour for a NOBITS
section.  What were you expecting libelf to do in that case?

++      if (data != NULL && size != 0)
++        hashFunctionContextUpdateMC (&ctx, &chunk);

I suppose one could argue that allocating a chunk of zero-filled memory
of the right size and then hashing that would be a slightly better fix.
Whether it matters in practice or not would depend on what exactly is
going into this hash and what it's being used for.

It appears in the past it either didn't load the section at all, or the size was set to 0.

It's a combination of the data pointer set to NULL and the size != 0 that is causing the segfault. This doesn't appear to happen outside of PPC and MIPS.

I'm going to look into identifying if the section is a NOBITS and skipping the whole operation if it is.

--Mark


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to