Skip to content

Commit 5e0c071

Browse files
committed
fix arm64 shorten-64-to-32
1 parent 00715cb commit 5e0c071

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/mono/mono/arch/arm64/arm64-codegen.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ arm_is_bl_disp (void *code, void *target)
170170
static G_GNUC_UNUSED inline unsigned int
171171
arm_get_disp (void *p, void *target)
172172
{
173-
unsigned int disp = ((char*)target - (char*)p) / 4;
173+
unsigned int disp = (unsigned int) ((char*)target - (char*)p) / 4;
174174

175175
if (target)
176176
g_assert (arm_is_bl_disp (p, target));
@@ -188,15 +188,15 @@ arm_get_disp (void *p, void *target)
188188
static G_GNUC_UNUSED inline gboolean
189189
arm_is_disp19 (void *code, void *target)
190190
{
191-
gint64 disp = ((char*)(target) - (char*)(code)) / 4;
191+
gint64 disp = (unsigned int) (((char*)(target) - (char*)(code)) / 4);
192192

193193
return (disp > -(1 << 18)) && (disp < (1 << 18));
194194
}
195195

196196
static G_GNUC_UNUSED inline unsigned int
197197
arm_get_disp19 (void *p, void *target)
198198
{
199-
unsigned int disp = ((char*)target - (char*)p) / 4;
199+
unsigned int disp = (unsigned int) (((char*)target - (char*)p) / 4);
200200

201201
if (target)
202202
g_assert (arm_is_disp19 (p, target));
@@ -224,7 +224,7 @@ arm_get_disp19 (void *p, void *target)
224224
static G_GNUC_UNUSED inline unsigned int
225225
arm_get_disp15 (void *p, void *target)
226226
{
227-
unsigned int disp = ((char*)target - (char*)p) / 4;
227+
unsigned int disp = (unsigned int) (((char*)target - (char*)p) / 4);
228228
return (disp & 0x7fff);
229229
}
230230

0 commit comments

Comments
 (0)