diff --git a/drivers/filesystems/btrfs/crc32c-amd64.S b/drivers/filesystems/btrfs/crc32c-amd64.S index 3a6c910a32e..adfd988384f 100644 --- a/drivers/filesystems/btrfs/crc32c-amd64.S +++ b/drivers/filesystems/btrfs/crc32c-amd64.S @@ -17,15 +17,15 @@ #include -EXTERN _crctable:QWORD +EXTERN crctable:QWORD .code64 /* uint32_t __stdcall calc_crc32c_sw(uint32_t seed, uint8_t* msg, uint32_t msglen); */ -PUBLIC _calc_crc32c_sw@12 -_calc_crc32c_sw@12: +PUBLIC calc_crc32c_sw +calc_crc32c_sw: /* rax = crc / seed * rdx = buf @@ -45,7 +45,8 @@ mov r10b, byte ptr [rdx] xor al, r10b and rax, 255 shl rax, 2 -mov rax, dword ptr [_crctable + rax] +mov r10, offset crctable +mov eax, dword ptr [r10 + rax] xor rax, rcx inc rdx @@ -60,8 +61,8 @@ ret /* uint32_t __stdcall calc_crc32c_hw(uint32_t seed, uint8_t* msg, uint32_t msglen); */ -PUBLIC _calc_crc32c_hw@12: -_calc_crc32c_hw@12: +PUBLIC calc_crc32c_hw +calc_crc32c_hw: /* rax = crc / seed * rdx = buf