• Chris Phlipot's avatar
    perf symbols: Add dso__insert_symbol function · ae93a6c7
    Chris Phlipot authored
    The current method for inserting symbols is to use the symbols__insert()
    function. However symbols__insert() does not update the dso symbol
    cache.  This causes problems in the following scenario:
    
    1. symbol not found at addr using dso__find_symbol
    
    2. symbol inserted at addr using the existing symbols__insert function
    
    3. symbol still not found at addr using dso__find_symbol() because cache isn't
       updated. This is undesired behavior.
    
    The undesired behavior in (3) is addressed by creating a new function,
    dso__insert_symbol() to both insert the symbol and update the symbol
    cache if necessary.
    
    If dso__insert_symbol() is used in (2) instead of symbols__insert(),
    then the undesired behavior in (3) is avoided.
    Signed-off-by: default avatarChris Phlipot <cphlipot0@gmail.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1462937209-6032-2-git-send-email-cphlipot0@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    ae93a6c7
symbol.c 45.1 KB