• O
    riscv: Less inefficient gcc tishift helpers (and export their symbols) · fc585d4a
    Olof Johansson 提交于
    The existing __lshrti3 was really inefficient, and the other two helpers
    are also needed to compile some modules.
    
    Add the missing versions, and export all of the symbols like arm64
    already does.
    
    This code is based on the assembly generated by libgcc builds.
    
    This fixes a build break triggered by ubsan:
    
    riscv64-unknown-linux-gnu-ld: lib/ubsan.o: in function `.L2':
    ubsan.c:(.text.unlikely+0x38): undefined reference to `__ashlti3'
    riscv64-unknown-linux-gnu-ld: ubsan.c:(.text.unlikely+0x42): undefined reference to `__ashrti3'
    Signed-off-by: NOlof Johansson <olof@lixom.net>
    [paul.walmsley@sifive.com: use SYM_FUNC_{START,END} instead of
     ENTRY/ENDPROC; note libgcc origin]
    Signed-off-by: NPaul Walmsley <paul.walmsley@sifive.com>
    fc585d4a
tishift.S 1.0 KB