mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 04:49:54 +08:00
loongarch64 build failure on 32-bit host
gas/config/tc-loongarch.c: In function ‘loongarch_args_parser_can_match_arg_helper’: gas/config/tc-loongarch.c:661:13: error: cast from pointer to integer of different size [-Werror=pointer -to-int-cast] 661 | imm = (offsetT) str_hash_find (r_htab, arg); | ^ Cast it to the correct size int, relying on normal integer promotions if offsetT is larger than a pointer. * config/tc-loongarch.c (loongarch_args_parser_can_match_arg_helper): Cast return from str_hash_find to intptr_t, not offsetT.
This commit is contained in:
@ -658,12 +658,12 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
|
||||
}
|
||||
break;
|
||||
case 'r':
|
||||
imm = (offsetT) str_hash_find (r_htab, arg);
|
||||
imm = (intptr_t) str_hash_find (r_htab, arg);
|
||||
ip->match_now = 0 < imm;
|
||||
ret = imm - 1;
|
||||
break;
|
||||
case 'f':
|
||||
imm = (offsetT) str_hash_find (f_htab, arg);
|
||||
imm = (intptr_t) str_hash_find (f_htab, arg);
|
||||
ip->match_now = 0 < imm;
|
||||
ret = imm - 1;
|
||||
break;
|
||||
@ -671,21 +671,21 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
|
||||
switch (esc_ch2)
|
||||
{
|
||||
case 'r':
|
||||
imm = (offsetT) str_hash_find (cr_htab, arg);
|
||||
imm = (intptr_t) str_hash_find (cr_htab, arg);
|
||||
break;
|
||||
default:
|
||||
imm = (offsetT) str_hash_find (c_htab, arg);
|
||||
imm = (intptr_t) str_hash_find (c_htab, arg);
|
||||
}
|
||||
ip->match_now = 0 < imm;
|
||||
ret = imm - 1;
|
||||
break;
|
||||
case 'v':
|
||||
imm = (offsetT) str_hash_find (v_htab, arg);
|
||||
imm = (intptr_t) str_hash_find (v_htab, arg);
|
||||
ip->match_now = 0 < imm;
|
||||
ret = imm - 1;
|
||||
break;
|
||||
case 'x':
|
||||
imm = (offsetT) str_hash_find (x_htab, arg);
|
||||
imm = (intptr_t) str_hash_find (x_htab, arg);
|
||||
ip->match_now = 0 < imm;
|
||||
ret = imm - 1;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user