This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils 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]

prelink and GNU_HASH with elfutils libelf


I ran into a problem today working with a recent glibc on a PowerPC system.  It 
had GNU_HASH enabled.  When I attempted to prelink it, I got a floating point 
error.. (actually it was a divide by zero).

The prelinker found a GNU_HASH section, and attempted to call elf32_xlatetof on 
that.  The fsize table was missing the an entry for the ELF_T_GNUHASH.  The 
start of the xlatetof does a count % size != 0 -- error to detect an alignment 
problem.  This triggered a divide by zero.

Attached is the patch I came up with to address this problem.  This is against 
0.148.  Let me know if there are any questions, I'm not subscribed to the list.

In the process I noticed that both ELF_T_LIB and ELF_T_GNUHASH were missing, so 
I attempted to add them.  I'm not completely sure that I have the right sizes, 
so someone more knowledgeable in elf will need to verify the sizes are correct.

--Mark

Attachment: elfutils-fsize.patch
Description: Text document


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