• David S. Miller's avatar
    sparc: Fix VDSO build with older binutils. · caf539cd
    David S. Miller authored
    Older versions of bintutils do not allow symbol math across different
    segments on sparc:
    
    ====================
    Assembler messages:
    99: Error: operation combines symbols in different segments
    ====================
    
    This is controlled by whether or not DIFF_EXPR_OK is defined in
    gas/config/tc-*.h and for sparc this was not the case until mid-2017.
    
    So we have to patch between %stick and %tick another way.
    
    Do what powerpc does and emit two versions of the relevant functions,
    one using %tick and one using %stick, and patch the symbols in the
    dynamic symbol table.
    
    Fixes: 2f6c9bf3 ("sparc: Improve VDSO instruction patching.")
    Reported-by: default avatarMeelis Roos <mroos@linux.ee>
    Tested-by: default avatarMeelis Roos <mroos@linux.ee>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    caf539cd
vdso2c.h 4.04 KB