• Tiejun Chen's avatar
    kgdb/kgdbts: support ppc64 · e78acf67
    Tiejun Chen authored
    We can't look up the address of the entry point of the function simply
    via that function symbol for all architectures.
    
    For PPC64 ABI, actually there is a function descriptors structure.
    
    A function descriptor is a three doubleword data structure that contains
    the following values:
    	* The first doubleword contains the address of the entry point of
    		the function.
    	* The second doubleword contains the TOC base address for
    		the function.
    	* The third doubleword contains the environment pointer for
    		languages such as Pascal and PL/1.
    
    So we should call a wapperred dereference_function_descriptor() to get
    the address of the entry point of the function.
    
    Note this is also safe for other architecture after refer to
    "include/asm-generic/sections.h" since:
    
    dereference_function_descriptor(p) always is (p) if without arched definition.
    Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
    Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
    e78acf67
kgdbts.c 30.6 KB