#10898 NORM Not Tri: prelink has non-deterministic output

Zarro Boogs per Child bugtracker at laptop.org
Fri May 20 05:32:12 EDT 2011


#10898: prelink has non-deterministic output
------------------------------------+---------------------------------------
           Reporter:  dsd           |       Owner:  dsd          
               Type:  defect        |      Status:  new          
           Priority:  normal        |   Milestone:  Not Triaged  
          Component:  build-system  |     Version:  not specified
         Resolution:                |    Keywords:               
        Next_action:  never set     |    Verified:  0            
Deployment_affected:                |   Blockedby:               
           Blocking:                |  
------------------------------------+---------------------------------------

Comment(by dsd):

 As a 2nd workaround approach, I wrote a program that uses libelf to tweak
 the timestamp value that prelink has written into a library, to be run as
 a postprocessing tool. Attached as prelink_timestamp_remover.c.

 This seemed to work on my test case of libxml2, but when I moved to
 running it on all files that were prelinked in the build process, bad
 things happened. I couldn't even chroot into the build environment
 afterwards due to segfault.

 I investigated further and found that my program was breaking libraries
 such as libc. I investigated further and produced a simplistic testcase
 (libelf_library_eater) which shows that my trivial libelf usage breaks
 libraries. Not sure what I'm doing wrong. prelink itself also uses libelf
 for its work.

 {{{
 $ gcc libelf_library_eater.c -lelf -o eater
 $ cp /lib/libc-2.13.so .
 $ ./libc-2.13.so
 GNU C Library stable release version 2.13, by Roland McGrath et al.
 $ ldd libc-2.13.so
         /lib/ld-linux.so.2 (0x0030d000)
         linux-gate.so.1 =>  (0x00909000)
 $ ./eater libc-2.13.so
 $ ./libc-2.13.so
 Segmentation fault
 $ ldd libc-2.13.so
         statically linked
 }}}

-- 
Ticket URL: <http://dev.laptop.org/ticket/10898#comment:2>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list