• Olof Johansson's avatar
    riscv: Less inefficient gcc tishift helpers (and export their symbols) · fc585d4a
    Olof Johansson authored
    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: default avatarOlof Johansson <olof@lixom.net>
    [paul.walmsley@sifive.com: use SYM_FUNC_{START,END} instead of
     ENTRY/ENDPROC; note libgcc origin]
    Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
    fc585d4a
tishift.S 1.01 KB