[jamming] FT Jam 2.5.3 second release candidate (fix GCC 4.2 crashes)

Ingo Weinhold bonefish at cs.tu-berlin.de
Tue Jun 19 05:53:43 PDT 2007


On 2007-06-19 at 12:26:11 [+0200], David Turner <david at freetype.org> wrote:
> 
> a stripped version of the diff between rc1 and rc2 is attached, containing 
> only the changes
> related to the aliasing issues. I have no idea if this patch applies to 
> classic Jam though,
> let me know if you try this.
> 
> the problem was in the implementation of Jam's hash tables. A single 
> function called
> "hashitem" that takes a void** parameter was the culprit. the parameter was 
> typically
> the address of a "key" structure, but casting a dereferenced void** is no 
> longer kosher
> with GCC 4.2 due to its more aggressive alisaing optimizations.
> 
> I replaced the single hashitem() function by two distinct ones (hashget() 
> and hashput())
> who avoid the problem completely by using a different way to pass key 
> parameters. this
> required changing all clients of the hash table interface. Fortunately, 
> there aren't that
> many in the code.
> 
> Hope this helps,

Sure, thanks a lot!

CU, Ingo


More information about the jamming mailing list