da4fb573a7
were no longer in use. * A patch for compiling the ATerm library with GCC 4.3. Without it, the code for resizing ATerm tables gets stuck in an infinite loop (http://bugzilla.sen.cwi.nl:8080/show_bug.cgi?id=841). The problem is in this bit of code in hash.c, which tries to dynamically figure out the maximum signed integer: long try_long_max; long long_max; long delta; try_long_max = 1; do { long_max = try_long_max; try_long_max = long_max * 2; } while (try_long_max > 0); At -O2, GCC 4.3 determines that 1 * 2 * 2 * ... can never be <= 0, and so it optimises this into a 1-instruction infinite loop: 0x0805a782 <keyPut+1282>: jmp 0x805a782 <keyPut+1282> Quite beautiful really. ;-) The fix is to use the LONG_MAX macro instead. svn path=/nixpkgs/branches/stdenv-updates/; revision=13888 |
||
---|---|---|
.. | ||
2.4.2-fixes.nix | ||
2.5.nix | ||
2.8.nix | ||
max-long.patch |