[RTEMS Project] #3741: libdl loading ELF objects from libbsd NFS file system ends in a deadlock

RTEMS trac trac at rtems.org
Fri May 3 00:12:02 UTC 2019


#3741: libdl loading ELF objects from libbsd NFS file system ends in a deadlock
-----------------------------------+--------------------------
 Reporter:  dufault                |       Owner:  Chris Johns
     Type:  defect                 |      Status:  accepted
 Priority:  normal                 |   Milestone:  5.1
Component:  lib/dl                 |     Version:  5
 Severity:  normal                 |  Resolution:
 Keywords:  run-time-loader libdl  |  Blocked By:
 Blocking:                         |
-----------------------------------+--------------------------

Comment (by Chris Johns):

 I have worked on the way the relocs are parsed and now have `dl09` on the
 `psim` and `` BSPs reporting trampoline usage of:
 {{{
 RTL List:
  /dl09-o1.o
   trampolines:
       slots     : 1
       size      : 16
       slot size : 16
       used      : 1
       relocs    : 1
       unresolved: 0
       yield     : 100%
  /dl09-o2.o
   trampolines:
       slots     : 7
       size      : 112
       slot size : 16
       used      : 7
       relocs    : 7
       unresolved: 0
       yield     : 100%
  /dl09-o5.o
   trampolines:
       slots     : 6
       size      : 96
       slot size : 16
       used      : 6
       relocs    : 6
       unresolved: 0
       yield     : 100%
  /dl09-o3.o
   trampolines:
       slots     : 13
       size      : 208
       slot size : 16
       used      : 13
       relocs    : 13
       unresolved: 0
       yield     : 100%
  /dl09-o4.o
   trampolines:
       slots     : 8
       size      : 128
       slot size : 16
       used      : 8
       relocs    : 8
       unresolved: 0
       yield     : 100%
 }}}
 The `dl08` results still have a 0% yield but the number of slots is lower:
 {{{
 RTL List:
  /dl08-o1.o
   trampolines:
       slots     : 1
       size      : 16
       slot size : 16
       used      : 0
       relocs    : 1
       unresolved: 0
       yield     : 0%
  /libdl08_1.a:dl08-o2.o
   trampolines:
       slots     : 1
       size      : 16
       slot size : 16
       used      : 0
       relocs    : 1
       unresolved: 0
       yield     : 0%
  /libdl08_2.a:dl08-o3.o
   trampolines:
       slots     : 1
       size      : 16
       slot size : 16
       used      : 0
       relocs    : 1
       unresolved: 0
       yield     : 0%
  /libdl08_1.a:dl08-o4.o
   trampolines:
       slots     : 1
       size      : 16
       slot size : 16
       used      : 0
       relocs    : 1
       unresolved: 0
       yield     : 0%
  /libdl08_2.a:dl08-o6-123456789-123456789.o
   trampolines:
       slots     : 0
       size      : 0
       slot size : 16
       used      : 0
       relocs    : 0
       unresolved: 0
       yield     : 0%
  /libdl08_2.a:dl08-o5.o
   trampolines:
       slots     : 1
       size      : 16
       slot size : 16
       used      : 0
       relocs    : 1
       unresolved: 0
       yield     : 0%
 }}}

--
Ticket URL: <http://devel.rtems.org/ticket/3741#comment:5>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list