From 31f7f175720b0756bbf022a977a1e3a687bd96da Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 21 Jul 2010 15:59:27 +0200 Subject: [PATCH] rhbz#616040 loc2c deref on 32bit address fails. * runtime/loc2c-runtime.h (deref): For __x86_64__ case cast address to (unsigned long) everywhere in case we got a 32 bit address of a 32-on-64 but process. --- runtime/loc2c-runtime.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/runtime/loc2c-runtime.h b/runtime/loc2c-runtime.h index 90c392def..eeb7cdb76 100644 --- a/runtime/loc2c-runtime.h +++ b/runtime/loc2c-runtime.h @@ -517,10 +517,10 @@ extern void __store_deref_bad(void); else \ switch (size) \ { \ - case 1: __get_user_asm(_b,addr,_bad,"b","b","=q",1); _v = _b; break; \ - case 2: __get_user_asm(_w,addr,_bad,"w","w","=r",1); _v = _w; break; \ - case 4: __get_user_asm(_l,addr,_bad,"l","","=r",1); _v = _l; break; \ - case 8: __get_user_asm(_q,addr,_bad,"q","","=r",1); _v = _q; break; \ + case 1: __get_user_asm(_b,(unsigned long)addr,_bad,"b","b","=q",1); _v = _b; break; \ + case 2: __get_user_asm(_w,(unsigned long)addr,_bad,"w","w","=r",1); _v = _w; break; \ + case 4: __get_user_asm(_l,(unsigned long)addr,_bad,"l","","=r",1); _v = _l; break; \ + case 8: __get_user_asm(_q,(unsigned long)addr,_bad,"q","","=r",1); _v = _q; break; \ default: _v = __get_user_bad(); \ } \ if (_bad) \ -- 2.43.5