[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 239/437: Avoid possible problem if built with gcc 4.8 or
From: |
Andy Wingo |
Subject: |
[Guile-commits] 239/437: Avoid possible problem if built with gcc 4.8 or newer. |
Date: |
Mon, 2 Jul 2018 05:14:28 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit ba182b139aa53fa70dd44fea9f74f777f3c683f7
Author: pcpa <address@hidden>
Date: Thu Aug 29 12:59:40 2013 -0300
Avoid possible problem if built with gcc 4.8 or newer.
The problem happens due to undefined behavior in post increment when
accessing data through an union and the data being modified in the
expression.
---
lib/jit_ia64.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/jit_ia64.c b/lib/jit_ia64.c
index 418d4e4..b123bdf 100644
--- a/lib/jit_ia64.c
+++ b/lib/jit_ia64.c
@@ -763,7 +763,8 @@ _emit_code(jit_state_t *_jit)
undo.prolog_offset = 0;
/* code may start with a jump so add an initial function descriptor */
- il(_jit->pc.w + 16); /* addr */
+ word = _jit->pc.w + 16;
+ il(word); /* addr */
il(0); /* gp */
#define case_rr(name, type) \
case jit_code_##name##r##type: \
@@ -1264,7 +1265,8 @@ _emit_code(jit_state_t *_jit)
}
_jitc->prolog.ptr[_jitc->prolog.offset++] = _jit->pc.w;
/* function descriptor */
- il(_jit->pc.w + 16); /* addr */
+ word = _jit->pc.w + 16;
+ il(word); /* addr */
il(0); /* gp */
}
prolog(node);
- [Guile-commits] 331/437: mips: Do not make t9 available as a generic register, (continued)
- [Guile-commits] 331/437: mips: Do not make t9 available as a generic register, Andy Wingo, 2018/07/02
- [Guile-commits] 287/437: ARM: Do not leave early init_jit if /proc is not mounted., Andy Wingo, 2018/07/02
- [Guile-commits] 405/437: Add a second pass to compute live register ranges, Andy Wingo, 2018/07/02
- [Guile-commits] 300/437: Add consistency check on temporaries during a jump, Andy Wingo, 2018/07/02
- [Guile-commits] 276/437: Rewrite jit_regset_scan1 for easier optimization., Andy Wingo, 2018/07/02
- [Guile-commits] 268/437: Sync after regenerating version.texi., Andy Wingo, 2018/07/02
- [Guile-commits] 277/437: x86_64: Correct wrong inline assembly in jit_get_cpu, Andy Wingo, 2018/07/02
- [Guile-commits] 360/437: Correct wrong check in simplify_stxi., Andy Wingo, 2018/07/02
- [Guile-commits] 389/437: alpha: Save correct offset if loading a vararg double., Andy Wingo, 2018/07/02
- [Guile-commits] 380/437: ppc: Add initial jit_va_ calls to ppc, Andy Wingo, 2018/07/02
- [Guile-commits] 239/437: Avoid possible problem if built with gcc 4.8 or newer.,
Andy Wingo <=
- [Guile-commits] 347/437: S390: Add support for 32 bit., Andy Wingo, 2018/07/02
- [Guile-commits] 428/437: Further lightning integration work, Andy Wingo, 2018/07/02
- [Guile-commits] 420/437: Strip "get-jit-size" feature from lightning., Andy Wingo, 2018/07/02
- [Guile-commits] 434/437: Remove unused AM_CONDITIONAL statements from lightning configure, Andy Wingo, 2018/07/02
- [Guile-commits] 390/437: Correct make check for systems without gcc., Andy Wingo, 2018/07/02
- [Guile-commits] 388/437: sparc: Add initial jit_va_ calls to sparc, Andy Wingo, 2018/07/02
- [Guile-commits] 319/437: Properly handle jit_tramp and function descriptors, Andy Wingo, 2018/07/02
- [Guile-commits] 414/437: Always set t12 to address of called function, Andy Wingo, 2018/07/02
- [Guile-commits] 289/437: Remove the global but not advertised jit_progname variable, Andy Wingo, 2018/07/02
- [Guile-commits] 334/437: ARM: Correct several inconsistencies with ldrd and strd, Andy Wingo, 2018/07/02